Hi Steven, On Tue, Aug 05, 2008 at 10:21:01 +0200, [EMAIL PROTECTED] wrote: > Hi, > on [EMAIL PROTECTED] Peter gave me the advice to build apache with the > SHARED_CORE rule. Apache 2.x does not have this rule anymore. Is there > something comparable in Apache 2.x? > Sorry for cross-posting but I think you are the guys who could help me. > > Steven
The build infrastructure doesn't seem to know this anymore - but does it work if you do the following? make clean CFLAGS='-D SHARED_CORE -fPIC' ./configure make and then take the line which links together the httpd binary (the one with libtool ... -mode=link gcc ... -o httpd ... which is probably the last line) and rerun it manually with a slight change: libtool ... -mode=link gcc ... -shared -o libhttpd.so ... server/exports.o This should build the shared object anyway. But it is possible that it doesn't provide what you need. YMMV. > ------------------------------------------------ > Steven Mohr > Bachelor student > > DLR (German Aerospace Center), > Simulation and Software Technology > Linder Hoehe, 51147 Cologne, Germany > voice: +49 2203 601 2956 fax: +49 2203 601 3070 > eMail: steven.mohr at dlr.de http://www.dlr.de/sc > > > > -----Ursprüngliche Nachricht----- > Von: Peter Poeml [mailto:[EMAIL PROTECTED] > Gesendet: Montag, 4. August 2008 16:37 > An: [EMAIL PROTECTED] > Betreff: Re: Testing modules using Python > > On Mon, Aug 04, 2008 at 04:27:58PM +0200, [EMAIL PROTECTED] wrote: > > Hi, > > I want to unit test my module (catacomb.tigris.org) using Python. My > > idea is to load the module with ctypes (a python module that allows to > > load functions from shared libraries into python) and test it in this > > environment. The main advantage is that it's much easier to create > > mock-up objects in Python than in C. My problem is that ctypes fails if > > the shared library contains any undefined symbols. Because the module is > > used normally together with a httpd server, > > there're a lot of undefined symbols. My solution is to link libapr, > > libaprutil, libexpat and libmysql statically in my module and to add a > > file with the definitions of the apache-internal functions (just copy > > and paste from httpd source). With every function which I copy in this > > file I get a few new undefined symbols. All in all it's a pain to search > > all definitions and I probably have to do this again after adding new > > features which uses other functionalities. > > > > Is there an easier way to do this? To build a module which includes all > > needed links to apache functions without linking the needed libraries > > statically and copy-and-paste functions from apache source? Or do you > > know a better way to do this? > > > > Steven > > With httpd 1.3, there used to be a way to build something what was > called "shared core", a shared object that contained the server in a > form you could link it into an application. > > I don't know if this is still possible with httpd 2.x, but what used I > in an RPM package at the time was > > --enable-rule=SHARED_CORE > > mkdir shared_core > cp -p src/libhttpd.ep src/libhttpd.so src/httpd > shared_core > > > # install shared-core apache > install -m 755 shared_core/libhttpd.ep $RPM_BUILD_ROOT/%{_libdir}/%{name} > install -m 755 shared_core/libhttpd.so $RPM_BUILD_ROOT/%{_libdir}/%{name} > ln -s %{_libdir}/%{name}/libhttpd.ep > $RPM_BUILD_ROOT/%{_sbindir}/httpd-shared_core > ln -s %{_libdir}/%{name}/libhttpd.so $RPM_BUILD_ROOT/%{_libdir}/libhttpd.so > > > At the time, that was reportedly working to build DSOs with Kylix 3. > > Peter > -- > Contact: [EMAIL PROTECTED] (a.k.a. [EMAIL PROTECTED]) > #opensuse-mirrors on freenode.net > Info: http://en.opensuse.org/Mirror_Infrastructure > > SUSE LINUX Products GmbH > Research & Development Peter -- "WARNING: This bug is visible to non-employees. Please be respectful!" SUSE LINUX Products GmbH Research & Development
pgpRrhC2qDicb.pgp
Description: PGP signature