NetWorker:nsrexecd:共有ライブラリのロード中にエラーが発生しました:libosysrtxml.so
Summary: NetWorker:nsrexecd:共有ライブラリのロード中にエラーが発生しました:libosysrtxml.so:共有オブジェクトファイルを開くことができません: No such file or directory.
Symptoms
nsrexecdを開始できません。nsrexecdの開始が次のエラーで失敗します。
# /usr/sbin/nsrexecd
/usr/sbin/nsrexecd: error while loading shared libraries: libosysrtxml.so: cannot open shared object file: No such file or directory
ただし、Linuxファイル システムには libosysrtxml.so があります。
# find / -name libosysrtxml.so
/usr/lib/nsr/lib64/cst/libosysrtxml.so
/opt/lgtonmc/lib64/cst/libosysrtxml.so
/mnt/alt/x/usr/lib/nsr/libosysrtxml.so
ldd(動的依存関係のリスト)を使用してnsrexecdが必要とするライブラリを一覧表示すると、見つからないライブラリが表示されます。
# ldd /usr/sbin/nsrexecd
linux-vdso.so.1 => (0x00007fff1a5a5000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ffa9831b000)
libosysrtxml.so => not found
libCSP-LDAP.so => not found
libCSP-LDAPClient.so => not found
libCSP-lb.so => not found
libCSP-C.so => not found
libCSP-XML.so => not found
libCSP-RT.so => not found
libCSP.so => not found
libCSPI.so => not found
libCST-Admin.so => not found
librt.so.1 => /lib64/librt.so.1 (0x00007ffa9810e000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ffa97ef1000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007ffa97bea000)
libm.so.6 => /lib64/libm.so.6 (0x00007ffa97971000)
libc.so.6 => /lib64/libc.so.6 (0x00007ffa975fa000)
/lib64/ld-linux-x86-64.so.2 (0x00007ffa9852b000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007ffa973e3000)
Cause
Resolution
1)起動スクリプト/etc/init.d/networker.
を使用してNetWorkerプロセスを開始します。起動スクリプトには、NetWorkerデーモンを実行するために必要なライブラリーの定義と実行可能ファイルへのパスが含まれています。
# networkerrc は、LD_LIBRARY_PATH required などの環境変数を定義します
# NetWorker daemons.
を実行するためNETWORKERRC=/opt/nsr/admin/networkerrc
networkerrcを見ています --
# pwd
/opt/nsr/admin/networkerrc
# NetWorkerデーモンを実行するために必要な環境変数を定義します。
#エンドユーザーは、ユーザー環境変数を追加するためにこのファイルを変更しないでください。
#このファイルは、パッケージを削除すると自動的に削除されます。
#
# CSTの動的ライブラリーを検索するには、CSTパスが必要です(内部bsafe暗号ライブラリーもロードします)。
#これはLD_LIBRARY_PATHの最初のエントリーである必要があります。そうでない場合は、ライブラリーのロードに失敗します
#CSTには独自のbsafeライブラリが付属しています。CST BSAFEライブラリーのバージョンは、製品の他のコンポーネントで使用されるBSAFEライブラリーの
#バージョンと同じである場合とそうでない場合があります。
## ここでライブラリパスが定義されます ###
linux86w)
NSR_LIBS=/usr/lib/nsr/lib64/cst:/usr/lib/nsr/lib64
;
2)起動スクリプトを使用しない場合は、nsrexecdを起動する前に、LD_LIBRARY_PATHを使用してライブラリの場所をエクスポートする必要があります。
# export LD_LIBRARY_PATH=/usr/lib/nsr/lib64/cst:/usr/lib/nsr/lib64
2.1) lddを実行します。すべての依存ライブラリーが検索されます。
# ldd /usr/sbin/nsrexecd
linux-vdso.so.1 => (0x00007ffd2fc72000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f41e8660000)
libosysrtxml.so => /usr/lib/nsr/lib64/cst/libosysrtxml.so (0x00007f41e84ab000)
libCSP-LDAP.so => /usr/lib/nsr/lib64/cst/libCSP-LDAP.so (0x00007f41e832d000)
libCSP-LDAPClient.so => /usr/lib/nsr/lib64/cst/libCSP-LDAPClient.so (0x00007f41e8100000)
libCSP-lb.so => /usr/lib/nsr/lib64/cst/libCSP-lb.so (0x00007f41e7fd9000)
libCSP-C.so => /usr/lib/nsr/lib64/cst/libCSP-C.so (0x00007f41e7e26000)
libCSP-XML.so => /usr/lib/nsr/lib64/cst/libCSP-XML.so (0x00007f41e7bfe000)
libCSP-RT.so => /usr/lib/nsr/lib64/cst/libCSP-RT.so (0x00007f41e7a8f000)
libCSP.so => /usr/lib/nsr/lib64/cst/libCSP.so (0x00007f41e78fe000)
libCSPI.so => /usr/lib/nsr/lib64/cst/libCSPI.so (0x00007f41e779c000)
libCST-Admin.so => /usr/lib/nsr/lib64/cst/libCST-Admin.so (0x00007f41e765c000)
librt.so.1 => /lib64/librt.so.1 (0x00007f41e7453000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f41e7236000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f41e6f2d000)
libm.so.6 => /lib64/libm.so.6 (0x00007f41e6cb4000)
libc.so.6 => /lib64/libc.so.6 (0x00007f41e6938000)
/lib64/ld-linux-x86-64.so.2 (0x00007f41e889a000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f41e6720000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f41e6509000)
2.2) nsrexecdを起動します。
# /usr/sbin/nsrexecd
# ps -fe | grep nsr
root 46630 1 0 23:43 ? 00:00:00 /usr/sbin/nsrexecd
root 46640 45042 0 23:43 pts/0 00:00:00 grep nsr