Я строил систему HP-UX ia64. Во время строительства, я получаю сообщение об ошибкеЗависимость библиотеки от ниоткуда
ld: Can't find dependent library "libnnz10.so"
Нигде в моем файле makefile я не связываюсь с этой библиотекой. Эта библиотека находится в каталоге /databases/oracle10.2.0_64BIT/lib. У меня есть два исходных файла ora8ibulk.cpp и ora8idplinit.cpp. Команды, выпущенные во время сборки, -
aCC -DUSE_NEW_IOSTREAMS -AA -mt -z -ext +w -Wc,-ansi_for_scope,on +W302 +W392 +We400 +W2009 +W2193 +W2261 +W4227 +W4255 -DACE_HAS_THREADS -D_POSIX_C_SOURCE=199506L -DHPUX_VERS=1100 -DACE_LACKS_PRAGMA_ONCE +DD64 +DSitanium2 +O2 +Ofltacc +DD64 +DSitanium2 -DPM_64BIT -DFD_SETSIZE=60000 -D__ACE_INLINE__ -DRW_NO_STL -DRW_NO_BOOL -DINFA_PREFIX -DUNIX -DHPUX_IPF -I. -I/export/home/builds/Debug_9.5.0/mercury/native/default/ORACLE/10.1_A/HP-UX.IPF.64/rdbms/demo -I/export/home/builds/Debug_9.5.0/mercury/native/default/ORACLE/10.1_A/HP-UX.IPF.64/rdbms/public -I/export/home/builds/Debug_9.5.0/mercury/native/default/ORACLE/10.1_A/HP-UX.IPF.64/network/public -I/export/home/builds/Debug_9.5.0/mercury/native/default/ORACLE/10.1_A/HP-UX.IPF.64/plsql/public -I/export/home/builds/Debug_9.5.0/mercury/ws/platform/dbadapters/src/pmorabulk/include -I/export/home/builds/Debug_9.5.0/mercury/ws/platform/dbadapters/include -I/export/home/builds/Debug_9.5.0/mercury/native/default/base/409/HP-UX.IPF.64-DEVEL/include -I/export/home/builds/Debug_9.5.0/mercury/native/default/cmnutils/409/HP-UX.IPF.64-DEVEL/include -I/export/home/builds/Debug_9.5.0/mercury/native/default/ICU/3.2.1_D/HP-UX.IPF.64/include -I/export/home/builds/Debug_9.5.0/mercury/native/default/ACE/5.4.7_B/HP-UX.IPF.64 -I/export/home/builds/Debug_9.5.0/mercury/native/default/STLPORT_INCLUDE/4.6.2_A/HP-UX.IPF.64 -I/export/home/builds/Debug_9.5.0/mercury/native/default/STLPORT_INCLUDE/4.6.2_A/HP-UX.IPF.64/stlport -I/opt/aCC/include/iostream \
-c /export/home/builds/Debug_9.5.0/mercury/ws/platform/dbadapters/src/pmorabulk/ora8ibulk.cpp -o ../../target/pmorabulk/tmp/HP-UX.IPF.64.r/ora8ibulk.o
aCC -DUSE_NEW_IOSTREAMS -AA -mt -z -ext +w -Wc,-ansi_for_scope,on +W302 +W392 +We400 +W2009 +W2193 +W2261 +W4227 +W4255 -DACE_HAS_THREADS -D_POSIX_C_SOURCE=199506L -DHPUX_VERS=1100 -DACE_LACKS_PRAGMA_ONCE +DD64 +DSitanium2 +O2 +Ofltacc +DD64 +DSitanium2 -DPM_64BIT -DFD_SETSIZE=60000 -D__ACE_INLINE__ -DRW_NO_STL -DRW_NO_BOOL -DINFA_PREFIX -DUNIX -DHPUX_IPF -I. -I/export/home/builds/Debug_9.5.0/mercury/native/default/ORACLE/10.1_A/HP-UX.IPF.64/rdbms/demo -I/export/home/builds/Debug_9.5.0/mercury/native/default/ORACLE/10.1_A/HP-UX.IPF.64/rdbms/public -I/export/home/builds/Debug_9.5.0/mercury/native/default/ORACLE/10.1_A/HP-UX.IPF.64/network/public -I/export/home/builds/Debug_9.5.0/mercury/native/default/ORACLE/10.1_A/HP-UX.IPF.64/plsql/public -I/export/home/builds/Debug_9.5.0/mercury/ws/platform/dbadapters/src/pmorabulk/include -I/export/home/builds/Debug_9.5.0/mercury/ws/platform/dbadapters/include -I/export/home/builds/Debug_9.5.0/mercury/native/default/base/409/HP-UX.IPF.64-DEVEL/include -I/export/home/builds/Debug_9.5.0/mercury/native/default/cmnutils/409/HP-UX.IPF.64-DEVEL/include -I/export/home/builds/Debug_9.5.0/mercury/native/default/ICU/3.2.1_D/HP-UX.IPF.64/include -I/export/home/builds/Debug_9.5.0/mercury/native/default/ACE/5.4.7_B/HP-UX.IPF.64 -I/export/home/builds/Debug_9.5.0/mercury/native/default/STLPORT_INCLUDE/4.6.2_A/HP-UX.IPF.64 -I/export/home/builds/Debug_9.5.0/mercury/native/default/STLPORT_INCLUDE/4.6.2_A/HP-UX.IPF.64/stlport -I/opt/aCC/include/iostream \
-c /export/home/builds/Debug_9.5.0/mercury/ws/platform/dbadapters/src/pmorabulk/ora8idplinit.cpp -o ../../target/pmorabulk/tmp/HP-UX.IPF.64.r/ora8idplinit.o
aCC +DD64 +DSitanium2 -b -Wl,+s -z -mt ../../target/pmorabulk/tmp/HP-UX.IPF.64.r/ora8ibulk.o ../../target/pmorabulk/tmp/HP-UX.IPF.64.r/ora8idplinit.o \
-o ../../target/bin/HP-UX.IPF.64.r/libpmorablk.sl \
-L/export/home/builds/Debug_9.5.0/mercury/native/default/ORACLE/10.1_A/HP-UX.IPF.64/lib -lclntsh \
ld: Can't find dependent library "libnnz10.so"
Откуда эта зависимость зависит от libnnz10.so? Пожалуйста, помогите, прежде чем я застрелю себя.
Вы правы, я связываюсь с libclntsh.so, и для этой библиотеки требуется libnnz.so. Но обе эти библиотеки находятся в /databases/oracle10.2.0_64BIT/lib, и этот каталог есть в моей переменной $ SHLIB_PATH. Тогда почему он не может загрузить libnnz.so? –
Вы не указываете -L/databases/oracle10.2.0_64BIT/lib компилятору. SHLIB_PATH (я бы предположил, что он похож на LD_LIBRARY_PATH на Linux, или DYLD_LIBRARY_PATH на OSX) - будет сообщать только исполняющим программам, где искать библиотеки. Ваш компилятор будет смотреть только в каталогах в своем корневом каталоге sys или что вы явно скажете, чтобы он заглянул внутрь. – synthesizerpatel