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
тогда это будет работать, как вы ожидаете.