libcrypto.so (openssl) に依存する動的ライブラリ libtest.so がありますが、これらはすべて libgcc_s.so に依存しています。
Platform : Solaris sparc 5.10
Compiler : gcc 4.5.1
OpenSSL : 1.0.1e version
この libtest.so は、私のデータベース (Oracle 11g) の外部プロシージャ (extproc) のターゲット ライブラリです。これらすべてのライブラリを 1 つのフォルダーにコピーしました。同じことが、listener.ora の LD_LIBRARY_PATH (および LD_LIBRARY_PATH_64) と oracle ユーザーの .profile に記載されています。パスとライブラリには、完全なパブリック アクセス許可が与えられます。それでも oracle (ld) は、libcrypto.so が見つからず、「そのようなファイルやディレクトリはありません」と報告しています。
実稼働セットアップで実験できる範囲 (および毎回 DBA にリスナーを再起動させること) には一定の制限があるため、コード (libtest.so のコード ファイル) を openssl に移動し、結合された libcrypto.so を作成し、名前を変更しました。 libtest.soとして。しかし、現在、「ld」は libgcc_s.so が利用できないと報告しています。-static-libgcc フラグを使用して libgcc_s.so を静的にリンクするオプションを見つけました。ただし、これは機能しないようです。他に試すことができるものはありますか?
これは、目前の問題に対してやり過ぎのように思えるかもしれません。しかし、多くの本番システムでこの問題に直面しています。ライブラリは私たちのものであるため、それらを Oracle/lib または任意のシステム lib ディレクトリにコピーしたり、システム レベルでプロパティを変更したりすることはできません。最善の解決策は、ld の飢えを満たす単一の完全に含まれたライブラリを持つことです。