LD_LIBRARY_PATH: неопределенная ошибка переменной

Я пытаюсь сценарий Matlab, который зависит от MCR. У меня есть скрипт-обертка, который устанавливает переменные среды для этого каталога MCR перед выполнением реальной программы. Обертка выглядит следующим образом.

#!/bin/csh

set thisdir = `pwd`

# --- SET UP ENVIRONMENT VARIABLES ---
echo --- setting up environment variables ---
# presumed location of MATLAB Component Runtime (MCR) v7.14
# if the MCR is in a different location, edit the line below
set mcr_root = /home/foo/MATLAB_Component_Runtime
echo $mcr_root
setenv LD_LIBRARY_PATH $mcr_root/v81/runtime/glnxa64:$LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH $mcr_root/v81/sys/os/glnxa64:$LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH $mcr_root/v81/sys/java/jre/glnxa64/jre/lib/amd64/native_threads:$LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH $mcr_root/v81/sys/java/jre/glnxa64/jre/lib/amd64/server:$LD_LIBRARY_PATH
setenv LD_LIBRARY_PATH $mcr_root/v81/sys/java/jre/glnxa64/jre/lib/amd64:$LD_LIBRARY_PATH
setenv XAPPLRESDIR $mcr_root/v81/X11/app-defaults
# (these may be set permanently by copying the above lines into your login script)

теперь, когда я запускаю этот скрипт ./run_script Я получаю эту ошибку -

LD_LIBRARY_PATH: Undefined variable.

Я много гуглил и нашел некоторые вопросы, связанные, но ни один не был достаточно полезным.

Любая помощь приветствуется.

1 ответ

Решение

Это, вероятно, тот случай, когда LD_LIBRARY_PATH не существует до того, как вы запустите свой скрипт. Первая строка в вашем скрипте, которая устанавливает LD_LIBRARY_PATH пытается добавить существующий путь - но переменная не была определена.

Если вы измените строку в вашем скрипте на

setenv LD_LIBRARY_PATH $mcr_root/v81/runtime/glnxa64

тогда это будет работать, как вы ожидаете.

Другие вопросы по тегам