vine linux 3.2 Tips
sorry Japanese only
PAGE作成日 2006/08/19
最終更新日 2006/08/19
page size = Mbyte


関連するページ Tips1 Tips2 Tips3

vine3.2を installして setupを行っていったときの tipsです。

mod_rewrite: could not create rewrite_log_lockが出る

apache2.2.3なんですが、error.logへ以下のメッセージを出して立ち上がらなくなってしまいました
[Fri Aug 18 22:57:49 2006] [crit] (38)Function not implemented: mod_rewrite: could not create rewrite_log_lock Configuration Failed

vine linux3.2の kernelを make menuconfigで絞りすぎたら発生しました。

絞った内容の kernelで再度 apache 2.2.3を compileし直しても、同様の errorで起動しませんでした。
kernelを元に戻して OK

後日検証したら、make menuconfigの General setup - System V IPC
を excluded (*を付けない、空白)にすると発生します

再現性があるので確実だと思います

Berkeley DB Databaseの入れ方

perlで以下のコマンドを実行時
cpan> install DB_File

こんなエラーが出ました
gcc -c  -I/usr/local/BerkeleyDB/include -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -pipe -march=i386 -mcpu=i686   -DVERSION=\"1.814\" -DXS_VERSION=\"1.814\" -fPIC "-I/usr/lib/perl5/5.8.2/i386-linux-thread-multi/CORE"  -D_NOT_CORE  -DmDB_Prefix_t=size_t -DmDB_Hash_t=u_int32_t   version.c
version.c:30:16: db.h: そのようなファイルやディレクトリはありません
make: *** [version.o] エラー 1
  /usr/bin/make  -- NOT OK

検索すると db.hが無いのは Berkeley DBを入れると良いそうです。
確かにエラーが出たコンパイル文も /usr/local/BerkeleyDBとか書かれています

BerkeleyDBの入れ方
http://www.sleepycat.com/ の downloadから downloadする
解凍
cd db-4.4.20/build_unix
../dist/configure
make
make install

configureのかけ方がミソです (変な tar ballファイルです)

その後
cd /usr/local
ln -s BerkeleyDB.4.4 BerkeleyDB
を行っておく

install DBIで dynamicエラー

perlで install DBIを行うと以下のエラーが出て installできませんでした
t/zvpp_72childhandles.t    6  1536    14    6  42.86%  3-4 7-8 10-11
10 tests and 140 subtests skipped.
Failed 1/49 test scripts, 97.96% okay. 6/2320 subtests failed, 99.74% okay.
make: *** [test_dynamic] エラー 255
  /usr/bin/make test -- NOT OK
Running make install
  make test had returned bad status, won't install without force
Failed during this command:
  TIMB/DBI-1.52.tar.gz                         : make_test NO

最新のファイルではなく、古いファイルを Downloadしてきてインストールしましょう
TIMBから、私は 1.43を Downloadしてきました。(以前インストール成功した経緯があるので)

install方法が特殊なので READMEを読む

DBD::mysqlの install時 install_driver(mysql) failedが出る

DBD::mysqlの install時 make testを行うと以下のエラーが出ました
[root@vine32 DBD-mysql-2.9007]# make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00base...........install_driver(mysql) failed: Can't load '/tmp/DBD-mysql-2.9007/blib/arch/auto/DBD/mysql/mysql.so' for module DBD::mysql: /tmp/DBD-mysql-2.9007/blib/arch/auto/DBD/mysql/mysql.so: undefined symbol: mysql_rollback at /usr/lib/perl5/5.8.2/i386-linux-thread-multi/DynaLoader.pm line 229.
 at (eval 1) line 3
Compilation failed in require at (eval 1) line 3.
Perhaps a required shared library or dll isn't installed where expected
 at t/00base.t line 38
t/00base...........dubious

これは perl Makefile.PL時のオプション不足です
mysqlと perlと gccのコンパイラ違い?で出るそうです
構成設定の方法さん、情報ありがとうございました。

[root]# gcc --print-libgcc-file
/usr/lib/gcc-lib/i386-vine-linux/3.3.2/libgcc.a
にて表示されたディレクトリーをオプションに追加します
[root@vine32 DBD-mysql-2.9007]# perl Makefile.PL --libs="-L/usr/local/mysql/mysql/lib -lmysqlclient -lz -L/usr/lib/gcc-lib/i386-vine-linux/3.3.2 -lgcc" --cflags=-I/usr/local/mysql/mysql/include --testhost=127.0.0.1

せっかくなので、実行時の結果を
perl Makefile.PL
make
make test
make install

apache2.2.3インストールで APRが無いとエラーが出る


apache2.0.55が正常に動作している vine linuxにて、apache2.2.3を installしようと
configure実行時以下のエラーが出ました
checking for APR version 1.2.0 or later... no
configure: error: APR version 1.2.0 or later is required

configure に --with-included-aprのオプションを付けましょう
するとエラーの出ていた configureも
Configuring Apache Portable Runtime library ...
configuring package in srclib/apr now
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
Configuring APR library
Platform: i686-pc-linux-gnu
checking for working mkdir -p... yes
APR Version: 1.2.7
checking for chosen layout... apr
とエラーが出なくなります

httpd -k gracefulでエラー

httpd -k gracefulを行うと以下のエラーが出ます
[error] (9)Bad file descriptor: apr_socket_accept: (client socket)

これも kernelを変更しすぎで起きているのかと思いましたが vine linux3.2の
デフォルト configsにて kernel作り直したので実験しましたが、同じようなエラーが
httpd -k gracefulにてログに書き込まれていました。

まあログにエラーが出るだけで実害は無いようなので、様子見とします


続く

10971
戻る