[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[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)/~ すいませんが、皆さんのお知恵をお貸しください。