- - PR -
Apache2に自作のDSOを組み込めません
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-05-08 20:46
御世話になります。
RedHut9+apache2(2.0.59)でセットアップしたサーバーに自作のDSOを組み込ませた いのですが、 httpd.confでモジュール名を追加すると、configtestでセグメンテーション違反 $httpd -tと出てしまいます。 このDSOは既に別サーバーで動いているものです。 (動いているのはRedHut8上です。apacheは2.0.47です) Kylix3で作成したものです。 稼動しているサーバーのhttpd.confとapachectlはよく見比べましたが、 ほぼ同じです(サーバー名などが違う程度) 稼動しているRehHutは別の担当者がセットアップしたので、そちらのapacheが どのようにセットアップされているのかよくわかりません。 (しかも退職してしまいました・・・) 一応導入手順がのこっていたので、httpd.confとapachectlの変更箇所はわかるのですが。 もしかしたらapacheの導入方法自体に問題があるのではないでしょうか? ./configure --enable-module=do --enable-mods-share=all make make install としたのですが・・・・ なにか指摘される点がありましたらお教えください。 |
|
投稿日時: 2007-05-09 09:42
--enable-module=do
--enable-modules=so? --enable-mods-share=all --enable-mods-shared=all? ./configure --help でオプションを確認してみてください。 http://httpd.apache.org/docs/2.0/ja/programs/configure.html |
|
投稿日時: 2007-05-09 11:22
こんにちは
現状動いているサーバのapacheのソースディレクトリは残っているのでしょうか? 残っているのであれば config.log ファイルに configureを実行したときのコマンドラインが記録されて いるので、それを比べてみてはいかがでしょうか? |
|
投稿日時: 2007-05-09 19:27
御世話になります。
早速申し訳ありません。 --enable-modules=so --enable-mods-shared=all 上記の都下りです。 既存サーバーにソースがのこっていましたので、logも確認してみます。 また他に確認すべき点があればご指摘下さい。 |
|
投稿日時: 2007-05-09 22:18
kylix3ということなので、Borlandよりダウンロードしたhttpd2.pasを使っていると思いますが、
対象のApacheのバージョンにあわせてMODULE_MAGIC_NUMBER_MAJOR、 MODULE_MAGIC_NUMBER_MINOR等は編集しましたか? http://www.atmarkit.co.jp/flinux/rensai/webserv02/webserv02c.html http://www.drbob42.com/delphi7/apache2040.htm |
|
投稿日時: 2007-05-10 13:08
お疲れさまです。
Kylix3で作成したDSOは、現在稼動しているサーバーもApache2ですので、 作成の際、ご指摘の点及びその他の修正は済ませています。 |
|
投稿日時: 2007-05-10 14:49
>また他に確認すべき点があればご指摘下さい。
動作する側としない側のapacheに モジュールの差分が無いか、 念のために確認しておいた方が良いですね。 # ./bin/httpd -l |
|
投稿日時: 2007-05-16 21:11
いろいろと試してみましたが、まだうまくいきません。
Kylix3で作成したDSOをRedhat9上のapache2に組み込むには、なにか特殊な設定が いるのでしょうか・・・? 稼動している環境とhttpd -lで表示される内容は一致しました。 borland-usのサイトからapache2用のpasも追加されています。 httpd.conf apachectlについても相違ありませんでした。(違いはサーバー名のみ) MODULE_MAGIC_NUMBER_MAJOR、 MODULE_MAGIC_NUMBER_MINOR等は、稼動している環境と現在検証してる環境の apache2が、まったく同一バージョンなので、問題ないはずです。 configure.logについては、いくつか相違がありました。 以下のとおりです。(Aが稼働中の環境、Bが現在苦戦中のサーバーです) A:uname -r=2.4.18.0debug B:uname -r=2.4.20-8 A:uname -v=#1 Fri Mar 14 06:23:49 EST2003 B:unema -v=#1 Thu Mar 13 17:54:28 EST2003 A: PATH: /usr/kerberos/sbin PATH: /usr/kerberos/bin B: 上記2行がない。 A:gcc(GCC) 3.2 20020903 (RedHat Linux 8.0 3.2-7) B:gcc(GCC) 3.2.2 20030222 (RedHat Linux 3.2.2-5) A:Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/soecs B:Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/soecs A:gcc version 3.2 20020903 (RedHat Linux 8.0 3.2-7) B:gcc version 3.2.2 20030222 (RedHat Linux 3.2.2-5) A:/tmp/ccwK81SX.o:In functions 'main': B:/tmp/ccii66wt.o(.text+0xf):In functions 'main': RedHat自体およびgccのバージョンが若干違うのと、PATH: /usr/kerberos/sbinのあたり あとは、最後のよくわからない所が違うようです。 やはりconfigure時になにかやり残しがあるのでしょうか? よろしくお願いします。 |