RE: FW: httpd.exp for Apache 2.0.43

2003-06-04 Thread Rahul Kohli
Thanks Jeff,

Thanks for you inputs. 

Regarding the function ap_custom_response() , for this we have added our own 
implementation that is specific to apache 2.0 on AIX.

Regards,
 Rahul Kohli

-Original Message-
From: Jeff Trawick [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 03, 2003 5:47 PM
To: [EMAIL PROTECTED]
Subject: Re: FW: httpd.exp for Apache 2.0.43


Rahul Kohli wrote:

 I was able to resolve the shmmat error by exporting the environment variable EXTSHM.
 
 Please suggest me how can I  make my library compatible to later versions as well. 
 Right now I 
 have made a change to remove -G and -brtl option and using apr.exp , 
aprutil.exp.exp.
 
 The link line is mentioned below: 
 
 /usr/vacpp/bin/makeC++SharedLib_r  -p 0 -bnoipath 
 ../../Rosette30/unix/lib/aix-xlC_r/libbtunicode.so -b
 M:SRE -berok -bnoentry -blibpath:/usr/lib/threads:/usr/ibmcxx/lib:/usr/lib:/lib -s 
 -bI:/usr/IBMIHS/modules/http
 d.exp -bI:/usr/IBMIHS/lib/apr.exp -bI:/usr/IBMIHS/lib/aprutil.exp -bE:my_lib.exp
 
 But how can I make this work on 2.0.45 version and later. Kindly suggest.

If you stick with the import file method (httpd.exp, apr.exp, aprutil.exp):

if you build with Apache = 2.0.45

= no issue

if you build with Apache = 2.0.42 (my recommendation, since API is 
unchanged since 2.0.41 and 2.0.42 was the first such GA release)

= users need to create the symlinks libapr.so-libapr-0.so and 
libaprutil.so-libaprutil-0.so for 2.0.45 and 2.0.46, and we should 
consider creating the symlinks automatically for future 2.0 releases

If you get run-time linking to work:

= no issue

But I understand that you don't have this method working yet :)

The way I debug DSO loading issues on AIX is to look at the dump output 
from the DSO to see what symbols it is trying to resolve (and whether 
from main executable or runtime linking or some named library).  The 
dump output you sent privately when you were building the module with 
run-time linking had a reference to what looks like a C++-language 
ap_custom_response():

ap_custom_response__12CExternalApiFP11request_reciPc

Did you resolve that issue?



Re: FW: httpd.exp for Apache 2.0.43

2003-06-04 Thread Jeff Trawick
Rahul Kohli wrote:
Regarding the function ap_custom_response() , for this we have added our own 
implementation that is specific to apache 2.0 on AIX.

Don't call it that!

You shouldn't use the ap_ or apr_ or apu_ prefixes at all for your 
symbols, much less implement a function/method with the same name as a 
symbol exported by Apache or apr or apr-util.



Re: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Bill Stoddard
Rahul Kohli wrote:

Thanks Jeff.

I am facing the same type of problem mentioned by you. Originally I was running my application on Apache 1.3.26  i was using httpd.exp. It was working fine. apachectl start started the server properly  our library was loaded.

Now we are switching to apache 2.0.43 and facing error while starting apachectl. The 
error is as below:
Syntax error on line 147 of /usr/apache/conf/httpd.conf:
Cannot load /home/agent5x/Installables/lib/my_lib.so into server:
I am using the httpd.exp as I did in 1.3.26. With this appraoch my library is not even getting loaded. As per suggested by you in your reply it seems that the problem is with httpd.exp approach. You mentioned the runtime linking approach. Which runtime libraries i need to link my application with. 

It will be of great help to us.

Kindly advise,
 

Rahul Kohli
   

apxs uses apr-config. Check out the LDFLAGS in apr-config, in particular 
the -brtl option.  Your best bet is to use apxs to compile your modules. 
That way, you will be sure to pick up all the right compile and link 
options, macro definitions, etc.

http://httpd.apache.org./docs-2.0/programs/apxs.html

Bill




Re: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Stas Bekman
Jeff Trawick wrote:

Run-time linking on AIX isn't a set of libraries to link with; it is 
instead a particular mode of resolving symbols with shared libraries 
that doesn't use hard-coded paths such as those specified in httpd.exp, 
apr.exp, and aprutil.exp.

Instead of telling the linker to look in httpd.exp/apr.exp/aprutil.exp 
to see how to find those routines, you add -Wl,-G to the linker options 
to tell it not to worry about where the routines come from but instead 
to search for them when the shared library is loaded.
When I've ported mod_perl 2.0 build to AIX, I have resorted to just using 
-berok (which is one of the flags enabled by -G). -G itself didn't quite work, 
I don't remember why. However I was told that it depends on which compiler is 
used, I've heard that this postpone-symbol-resolving doesn't always work.



__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


Re: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Jeff Trawick
Stas Bekman wrote:

When I've ported mod_perl 2.0 build to AIX, I have resorted to just 
using -berok (which is one of the flags enabled by -G). -G itself didn't 
quite work, I don't remember why. However I was told that it depends on 
which compiler is used, I've heard that this postpone-symbol-resolving 
doesn't always work.
actually I should have said  -Wl,-brtl, as that is what we use with 
apr (and any apr apps that pick up apr ldflags)...  as you pointed out, 
-G is more than just rtl

the only part that I've heard depends on the compiler is this:

libtool doesn't enable run-time linking with gcc in cases where it would 
do so for the IBM compiler

Apache handled this issue for apxs starting in 2.0.45 by doing something 
we should have done all along: pull in APR's ldflags when linking DSOs 
so that we no longer relied on libtool to enable run-time linking

the only part I've heard about where run-time linking doesn't always 
work is when two pieces of code implement the same symbol, since there 
is a flat namespace... traditional AIX dynamic linking is two-level 
namespace, where for each symbol the binary indicates which library will 
resolve it

if mod_perl is built with apxs or with apr-config ldflags, then it uses 
run-time linking...  Jens-Uwe Mager had done a lot of work with mod_perl 
and Apache 1.3 on AIX and indicated that run-time linking was the way to 
go...  that, and anecdotes from other folks with mod_perl on AIX, 
influenced the choice to use run-time linking by default with apr and 
Apache 2.0



Re: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Stas Bekman
Jeff Trawick wrote:
Stas Bekman wrote:

When I've ported mod_perl 2.0 build to AIX, I have resorted to just 
using -berok (which is one of the flags enabled by -G). -G itself 
didn't quite work, I don't remember why. However I was told that it 
depends on which compiler is used, I've heard that this 
postpone-symbol-resolving doesn't always work.


actually I should have said  -Wl,-brtl, as that is what we use with 
apr (and any apr apps that pick up apr ldflags)...  as you pointed out, 
-G is more than just rtl
Yes, I forgot to mention -brtl. So I'm using -brtl, -berok

the only part that I've heard depends on the compiler is this:

libtool doesn't enable run-time linking with gcc in cases where it would 
do so for the IBM compiler

Apache handled this issue for apxs starting in 2.0.45 by doing something 
we should have done all along: pull in APR's ldflags when linking DSOs 
so that we no longer relied on libtool to enable run-time linking
Cool. We don't use libtool for building mod_perl. We get the mix of flags from 
perl and apr-config, apxs...

the only part I've heard about where run-time linking doesn't always 
work is when two pieces of code implement the same symbol, since there 
is a flat namespace... traditional AIX dynamic linking is two-level 
namespace, where for each symbol the binary indicates which library will 
resolve it
I wish it was also reporting this kind of problems. Normally the loader on AIX 
just silently bails out :( Luckily I don't use AIX for quite a few years 
already, it was always a pain to build anything at all.

if mod_perl is built with apxs or with apr-config ldflags, then it uses 
run-time linking...  Jens-Uwe Mager had done a lot of work with mod_perl 
and Apache 1.3 on AIX and indicated that run-time linking was the way to 
go...  that, and anecdotes from other folks with mod_perl on AIX, 
influenced the choice to use run-time linking by default with apr and 
Apache 2.0
;)

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


Re: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Jeff Trawick
Stas Bekman wrote:
Jeff Trawick wrote:

Stas Bekman wrote:

the only part I've heard about where run-time linking doesn't always 
work is when two pieces of code implement the same symbol, since there 
is a flat namespace... traditional AIX dynamic linking is two-level 
namespace, where for each symbol the binary indicates which library 
will resolve it


I wish it was also reporting this kind of problems. Normally the loader 
on AIX just silently bails out :( Luckily I don't use AIX for quite a 
few years already, it was always a pain to build anything at all.
I think you get to find out about your DSO picking up the wrong function 
of multiple with the same name by it behaving strangely :)  As far as 
the usual missing symbol problem, where dlerror() (or whatever it is) 
doesn't provide info, try http://www.apache.org/~trawick/cantloaddso.pl




RE: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Rahul Kohli
Hi All,

I am progressing with apxs approach. But can anyone tell me why the exp approach is 
failing on Apache 2.0.43. The same approach is working on Apache 1.3.26. For apxs 
approach there will be lots of changes in makefiles which our customer may not agree. 
Is there anything that I am missing in my current approach. 

Right now I am only importing symbols in httpd.exp. Do i need to import some other exp 
file also in addition to httpd.exp. 

Since the LoadModule directive is not loading the my library, my code has not yet 
executed. The problem is there with format of library only. Is there any was to detect 
whether my library is compatible with apache loading routines??

When i do apachectl start i get following error:

Syntax error on line 147 of /usr/apache/conf/httpd.conf:
Cannot load /home/agent5x/lib/my_lib.so into server:

FYI:  The same library built on solaris, hpux gets loaded properly  works fine. In 
solaris  hp we don't need to import symbols using -bI:httpd.exp option.

Why is the problem only on aix???

I am using xlC_r compiler on aix. Link line command to build the library are as below:

/usr/vacpp/bin/makeC++SharedLib_r  -G -p 0 -bnoipath 
../../Rosette30/unix/lib/aix-xlC_r/libbtunicode.so
 -bM:SRE -berok -bnoentry -blibpath:/usr/lib/threads:/usr/ibmcxx/lib:/usr/lib:/lib -s 
-bI:../../thi
rdparty/apache/httpd/2.0.43/aix43/server/httpd.exp -bE:mylib.exp ..

Regards,
Rahul


-Original Message-
From: Jeff Trawick [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 03, 2003 6:13 AM
To: [EMAIL PROTECTED]
Subject: Re: FW: httpd.exp for Apache 2.0.43


Stas Bekman wrote:
 Jeff Trawick wrote:
 
 Stas Bekman wrote:

 the only part I've heard about where run-time linking doesn't always 
 work is when two pieces of code implement the same symbol, since there 
 is a flat namespace... traditional AIX dynamic linking is two-level 
 namespace, where for each symbol the binary indicates which library 
 will resolve it
 
 
 I wish it was also reporting this kind of problems. Normally the loader 
 on AIX just silently bails out :( Luckily I don't use AIX for quite a 
 few years already, it was always a pain to build anything at all.

I think you get to find out about your DSO picking up the wrong function 
of multiple with the same name by it behaving strangely :)  As far as 
the usual missing symbol problem, where dlerror() (or whatever it is) 
doesn't provide info, try http://www.apache.org/~trawick/cantloaddso.pl




Re: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Stas Bekman
Rahul Kohli wrote:
Hi All,

I am progressing with apxs approach. But can anyone tell me why the exp approach is failing on Apache 2.0.43. The same approach is working on Apache 1.3.26. For apxs approach there will be lots of changes in makefiles which our customer may not agree. Is there anything that I am missing in my current approach. 

Right now I am only importing symbols in httpd.exp. Do i need to import some other exp file also in addition to httpd.exp. 

Since the LoadModule directive is not loading the my library, my code has not yet executed. The problem is there with format of library only. Is there any was to detect whether my library is compatible with apache loading routines??

When i do apachectl start i get following error:

Syntax error on line 147 of /usr/apache/conf/httpd.conf:
Cannot load /home/agent5x/lib/my_lib.so into server:
FYI:  The same library built on solaris, hpux gets loaded properly  works fine. In solaris  hp we don't need to import symbols using -bI:httpd.exp option.

Why is the problem only on aix???

I am using xlC_r compiler on aix. Link line command to build the library are as below:

/usr/vacpp/bin/makeC++SharedLib_r  -G -p 0 -bnoipath 
../../Rosette30/unix/lib/aix-xlC_r/libbtunicode.so
 -bM:SRE -berok -bnoentry -blibpath:/usr/lib/threads:/usr/ibmcxx/lib:/usr/lib:/lib -s 
-bI:../../thi
rdparty/apache/httpd/2.0.43/aix43/server/httpd.exp -bE:mylib.exp ..
You use either -bE:...exp or -G, not both together. The first is used for 
resolution during the linking, the latter for loadtime.

Also try dropping -G and add -brtl, read the ld manpage to what -G expands to
http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/cmds/aixcmds3/ld.htm#SPTA3C4F276668STUE
Regards,
Rahul
-Original Message-
From: Jeff Trawick [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 03, 2003 6:13 AM
To: [EMAIL PROTECTED]
Subject: Re: FW: httpd.exp for Apache 2.0.43
Stas Bekman wrote:

Jeff Trawick wrote:


Stas Bekman wrote:

the only part I've heard about where run-time linking doesn't always 
work is when two pieces of code implement the same symbol, since there 
is a flat namespace... traditional AIX dynamic linking is two-level 
namespace, where for each symbol the binary indicates which library 
will resolve it


I wish it was also reporting this kind of problems. Normally the loader 
on AIX just silently bails out :( Luckily I don't use AIX for quite a 
few years already, it was always a pain to build anything at all.


I think you get to find out about your DSO picking up the wrong function 
of multiple with the same name by it behaving strangely :)  As far as 
the usual missing symbol problem, where dlerror() (or whatever it is) 
doesn't provide info, try http://www.apache.org/~trawick/cantloaddso.pl



--

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


RE: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Rahul Kohli
Stas,

As per your suggestion I removed -bE , -G option  and added -brtl instead but still 
the issue remains the same 

The new command is as mentioned below:

/usr/vacpp/bin/makeC++SharedLib_r  -p 0 -bnoipath 
../../Rosette30/unix/lib/aix-xlC_r/libbtunicode.so -b
M:SRE -brtl -berok -bnoentry -blibpath:/usr/lib/threads:/usr/ibmcxx/lib:/usr/lib:/lib 
-s -bI:apache/httpd/2.0.43/aix43/server/httpd.exp  

Thanks,
 Rahul Kohli

-Original Message-
From: Stas Bekman [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 03, 2003 10:43 AM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: FW: httpd.exp for Apache 2.0.43


Rahul Kohli wrote:
 Hi All,
 
 I am progressing with apxs approach. But can anyone tell me why the exp approach is 
 failing on Apache 2.0.43. The same approach is working on Apache 1.3.26. For apxs 
 approach there will be lots of changes in makefiles which our customer may not 
 agree. Is there anything that I am missing in my current approach. 
 
 Right now I am only importing symbols in httpd.exp. Do i need to import some other 
 exp file also in addition to httpd.exp. 
 
 Since the LoadModule directive is not loading the my library, my code has not yet 
 executed. The problem is there with format of library only. Is there any was to 
 detect whether my library is compatible with apache loading routines??
 
 When i do apachectl start i get following error:
 
 Syntax error on line 147 of /usr/apache/conf/httpd.conf:
 Cannot load /home/agent5x/lib/my_lib.so into server:
 
 FYI:  The same library built on solaris, hpux gets loaded properly  works fine. In 
 solaris  hp we don't need to import symbols using -bI:httpd.exp option.
 
 Why is the problem only on aix???
 
 I am using xlC_r compiler on aix. Link line command to build the library are as 
 below:
 
 /usr/vacpp/bin/makeC++SharedLib_r  -G -p 0 -bnoipath 
 ../../Rosette30/unix/lib/aix-xlC_r/libbtunicode.so
  -bM:SRE -berok -bnoentry -blibpath:/usr/lib/threads:/usr/ibmcxx/lib:/usr/lib:/lib 
 -s -bI:../../thi
 rdparty/apache/httpd/2.0.43/aix43/server/httpd.exp -bE:mylib.exp ..

You use either -bE:...exp or -G, not both together. The first is used for 
resolution during the linking, the latter for loadtime.

Also try dropping -G and add -brtl, read the ld manpage to what -G expands to
http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/cmds/aixcmds3/ld.htm#SPTA3C4F276668STUE

 Regards,
 Rahul
 
 
 -Original Message-
 From: Jeff Trawick [mailto:[EMAIL PROTECTED]
 Sent: Tuesday, June 03, 2003 6:13 AM
 To: [EMAIL PROTECTED]
 Subject: Re: FW: httpd.exp for Apache 2.0.43
 
 
 Stas Bekman wrote:
 
Jeff Trawick wrote:


Stas Bekman wrote:

the only part I've heard about where run-time linking doesn't always 
work is when two pieces of code implement the same symbol, since there 
is a flat namespace... traditional AIX dynamic linking is two-level 
namespace, where for each symbol the binary indicates which library 
will resolve it


I wish it was also reporting this kind of problems. Normally the loader 
on AIX just silently bails out :( Luckily I don't use AIX for quite a 
few years already, it was always a pain to build anything at all.
 
 
 I think you get to find out about your DSO picking up the wrong function 
 of multiple with the same name by it behaving strangely :)  As far as 
 the usual missing symbol problem, where dlerror() (or whatever it is) 
 doesn't provide info, try http://www.apache.org/~trawick/cantloaddso.pl
 


-- 


__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com



RE: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Rahul Kohli
Stas,

I tried without -bI option as well but even that didn't helped. Kindly suggest if I 
need to import symbols from apr.exp and aprutil.exp as well along with the httpd.exp.

Regards,
 Rahul Kohli



-Original Message-
From: Stas Bekman [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 03, 2003 12:14 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: FW: httpd.exp for Apache 2.0.43


Rahul Kohli wrote:
 Stas,
 
 As per your suggestion I removed -bE , -G option and added -brtl instead
 but
still the issue remains the same
 
 The new command is as mentioned below:
 
 /usr/vacpp/bin/makeC++SharedLib_r -p 0 -bnoipath
../../Rosette30/unix/lib/aix-xlC_r/libbtunicode.so -b
 M:SRE -brtl -berok -bnoentry
-blibpath:/usr/lib/threads:/usr/ibmcxx/lib:/usr/lib:/lib -s
-bI:apache/httpd/2.0.43/aix43/server/httpd.exp

Ah, sorry, I forgot to mention to drop -bI as well. I don't have an access to 
the aix machine at this moment. but if you try to build mod_perl 2.0 you will 
see what flags it uses for linking.

the build instructions are here:
http://perl.apache.org/docs/2.0/user/install/install.html#Downloading_the_mod_perl_Source

the linking happens for the first time in src/modules/perl, when it creates 
mod_perl.so.

Hope that it works at all on your setup.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com



RE: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Rahul Kohli
Hi ,

We are able to load the library by importing symbols from apr.exp and aprutil.exp and 
removing the -G option.

But we are facing an error:
 shmmat failed.  You may be trying to make a cache that is too large or be doing 
apachectl restart.

Kindly suggest if we need to change some system parameter or some patch need to be 
applied to resolve this issue.

Thanks,
 Rahul Kohli

-Original Message-
From: Rahul Kohli 
Sent: Tuesday, June 03, 2003 2:33 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: RE: FW: httpd.exp for Apache 2.0.43


Stas,

I tried without -bI option as well but even that didn't helped. Kindly suggest if I 
need to import symbols from apr.exp and aprutil.exp as well along with the httpd.exp.

Regards,
 Rahul Kohli



-Original Message-
From: Stas Bekman [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 03, 2003 12:14 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Subject: Re: FW: httpd.exp for Apache 2.0.43


Rahul Kohli wrote:
 Stas,
 
 As per your suggestion I removed -bE , -G option and added -brtl instead
 but
still the issue remains the same
 
 The new command is as mentioned below:
 
 /usr/vacpp/bin/makeC++SharedLib_r -p 0 -bnoipath
../../Rosette30/unix/lib/aix-xlC_r/libbtunicode.so -b
 M:SRE -brtl -berok -bnoentry
-blibpath:/usr/lib/threads:/usr/ibmcxx/lib:/usr/lib:/lib -s
-bI:apache/httpd/2.0.43/aix43/server/httpd.exp

Ah, sorry, I forgot to mention to drop -bI as well. I don't have an access to 
the aix machine at this moment. but if you try to build mod_perl 2.0 you will 
see what flags it uses for linking.

the build instructions are here:
http://perl.apache.org/docs/2.0/user/install/install.html#Downloading_the_mod_perl_Source

the linking happens for the first time in src/modules/perl, when it creates 
mod_perl.so.

Hope that it works at all on your setup.

__
Stas BekmanJAm_pH -- Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide --- http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com



Re: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Jeff Trawick
Rahul Kohli wrote:

We are able to load the library by importing symbols from apr.exp and aprutil.exp and 
removing the -G option.

There's an issue with that for you to be aware of...

Build with Apache  2.0.45, and apr.exp and aprutil.exp specify that the 
names of apr and aprutil are libapr.so and libaprutil.so.  Build with 
Apache = 2.0.45 and those exp files specify that the names are 
libapr-0.so and libaprutil-0.so.  The dependencies in your DSO will 
affect that and you'll hit a binary incompatibility, since Apache = 
2.0.45 makes no provision for the names of apr and apr-util changing.

But we are facing an error:
 shmmat failed.  You may be trying to make a cache that is too large 
or be doing apachectl restart.

Now I remember where I have heard of libtunicode before :)  You'll need 
to contact the 3rd-party module vendor since that is not an Apache 
message, and we cannot suggest what sort of module configuration may be 
appropriate for your platform.

There are some hints about external configuration at

http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/basetrf2/shmat.htm

but surely the people who are familiar with that module can help.



RE: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Rahul Kohli
Jeff,

I was able to resolve the shmmat error by exporting the environment variable EXTSHM.

Please suggest me how can I  make my library compatible to later versions as well. 
Right now I have made a change to remove -G and -brtl option and using apr.exp , 
aprutil.exp.exp.

The link line is mentioned below: 

/usr/vacpp/bin/makeC++SharedLib_r  -p 0 -bnoipath 
../../Rosette30/unix/lib/aix-xlC_r/libbtunicode.so -b
M:SRE -berok -bnoentry -blibpath:/usr/lib/threads:/usr/ibmcxx/lib:/usr/lib:/lib -s 
-bI:/usr/IBMIHS/modules/http
d.exp -bI:/usr/IBMIHS/lib/apr.exp -bI:/usr/IBMIHS/lib/aprutil.exp -bE:my_lib.exp

But how can I make this work on 2.0.45 version and later. Kindly suggest.

 Rahul Kohli

-Original Message-
From: Jeff Trawick [mailto:[EMAIL PROTECTED]
Sent: Tuesday, June 03, 2003 4:28 PM
To: [EMAIL PROTECTED]
Subject: Re: FW: httpd.exp for Apache 2.0.43


Rahul Kohli wrote:

 We are able to load the library by importing symbols from apr.exp and aprutil.exp 
 and 
 removing the -G option.

There's an issue with that for you to be aware of...

Build with Apache  2.0.45, and apr.exp and aprutil.exp specify that the 
names of apr and aprutil are libapr.so and libaprutil.so.  Build with 
Apache = 2.0.45 and those exp files specify that the names are 
libapr-0.so and libaprutil-0.so.  The dependencies in your DSO will 
affect that and you'll hit a binary incompatibility, since Apache = 
2.0.45 makes no provision for the names of apr and apr-util changing.

 But we are facing an error:
  shmmat failed.  You may be trying to make a cache that is too large 
 or be doing apachectl restart.

Now I remember where I have heard of libtunicode before :)  You'll need 
to contact the 3rd-party module vendor since that is not an Apache 
message, and we cannot suggest what sort of module configuration may be 
appropriate for your platform.

There are some hints about external configuration at

http://publibn.boulder.ibm.com/doc_link/en_US/a_doc_lib/libs/basetrf2/shmat.htm

but surely the people who are familiar with that module can help.



Re: FW: httpd.exp for Apache 2.0.43

2003-06-03 Thread Jeff Trawick
Rahul Kohli wrote:

I was able to resolve the shmmat error by exporting the environment variable EXTSHM.

Please suggest me how can I  make my library compatible to later versions as well. Right now I 
have made a change to remove -G and -brtl option and using apr.exp , 
aprutil.exp.exp.
The link line is mentioned below: 

/usr/vacpp/bin/makeC++SharedLib_r  -p 0 -bnoipath 
../../Rosette30/unix/lib/aix-xlC_r/libbtunicode.so -b
M:SRE -berok -bnoentry -blibpath:/usr/lib/threads:/usr/ibmcxx/lib:/usr/lib:/lib -s 
-bI:/usr/IBMIHS/modules/http
d.exp -bI:/usr/IBMIHS/lib/apr.exp -bI:/usr/IBMIHS/lib/aprutil.exp -bE:my_lib.exp
But how can I make this work on 2.0.45 version and later. Kindly suggest.
If you stick with the import file method (httpd.exp, apr.exp, aprutil.exp):

if you build with Apache = 2.0.45

= no issue

if you build with Apache = 2.0.42 (my recommendation, since API is 
unchanged since 2.0.41 and 2.0.42 was the first such GA release)

= users need to create the symlinks libapr.so-libapr-0.so and 
libaprutil.so-libaprutil-0.so for 2.0.45 and 2.0.46, and we should 
consider creating the symlinks automatically for future 2.0 releases

If you get run-time linking to work:

= no issue

But I understand that you don't have this method working yet :)

The way I debug DSO loading issues on AIX is to look at the dump output 
from the DSO to see what symbols it is trying to resolve (and whether 
from main executable or runtime linking or some named library).  The 
dump output you sent privately when you were building the module with 
run-time linking had a reference to what looks like a C++-language 
ap_custom_response():

ap_custom_response__12CExternalApiFP11request_reciPc

Did you resolve that issue?