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 にコピーしてとりあえず動いた。
tags: Apache zurazure
Posted by NI-Lab. (@nilab)