OS: Debian GNU/Linux etch

Syntax error on line XXX of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_hoge.so into server: /usr/local/apache2/modules/mod_hoge.so: undefined symbol: hoge_init

libmyfoobar.so の中にある hoge_init が undefined symbol になってしまうとき。


$ sudo /usr/local/apache2/bin/apxs -c -I/home/hoge/includes -L/usr/lib -L/usr/local/lib -L/home/hoge/mylibs -lz -lpng -lxerces-c -lxerces-depdom -lmyfoobar -i -a mod_hoge.c
 
$ sudo cp /home/hoge/mylibs/libmyfoobar.so /usr/lib

という感じで-Iや-Lや-lで必要なライブラリへのパス等を指定して、libmyfoobar.so のような自作ライブラリを強引に /usr/lib にコピーしてとりあえず動いた。

Ref. ヅラずれなるままに(2009-03-04) - Apache2.2系のモジュール開発 最初の一歩

tags: Apache zurazure

Posted by NI-Lab. (@nilab)