質問失礼します。
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ランキング
-
number 改行が追加できない
-
エクセルで集計したい。
-
htmlからパラメータで、cgiに渡...
-
生成AI画像について
-
フォームを再送信しますか?
-
CGIって何ですか?簡潔に教えて...
-
ホームページの事でおしえてく...
-
ホームページでCGIのフォームを...
-
CGIが読み書きするデータファイ...
-
(フリーの)ツリー掲示版CGI、...
-
cgiの注釈が出来ない
-
apacheでPerl CGIが作動せず、5...
-
3DCG
-
ホームページにメールフォーム...
-
cgi アクセス制限 エラー
-
CGIの記述について教えてくださ...
-
CGIの設置が分かりません・・・
-
ホームページにCGIを設置したの...
-
ホームページにCGIを設置したの...
-
サーバーのエラーでおしえてく...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
古ーくからフリーのtree.cgi掲...
-
Can't locate R.pm in @INC
-
#!/usr/bin/perl --
-
CGIのEncodeエラーについて
-
#!/usr/local/bin/perlとしたい
-
プロバイダで定められたPerlへ...
-
-T(汚染モード)でメールが送れ...
-
HTTP500内部サーバーエラーと表...
-
SSI(<!--#exec cmd="./XXXpl")...
-
ニフティでメールフォームを使...
-
1日の売上表を作りたいのですけ...
-
sendmailの-fオプション記述
-
コアサーバー(coreserver)でのc...
-
Windows2000上でCGIをテストし...
-
Apache2でSetEnvが動作しない。
-
急にCGIが動作しなくなった。
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
SFTPなどは使わないホームペー...
-
VBAでサーバーにアクセスするに...
おすすめ情報