
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で質問しましょう!
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
デバッガでブレークポイントを...
-
例外処理のフローチャートの記...
-
Excel VBAで、ユーザーフォー...
-
Excel VBA 定義されたプロージ...
-
Excel VBAでリンク切れをチェッ...
-
「デバイスは PRN を初期化でき...
-
VBでグローバル変数を宣言するには
-
エクセルVBAでシートモジュール...
-
ユーザー定義関数に#NAME?が返...
-
VBAでoutlook365が起動しません。
-
Spreadsheet::ParseExcelを使っ...
-
モジュールとは何ですか
-
ppmのリポジトリの場所
-
Form間の値の渡し方
-
Access VBA標準モジュールにつ...
-
モジュールの最大数はいくつな...
-
SendKeysの使い方について
-
vba userFormのSubを標準モジュ...
-
初歩的な質問なのですが、サブ...
-
【vba】フォームに書いてあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Pg.pmモジュールがロードできない
-
\\* の意味が分かりません。
-
DB_Fileモジュールインストール...
-
英文でperlの文法などを説明し...
-
'cgi-lib.pl'などのファイルの...
-
python
-
Perlの日本語のメーリングリス...
-
perlからpostgres連携時にエラ...
-
解決法が見つかりません。
-
LibXMLのエラーについて
-
受け取った変数がファイルに書...
-
添付ファイル保存perlの実行エラー
-
デバッガでブレークポイントを...
-
perl DBD::Pg インストールでエ...
-
Expat.soが読めない!?
-
perlのモジュールについて
-
XML::Parser::Expat が無い?
-
コマンドラインで通っているパ...
-
Jcode.pmについて
-
HTML::Embperlが使えない!
おすすめ情報