LD_LIBRARY и ldd: невозможно открыть общий объектный файл, хотя он существует

996
marcodena

Когда я пытаюсь включить postgis в базе данных postgresql, он говорит мне:

ERROR: could not load library "/home/nadai/compiled/postgres/lib/postgis-2.2.so": libproj.so.10: cannot open shared object file: No such file or directory 

мой LD_LIBRARY_PATH:

/home/nadai/compiled/proj/lib/:/home/nadai/compiled/spatialindex/lib/:/home/nadai/compiled/gtest/lib/:/home/nadai/compiled/sqlite/:/home/nadai/compiled/gdal/lib/:/home/nadai/compiled/geos/lib/:/home/nadai/compiled/postgres/lib/:/home/nadai/compiled/readline/lib/:/usr/local/cuda-6.5/lib64:$LD_LIBRARY_PATH 

пока у меня есть это:

ldd /home/nadai/compiled/postgres/lib/postgis-2.2.so linux-vdso.so.1 => (0x00007fff55985000) libgeos_c.so.1 => /home/nadai/compiled/geos/lib/libgeos_c.so.1 (0x00007fb375bc1000) libproj.so.10 => /home/nadai/compiled/proj/lib/libproj.so.10 (0x00007fb375960000) libxml2.so.2 => /usr/lib/x86_64-linux-gnu/libxml2.so.2 (0x00007fb3755d5000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb375210000) libgeos-3.5.0.so => /home/nadai/compiled/geos/lib/libgeos-3.5.0.so (0x00007fb374e68000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb374b64000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb37494e000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb37472f000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb374429000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb374225000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fb37400b000) liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fb373de9000) /lib64/ld-linux-x86-64.so.2 (0x00007fb376094000) 

Требуемый файл (/home/nadai/compiled/proj/lib/libproj.so.10) существует и является символической ссылкой на /home/nadai/compiled/proj/lib/libproj.so.10.0.0. Итак, я проверил проблему 32 против 64 бит, но у меня есть:

file /home/nadai/compiled/proj/lib/libproj.so.10.0.0  /home/nadai/compiled/proj/lib/libproj.so.10.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=6cf84de4cd8a6d702042dafa9cf3568aed011795, not stripped  file /home/nadai/compiled/postgres/lib/postgis-2.2.so /home/nadai/compiled/postgres/lib/postgis-2.2.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=96af5ffb6691712582874fe90b5e4b47fa3acab7, not stripped 

В чем проблема на ваш взгляд? Я схожу с ума

PS: (Postgis установлен и скомпилирован в моем домашнем каталоге в Linux.)

1
* Ваш * LD_LIBRARY_PATH - это не то, что есть у демонов, запущенных системой. Вы вручную запускаете postgressql или позволяете системе запускаться? Если последний, то он не получает тот же LD_LIBRARY_PATH. psusi 8 лет назад 0

0 ответов на вопрос

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