AW: FWD: Testing modules using Python

2008-08-29 Thread Steven.Mohr
Hi Peter,
I've fixed my problem. Your advice was really helpful, the only thing I had to 
change was to replace server/exports.o with server/protocol.o modules.o 
buildmark.o  server/provider.o server/util_xml.o server/error_bucket.o and 
everything works fine. 

Thanks again for your help

Steven

 
 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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 
Gesendet: Mittwoch, 27. August 2008 20:51
An: dev@httpd.apache.org
Betreff: AW: FWD: Testing modules using Python

Hi Peter,
I've followed your instruction. The shared object which is created has a size 
of 5 kB. Is this right? It seems to be very small. There are still undefined 
symbols of functions like ap_filter_flush, ap_is_url or ap_count_dirs. I will 
edit server/exports.c file because many of the undefined symbols are defined in 
this file (and as the first lines say, exports.c is an ugly hack which exports 
every function = undefined symbols)
Do you know an options or other files which would improve the shared object?

Thanks for your advices

Steven


Steven Mohr
Bachelor student
 
DLR (German Aerospace Center), 
Simulation and Software Technology
Linder Hoehe, 51147 Cologne, Germany
voice: +49 2203 601 2053
eMail: steven.mohr at dlr.de  http://www.dlr.de/sc

-Ursprüngliche Nachricht-
Von: Peter Poeml [mailto:[EMAIL PROTECTED] 
Gesendet: Donnerstag, 7. August 2008 11:41
An: dev@httpd.apache.org
Betreff: Re: FWD: Testing modules using Python

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

AW: FWD: Testing modules using Python

2008-08-27 Thread Steven.Mohr
Hi Peter,
I've followed your instruction. The shared object which is created has a size 
of 5 kB. Is this right? It seems to be very small. There are still undefined 
symbols of functions like ap_filter_flush, ap_is_url or ap_count_dirs. I will 
edit server/exports.c file because many of the undefined symbols are defined in 
this file (and as the first lines say, exports.c is an ugly hack which exports 
every function = undefined symbols)
Do you know an options or other files which would improve the shared object?

Thanks for your advices

Steven


Steven Mohr
Bachelor student
 
DLR (German Aerospace Center), 
Simulation and Software Technology
Linder Hoehe, 51147 Cologne, Germany
voice: +49 2203 601 2053
eMail: steven.mohr at dlr.de  http://www.dlr.de/sc

-Ursprüngliche Nachricht-
Von: Peter Poeml [mailto:[EMAIL PROTECTED] 
Gesendet: Donnerstag, 7. August 2008 11:41
An: dev@httpd.apache.org
Betreff: Re: FWD: Testing modules using Python

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



AW: Testing modules using Python

2008-08-07 Thread Steven.Mohr
Thanks for your advice. But I think that there's nothing comparable in Apache 
2.x. I've wrote an email to [EMAIL PROTECTED] Perhaps is there a possibility I 
don't know about and one of the guys there could help me. Do you have other 
ideas how I could solve my problem??

Steven


-Ursprüngliche Nachricht-
Von: Peter Poeml [mailto:[EMAIL PROTECTED] 
Gesendet: Montag, 4. August 2008 16:37
An: modules-dev@httpd.apache.org
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


Re: FWD: Testing modules using Python

2008-08-07 Thread Peter Poeml
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


FWD: Testing modules using Python

2008-08-05 Thread Steven.Mohr
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



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


Re: Testing modules using Python

2008-08-04 Thread Peter Poeml
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


pgp5uxWB6T0sk.pgp
Description: PGP signature