[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: undefined symbol woes
From: |
Patrick Welche |
Subject: |
Re: undefined symbol woes |
Date: |
Mon, 15 Dec 2003 19:38:18 +0000 |
User-agent: |
Mutt/1.5.4i |
On Fri, Nov 28, 2003 at 09:40:36AM +0000, Gary V. Vaughan wrote:
> Patrick Welche wrote:
> | I was hoping to not create shared modules [[snip]]
> |
> | libtool --mode=link gcc -module -export-dynamic -o mod_auth_basic.la
> mod_auth_basic.lo
> ~ ^^^^^^^^^^^^^^^^^^^^^^^
>
> - -module is for dlopening, -export-dynamic is for shared libs, but you want
> static modules? Are you trying to create preloaded modules?
I suppose so, I want to configure --enable-ssl and have mod_ssl linked into
httpd without creating a mod_ssl.so and needing to LoadModule mod_ssl.so.
> Take a look at cvs m4 for how to do this with cvs libtool.
(a bit tricky given I don't have autopoint, but after AUTOPOINT=echo, and
touch ABOUT-NLS
checking for shared library run path origin... gnulib/config/config.rpath:
gnulib/config/config.rpath: No such file or directory
done
config.status: error: cannot find input file: po/Makefile.in.in
so I didn't see the actual Makefiles and can't check the contents of .la and
friends - that was m4 1.4q (1.249 2003/11/18 17:14:45))
It seems that the m4 modules are created with
-no-undefined -module
and the program linked with
-no-undefined -export-dynamic -dlpreopen force -dlpreopen modulename.la
Compare this to httpd where the modules are created with
-module -export-dynamic
and the program linked with
-export-dynamic
Trying just to link the httpd program with
-export-dynamic -dlpreopen force -dlpreopen modulename.la
gave
libtool: link: cannot -dlpreopen a convenience library: `modules/ssl/mod_ssl.la'
Trying to rebuild mod_ssl.la, changing the linking of the .lo's to make an .la
to use -no-undefined -module gave the same
rm -fr .libs/mod_ssl.a .libs/mod_ssl.la
ar cru .libs/mod_ssl.a
ranlib .libs/mod_ssl.a
creating mod_ssl.la
(cd .libs && rm -f mod_ssl.la && ln -s ../mod_ssl.la mod_ssl.la)
So there unfortunately I can't compare a cvs-m4 .lo module to httpd-2.0's eg
# Name of the PIC object.
pic_object=none
# Name of the non-PIC object.
non_pic_object='mod_ssl.o'
even though as far as I can tell from cvs-m4's Makefile.am, the flags are
the same as in that last attempt.
> I think you're right that this could use some tidying. If you want to
> build a module that is always preloaded, you shouldn't have to create
> the dso.
Could you lead this novice by the nose please? How is all this supposed to
work?
Cheers,
Patrick
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: undefined symbol woes,
Patrick Welche <=