httpd-modules-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Farokh Irani <far...@mcfsoftware.com>
Subject APXS issue.
Date Wed, 18 Jul 2007 11:23:24 GMT
Our intrepid hero, having found problems using APXS2 under Debian 4 
(the whole issue of the symbol not being exported), went through the 
effort of install yet another linux variant, this time FreeBSD, and 
when complied using APXS yet again, the symbol is still not exported. 
Note the following:

devlinux# nm /usr/local/libexec/apache22/mod_fancy.so
00001674 A _DYNAMIC
00001740 A _GLOBAL_OFFSET_TABLE_
          w _Jv_RegisterClasses
00001730 d __CTOR_END__
0000172c d __CTOR_LIST__
00001738 d __DTOR_END__
00001734 d __DTOR_LIST__
00001670 r __EH_FRAME_BEGIN__
00001670 r __FRAME_END__
0000173c d __JCR_END__
0000173c d __JCR_LIST__
0000176c A __bss_start
          w __cxa_finalize
          w __deregister_frame_info
00000598 t __do_global_ctors_aux
000004bc t __do_global_dtors_aux
00001668 d __dso_handle
          w __register_frame_info
0000176c A _edata
00001788 A _end
000005c8 T _fini
00000458 T _init
0000176c b completed.1
00000534 t frame_dummy
00001770 b object.2
0000166c d p.0

The symbol is still missing. This is with gcc version 3.4.6 [FreeBSD]
20060305.

I used the same command apxs -ic -S CC=g++ -n mod_fancy mod_fancy.cpp 
config.cpp
(note that this is what had been suggest on this list a while back). 
Here is what happened when I ran apxs:

devlinux# apxs -ic -S CC=g++ -n mod_fancy mod_fancy.cpp config.cpp
/usr/local/build-1/libtool --silent --mode=link g++ -o mod_fancy.la 
-rpath /usr/local/libexec/apache22 -module -avoid-version 
mod_fancy.cpp config.cpp
/usr/local/share/apache22/build/instdso.sh 
SH_LIBTOOL='/usr/local/build-1/libtool' mod_fancy.la 
/usr/local/libexec/apache22
/usr/local/build-1/libtool --mode=install cp mod_fancy.la 
/usr/local/libexec/apache22/
cp .libs/mod_fancy.so /usr/local/libexec/apache22/mod_fancy.so
cp .libs/mod_fancy.lai /usr/local/libexec/apache22/mod_fancy.la
cp .libs/mod_fancy.a /usr/local/libexec/apache22/mod_fancy.a
chmod 644 /usr/local/libexec/apache22/mod_fancy.a
ranlib /usr/local/libexec/apache22/mod_fancy.a
----------------------------------------------------------------------
Libraries have been installed in:
    /usr/local/libexec/apache22

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
    - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
      during execution
    - add LIBDIR to the `LD_RUN_PATH' environment variable
      during linking
    - use the `-Wl,--rpath -Wl,LIBDIR' linker flag

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
chmod 755 /usr/local/libexec/apache22/mod_fancy.so


Does anyone have any ideas as to why using apxs would cause the 
symbol not to be exported?

I'd be willing to show the code, it's not very complex, to anyone who 
might be able to help.

Thanks.
-- 

Farokh
----------------------------------------------------------------------------
MCF Software...simply dependably engineered
Developers of ListSTAR http://www.liststar.com/, MacRADIUS
http://www.macradius.com/, Address List Sorter
http://www.mcfsoftware.com/als/, SimpleText Filter for EIMS
http://www.mcfsoftware.com/stf/ and Auto Reply plug-in for EIMS 
http://www.mcfsoftware.com/ar/.

Mime
View raw message