[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[webdav-jp:0183] Re: mod_encoding-20011211a を組み込むと apache が起動しない



安田です。

SunOS内蔵のiconvはどうも怪しかったので、私は自分で入れた
gnuのlibiconvを使いました。よって、
#DEFS = -DHAS_ICONV
LIBS = /usr/local/lib/libiconv.so
#LIBS = -L/usr/local/lib -liconv
としてます。(-lがないのは、後述のようにarを使ったため)

mod_encoding~/lib/Makefile は

# DEFS = -DHAS_ICONV
# LIBS = /usr/local/lib/libiconv.so
# LIBS = -liconv

にして

>   ar -q $@ $(OBJS) $(LIBS) /usr/local/lib/libiconv.so

ここで明示的に /usr/local/lib/libiconv.so を指定しました。


そして、mod_encoding~/lib/ で make すると以下のような warning が出ます。

# make
gcc -Wall -c  iconv_hook.c
gcc -Wall -c  iconv_hook_default.c
iconv_hook.h:35: warning: `iconv_hook_module_init' defined but not used
gcc -Wall -c  iconv_hook_ja_auto.c
iconv_hook.h:35: warning: `iconv_hook_module_init' defined but not used
gcc -Wall -c  iconv_hook_mssjis.c
iconv_hook.h:35: warning: `iconv_hook_module_init' defined but not used
gcc -Wall -c  identify_encoding.c
ar -q libiconv_hook.so iconv_hook.o iconv_hook_default.o iconv_hook_ja_auto.o  i
conv_hook_mssjis.o identify_encoding.o  /usr/local/lib/libiconv.so
ar: creating libiconv_hook.so
#


そのまま続けて、次は mod_encoding~/Makefile の編集をしました。

佐藤@奈良先端 さんの言われたとおり、

DEFS =  -DMOD_ENCODING_DEBUG=1 -Diconv=iconv_hook \
-Diconv_open=iconv_hook_open -Diconv_close=iconv_hook_close

の最後に

 -DLIBICONV_P

をつけ、


LIBS = -L/usr/local/lib -Llib -liconv_hook $(APXS) -c $(DEFS) $(INCS) $(LIBS) -Wc,-Wall $<

にして
gmake すると


apxs -Wc,-Wall -c -DMOD_ENCODING_DEBUG=1 -Diconv=iconv_hook -Diconv_open=iconv_h ook_open -Diconv_close=iconv_hook_close -DLIBICONV_PLUG -L/usr/local/lib -Llib -liconv_hook mod_encoding.c gcc -DSOLARIS2=280 -DUSE_EXPAT -I../lib/expat-lite -fpic -DSHARED_MODULE -I/var/ local/apache/include -Wall -DMOD_ENCODING_DEBUG=1 -Diconv=iconv_hook -Diconv_ope n=iconv_hook_open -Diconv_close=iconv_hook_close -DLIBICONV_PLUG -c mod_encodin g.c mod_encoding.c: In function `iconv_string': mod_encoding.c:90: warning: passing arg 2 of `iconv_hook' from incompatible poin ter type gcc -shared -o mod_encoding.so mod_encoding.o -Wc,-Wall -L/usr/local/lib -Llib - liconv_hook テキストの再配置が 参照している 残っているシンボル オフセット ファイル <不明> 0xbb4 lib/libiconv_hook.so(identify_en coding.o) ... ... ld: 重大なエラー: 割り当て可能ですが、書き込めないセクションに対して再配置が残っ ています。 collect2: ld returned 1 exit status apxs:Break: Command failed with rc=1 gmake: *** [mod_encoding.so] Error 1



というエラーがドバーっと出てきます。

また、
$(APXS) -c $(DEFS) $(INCS) $(LIBS) -Wc,-Wall $<

の最後の部分を $> や $? にして make しても同様のエラーが
出てしまいます。


(T_T)/~ すいませんが、皆さんのお知恵をお貸しください。