2016-03-31 17 views
1

После установки SAP HANA успешно, я могу видеть sapstartsrv протеканию процесса:Почему программа может работать с динамической библиотекой, не найденной?

# ps -ef | grep sapstartsrv 
xn1adm  2143  1 0 Mar29 ?  00:00:05 /usr/sap/XN1/HDB00/exe/sapstartsrv pf=/home/hana/shared/XN1/profile/XN1_HDB00_dhe2 -D -u xn1adm 

Но после того, как с помощью ldd команды, чтобы проверить sapstartsrv динамическое связывание библиотеки:

# ldd /usr/sap/XN1/HDB00/exe/sapstartsrv 
    linux-vdso.so.1 (0x00007ffd35a30000) 
    libdl.so.2 => /lib64/libdl.so.2 (0x00007fd1fe6b3000) 
    librt.so.1 => /lib64/librt.so.1 (0x00007fd1fe4ab000) 
    libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007fd1fe270000) 
    libpam.so.0 => /lib64/libpam.so.0 (0x00007fd1fe061000) 
    libutil.so.1 => /lib64/libutil.so.1 (0x00007fd1fde5e000) 
    libuuid.so.1 => /usr/lib64/libuuid.so.1 (0x00007fd1fdc59000) 
    libsapnwrfccm.so => not found 
    libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fd1fd8d7000) 
    libm.so.6 => /lib64/libm.so.6 (0x00007fd1fd5d6000) 
    libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd1fd3bf000) 
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd1fd1a2000) 
    libc.so.6 => /lib64/libc.so.6 (0x00007fd1fcdfb000) 
    /lib64/ld-linux-x86-64.so.2 (0x00007fd1fe8b7000) 
    libaudit.so.1 => /usr/lib64/libaudit.so.1 (0x00007fd1fcbd8000) 

Я могу видеть libsapnwrfccm.so не найден. Но почему программа sapstartsrv может работать с динамической библиотекой, которая не найдена?

ответ

1

Потому что что-то запускает эту программу, указывая компоновщик на каталог, содержащий эту библиотеку. Обычно это делается для моей настройки переменной окружения LD_LIBRARY_PATH. Например:

LD_LIBRARY_PATH=/look/here/for/libs program 

Среда компоновщик будет теперь смотреть в /look/here/for/libs найти библиотеки program зависит от.