Как мне заставить Ubuntu искать где-нибудь библиотечные файлы?

Я установил OpenMPI и пакет CVODE на мою систему Ubuntu, которая работает на виртуальной машине (используя VirtualBox). Была одна проблема, которая была решена путем копирования некоторых библиотечных файлов в /usr/lib. Другими словами, когда я попробовал примеры программ, поставляемых с CVODE, произошло следующее:

$ mpirun ./cvAdvDiff_bnd 
cvAdvDiff_bnd: error while loading shared libraries: libsundials_cvode.so.1: cannot open shared object file: No such file or directory

$ sudo cp /home/jeff/sundials/instdir/lib/libsundials_cvode.so.1 /usr/lib/libsundials_cvode.so.1
$ mpirun cvAdvDiff_bnd
cvAdvDiff_bnd: error while loading shared libraries: libsundials_nvecserial.so.0: cannot open shared object file: No such file or directory

$ sudo cp /home/jeff/sundials/instdir/lib/libsundials_nvecserial.so.0 /usr/lib/libsundials_nvecserial.so.0
$ mpirun cvAdvDiff_bnd

2-D Advection-Diffusion Equation
Mesh dimensions = 10 X 5
Total system size = 50
Tolerance parameters: reltol = 0   abstol = 1e-05

At t = 0      max.norm(u) =  8.954716e+01 
At t = 0.10   max.norm(u) =  4.132889e+00   nst =   85
At t = 0.20   max.norm(u) =  1.039294e+00   nst =  103
At t = 0.30   max.norm(u) =  2.979829e-01   nst =  113
At t = 0.40   max.norm(u) =  8.765774e-02   nst =  120
At t = 0.50   max.norm(u) =  2.625637e-02   nst =  126
At t = 0.60   max.norm(u) =  7.830425e-03   nst =  130
At t = 0.70   max.norm(u) =  2.329387e-03   nst =  134
At t = 0.80   max.norm(u) =  6.953434e-04   nst =  137
At t = 0.90   max.norm(u) =  2.115983e-04   nst =  140
At t = 1.00   max.norm(u) =  6.556853e-05   nst =  142

Final Statistics:
nst = 142    nfe  = 174    nsetups = 23     nfeLS = 0      nje = 3
nni = 170    ncfn = 0      netf = 3

Проблемы с поиском этих двух файлов были решены путем копирования их в /usr/lib. Однако в ~/sundials/instdir/lib/ имеются сотни файлов.

Как я могу заставить Ubuntu искать эти файлы в их текущем местоположении, вместо того, чтобы копировать их все в /usr/lib/?

0
задан 2 November 2012 в 13:38

1 ответ

Используйте LD_LIBRARY_PATH или LD_PRELOAD переменные среды, зарегистрированные в man ld.so.

Похожие страницы:

1
ответ дан 2 November 2012 в 13:38

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

Похожие вопросы: