WebAlizerをインストールする(備考)

WebAlizerを別の環境(NX protection 機構が働いたマシンでSELinux有効になっているケース)に入れた際にはまったポイントがあったので、メモしておく。
1.
webalizerを起動するとファイルがあるにもかかわらず
Error: Can’t open log file (Apacheのログ)
と表示される
ファイルがあるにもかかわらずこのエラーが出る場合は、SELinuxを疑ったほうが良い。
Webminから設定してあげるとうまく書き込み出来ているようなので、よく分からなければWebminから設定してみるのも良いだろう。
また、新たにディレクトリを作成し、OutputDirに指定したうえで、Webサーバーから閲覧できるようにする場合にもSELinuxが有効ならば、chconコマンドでタイプラベルを修正する必要がある。
2.
rpmbuild で警告が出るケース
make中にこんなエラーが出る場合には、RPM_OPT_FLAGSを疑ってみる。
NX protection 機構が働いている場合、
RPM_OPT_FLAGS には -O2 -g -march=i386 -mcpu=i686 ではなく
-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables
がセットされ、gccコンパイルオプションに利用されてしまう。
+ make
gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -I/usr/include/db4 -D_LARGEFILE64_SOURCE -DETCDIR=\”/etc\” -DHAVE_DB_185_H=1 -DHAVE_ERRNO_H=1 -DHAVE_SOCKET=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1 -DUSE_DNS -c webalizer.c
webalizer.c: In function ‘main’:
webalizer.c:1035: warning: suggest parentheses around assignment used as truth value
webalizer.c: In function ‘unescape’:
webalizer.c:1947: warning: pointer targets in initialization differ in signedness
webalizer.c:1948: warning: pointer targets in initialization differ in signedness
webalizer.c: In function ‘srch_string’:
webalizer.c:1985: warning: pointer targets in assignment differ in signedness
webalizer.c:1988: warning: pointer targets in passing argument 2 of ‘__builtin___strcpy_chk’ differ in signedness
webalizer.c:1988: warning: pointer targets in passing argument 2 of ‘__strcpy_ichk’ differ in signedness
webalizer.c:1989: warning: pointer targets in assignment differ in signedness
webalizer.c:1992: warning: pointer targets in assignment differ in signedness
webalizer.c:1994: warning: pointer targets in assignment differ in signedness
webalizer.c:2009: warning: pointer targets in assignment differ in signedness
webalizer.c:2015: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness
webalizer.c:2022: warning: pointer targets in passing argument 1 of ‘put_snode’ differ in signedness
+ make
gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector –param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -I/usr/include/db4 -D_LARGEFILE64_SOURCE -DETCDIR=\”/etc\” -DHAVE_DB_185_H=1 -DHAVE_ERRNO_H=1 -DHAVE_SOCKET=1 -DHAVE_SYS_SOCKET_H=1 -DHAVE_GETOPT_H=1 -DHAVE_MATH_H=1 -DUSE_DNS -c webalizer.c
webalizer.c: In function ‘main’:
webalizer.c:1035: warning: suggest parentheses around assignment used as truth value
webalizer.c: In function ‘unescape’:
webalizer.c:1947: warning: pointer targets in initialization differ in signedness
webalizer.c:1948: warning: pointer targets in initialization differ in signedness
webalizer.c: In function ‘srch_string’:
webalizer.c:1985: warning: pointer targets in assignment differ in signedness
webalizer.c:1988: warning: pointer targets in passing argument 2 of ‘__builtin___strcpy_chk’ differ in signedness
webalizer.c:1988: warning: pointer targets in passing argument 2 of ‘__strcpy_ichk’ differ in signedness
webalizer.c:1989: warning: pointer targets in assignment differ in signedness
webalizer.c:1992: warning: pointer targets in assignment differ in signedness
webalizer.c:1994: warning: pointer targets in assignment differ in signedness
webalizer.c:2009: warning: pointer targets in assignment differ in signedness
webalizer.c:2015: warning: pointer targets in passing argument 1 of ‘strlen’ differ in signedness
webalizer.c:2022: warning: pointer targets in passing argument 1 of ‘put_snode’ differ in signedness
vi webalizer.spec で
%build
CPPFLAGS=”-I%{_includedir}/db4″ ; export CPPFLAGS
CFLAGS=”$RPM_OPT_FLAGS $CPPFLAGS -D_LARGEFILE64_SOURCE” ; export CFLAGS
なっているところを強引に
%build
CPPFLAGS=”-I%{_includedir}/db4″ ; export CPPFLAGS
CFLAGS=”-O2 -g -march=i386 -mcpu=i686 $CPPFLAGS -D_LARGEFILE64_SOURCE” ; export CFLAGS
へ書き換えたらうまくいった。もちろんi686プロセッサであることが前提だが。。。

カテゴリーUNIX

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です