1

У меня есть библиотека mpc (и другие, но это пример), установленный в пользовательском каталоге:

user@host /my/software/prefix $ l usr/lib | grep mpc
lrwxrwxrwx  1 user group    15 Mar  5 21:08 libmpc.so -> libmpc.so.3.0.0
lrwxrwxrwx  1 user group    15 Mar  5 21:08 libmpc.so.3 -> libmpc.so.3.0.0
-rwxr-xr-x  1 user group   96K Mar  5 21:08 libmpc.so.3.0.0

Согласно этому вопросу, я могу получить местоположение библиотеки из флага компоновщика (-l<lib>), выполнив что-то вроде:

ld -lmpc --verbose
LD_LIBRARY_PATH=/my/software/prefix/usr/lib ld -lmpc --verbose 

Тем не менее, это оказывается пустым:

attempt to open /my/software/prefix/usr/x86_64-pc-linux-gnu/lib64/libmpc.so failed
attempt to open /my/software/prefix/usr/x86_64-pc-linux-gnu/lib64/libmpc.a failed
attempt to open /my/software/prefix/usr/lib/binutils/x86_64-pc-linux-gnu/2.2464/libmpc.so failed
attempt to open /my/software/prefix/usr/lib/binutils/x86_64-pc-linux-gnu/2.2464/libmpc.a failed
attempt to open /usr/local/lib64/libmpc.so failed
attempt to open /usr/local/lib64/libmpc.a failed
attempt to open /lib64/libmpc.so failed
attempt to open /lib64/libmpc.a failed
attempt to open /usr/lib64/libmpc.so failed
attempt to open /usr/lib64/libmpc.a failed

И он даже не ищет путь, предоставленный LD_LIBRARY_PATH .

Что здесь не так?

1 ответ1

0

Поместите ваш /my /software /prefix /usr /lib в /etc/ld.so.conf и запустите sudo ldconfig.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .