jboss と申します。お世話になります。
Solaris 上で動作させていた cgi プログラムを Linux へ移行しています。
下記の動作環境にて、ブラウザより該当プログラムを実行すると、
下記のようなエラーが発生します。
■ 動作環境
OS RedHatLinux EL4.0
Apache 1.3.37
Perl 5.8.5
DBI 1.52
DBD::Oracle 1.18
DB Oracle 8i (8.1.7)
■ Apache のエラーログ
install_driver(Oracle) failed: Can't load '/usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/Oracle/Oracle
.so' for module DBD::Oracle: libclntsh.so.8.0: cannot open shared object file: No such file or directory at /usr/lib/per
l5/5.8.5/i386-linux-thread-multi/DynaLoader.pm line 230, <DATA> line 855.
at (eval 7) line 3
Compilation failed in require at (eval 7) line 3, <DATA> line 855.
Perhaps a required shared library or dll isn't installed where expected
at /export/home/orasql.pl line 30
エラーログから解決方法を検索して、下記の方法は試したのですが解決しません。
・LD_LIBRARY_PATH の追加
・libclntsh.so.8.0 のパーミッション変更
ご存知であればご教授の程、お願い致します。
No.1ベストアンサー
- 回答日時:
(1)情報収集
ldd /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/Oracle/Oracle
.so
を実行すると、どんなメッセージが表示されますか?
(2)「LD_LIBRARY_PATHの追加」の詳細
・「LD_LIBRARY_PATHの追加」で行った作業
・LD_LIBRARY_PATHに追加した値
を教えてください。
onosuke さん。
情報を提供頂き、ありがとうございます。
お蔭様で昨日、無事に自己解決いたしました。
解決方法は、Apache起動時に環境変数をセットする為
httpd.confへ以下の記述を追加して動作を確認しました。
LoadFile /oracle/app/oracle/product/8.1.7/lib/libclntsh.so.8.0
SetEnv LD_LIBRARY_PATH /oracle/app/oracle/product/8.1.7/lib
SetEnv ORACLE_HOME /oracle/app/oracle/product/8.1.7
ちなにみ onosuke さんから頂いた確認方法を試したところ、
以下の通りになりました。
(1)情報収集
[root@ ~]# ldd /usr/lib/perl5/site_perl/5.8.5/i386-linux-thread-multi/auto/DBD/Oracle/Oracle.so
libclntsh.so.8.0 => /oracle/app/oracle/product/8.1.7/lib/libclntsh.so.8.0 (0x00296000)
libwtc8.so => /oracle/app/oracle/product/8.1.7/lib/libwtc8.so (0x00111000)
libdl.so.2 => /lib/libdl.so.2 (0x00113000)
libm.so.6 => /lib/tls/libm.so.6 (0x00117000)
libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00a32000)
libc.so.6 => /lib/tls/libc.so.6 (0x00dbf000)
/lib/ld-linux.so.2 (0x0027f000)
(2)「LD_LIBRARY_PATHの追加」の詳細
⇒.bashrcへ下記の情報を追加しています。
export ORACLE_HOME=/oracle/app/oracle/product/8.1.7
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export 他Oracle環境変数・・・
ldd コマンドは存じておりませんでしたので、大変参考になりました。
ご意見ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(SNS・コミュニケーションサービス) 爆サイやっていたら、下のような文字が出ました! これは何なのでしょうか? nginx error! 1 2023/06/09 12:27
- Windows 10 VirtualBox 7のゲストOSでの物理HDDパーティションのマウント方法 2 2023/05/04 13:01
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Ruby 教えてください 2 2023/01/04 17:50
- ソフトウェア 移行PCにDockerがインストールされていても各種開発環境のアプリはインストールが必要? 2 2023/05/21 21:53
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- PostgreSQL PostgreSQL14.6のSSL対応について 1 2023/01/05 15:42
- その他(プログラミング・Web制作) pythonのこのエラーがわかりません 3 2022/11/16 14:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python
-
Perlでモジュールを作りましたが、
-
use lib qw(変数名);は無理?
-
@INCにrequireされたファイルが...
-
DBIをCPANからインストール時に...
-
Cからシェルを起動し返り値をハ...
-
例外処理のフローチャートの記...
-
VBAで別モジュールへの変数の受...
-
VBAProjectのモジュ...
-
標準モジュールを削除したい。(...
-
【vba】フォームに書いてあ...
-
Access VBA標準モジュールにつ...
-
「デバイスは PRN を初期化でき...
-
VBでグローバル変数を宣言するには
-
'Range'メソッドは失敗しました
-
ExcelVBA:パブリック オブジェ...
-
Excel VBAで、ユーザーフォーム...
-
ベースモジュールって?
-
モジュールとは何ですか
-
VBAでoutlook365が起動しません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python
-
Perl+DBD::Oracleのエラーがわ...
-
Python エクセル読み込み xlrd...
-
perl DBD::Pg インストールでエ...
-
Jcode.pmについて
-
use lib qw(変数名);は無理?
-
SOAP::Liteを利用したい!
-
Pg.pmモジュールがロードできない
-
DB_Fileモジュールインストール...
-
XML::Parser::Expat が無い?
-
DBIをCPANからインストール時に...
-
GLIBC_2.4 以上がインストール...
-
Net::SSH::Perlについて
-
CygwinでPerlのCSV_XSを実行する
-
Expat.soが読めない!?
-
DBI Make error
-
perlのモジュールについて
-
python 環境構築について
-
LibXMLのエラーについて
-
cpanからモジュールをインスト...
おすすめ情報