質問失礼します。
GDBMを用いたプログラムをperlで作ったのですが、
solarisのコマンドラインから打ち込むと普通に実行出来ます。
しかし、webブラウザからCGIでsystem関数を使い
そのプログラムを呼び出すと実行出来ません。
どうやら
use GDBM_File;
の部分でエラーが起きているようです。
そこで、エラーログを見ると以下の記述がありました
[Wed Jan 23 17:17:13 2008] [error] [client 157.80.85.160] Can't locate GDBM_file.pm in @INC (@INC contains: /usr/perl5/5.8.4/lib/sun4-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/sun4-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/5.8.4/sun4-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/vendor_perl .)~以下略
とにかく「Can't locate GDBM_file.pm ~」と書いてあるので
以下の文を「use GDBM_File;」の上に加えて、
探す場所を指定したのですが
use lib '/opt/csw/lib/perl/5.8.8';
今度は
[Wed Jan 23 20:15:05 2008] [error] [client 157.80.85.160] Can't load '/opt/csw/lib/perl/5.8.8/auto/GDBM_File/GDBM_File.so' for module GDBM_File: ld.so.1: perl: fatal: relocation error: file /opt/csw/lib/perl/5.8.8/auto/GDBM_File/GDBM_File.so: symbol Perl_croak_nocontext: referenced symbol not found at /usr/perl5/5.8.4/lib/sun4-solaris-64int/XSLoader.pm line 68., ~以下略
と出てきて、実行されません
パーミッションも「444」で読み込みは出来るようになっているはずです
どなたかこのエラーの解決法がわかる方はいませんでしょうか?
ご教授願います。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
>/usr/perl5/5.8.4/lib/sun4-solaris-64int
>/opt/csw/lib/perl/5.8.8/auto/GDBM_File/GDBM_File.so:
Perlのバージョンが違いますけど、コンパイルした条件が違ってたりしませんか?
CGIのスクリプトの先頭にあるshebang行(#!... ってやつです)と
シェルのコマンドラインで
which perl
とかしたときのperlの位置はそれぞれどうなってますか?
以下FAQから
http://hio.jp/translation/perldoc/pod/perlsolari …
Dynamic Loading Problems With GNU as and GNU ld
If you have problems with dynamic loading using gcc on SunOS or Solaris, and you are using GNU as and GNU ld, see the section GNU as and GNU ld above.
ld.so.1: ./perl: fatal: relocation error:
If you get this message on SunOS or Solaris, and you're using gcc, it's probably the GNU as or GNU ld problem in the previous item GNU as and GNU ld.
dlopen: stub interception failed
The primary cause of the 'dlopen: stub interception failed' message is that the LD_LIBRARY_PATH environment variable includes a directory which is a symlink to /usr/lib (such as /lib). See LD_LIBRARY_PATH above.
#error "No DATAMODEL_NATIVE specified"
This is a common error when trying to build perl on Solaris 2.6 with a gcc installation from Solaris 2.5 or 2.5.1. The Solaris header files changed, so you need to update your gcc installation. You can either rerun the fixincludes script from gcc or take the opportunity to update your gcc installation.
sh: ar: not found
This is a message from your shell telling you that the command 'ar' was not found. You need to check your PATH environment variable to make sure that it includes the directory with the 'ar' command. This is a common problem on Solaris, where 'ar' is in the /usr/ccs/bin/ directory.
回答ありがとうございます。
結論から言うと、なんとか解決しました。
拡張子が.plだとGDBMが読み込めず
拡張子を.cgiにするとなぜかGDBMが読み込めました。
apacheの設定がおかしかったか、
perlのバージョン違いの問題だったのでしょうか
古いバージョンのperlも混在していましたので…
ちなみに使っているperlの位置は
[自分]% which perl
/opt/csw/bin/perl
で、パスは間違いなく書いたはずなんですが…
説明不足な質問に付き合って頂いて
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl Windows10においての『Perl』のプログラムについて 1 2022/05/09 16:04
- その他(プログラミング・Web制作) python 2 2022/12/23 09:06
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- Perl perlでリテラル値はメモリにどのように格納されているか? 1 2023/01/15 20:45
- CGI 古ーくからフリーのtree.cgi掲示板を利用させてもらって来ましたが、最新でなにか復活できないか? 2 2023/04/07 10:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルの削除について ( unli...
-
Apache2でSetEnvが動作しない。
-
sendmailの-fオプション記述
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
ラジオボタンのグループ化
-
iframeの中から、親frameのURL...
-
SFTPなどは使わないホームペー...
-
PHPとPostgresとEclipseについて
-
ASPから既存のexcelブックを開...
-
設置場所場わかりません。
-
掲示板のスレッドが消えた!?
-
VBScriptで、ファイルから任意...
-
ASPからJavaScriptへの受け渡し...
-
実行属性って?
-
perl 矢印演算子 -> の使い方
-
VBAでサーバーにアクセスするに...
-
燃焼熱
-
CGIでソースがそのままでてしま...
-
cgiでファイルダウンロード時の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
古ーくからフリーのtree.cgi掲...
-
Can't locate R.pm in @INC
-
#!/usr/bin/perl --
-
CGIのEncodeエラーについて
-
#!/usr/local/bin/perlとしたい
-
HTTP500内部サーバーエラーと表...
-
プロバイダで定められたPerlへ...
-
-T(汚染モード)でメールが送れ...
-
ニフティでメールフォームを使...
-
SSI(<!--#exec cmd="./XXXpl")...
-
sendmailの-fオプション記述
-
急にCGIが動作しなくなった。
-
1日の売上表を作りたいのですけ...
-
Windows2000上でCGIをテストし...
-
コアサーバー(coreserver)でのc...
-
Apache2でSetEnvが動作しない。
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
SFTPなどは使わないホームペー...
-
VBAでサーバーにアクセスするに...
おすすめ情報