Rahul Kohli wrote:
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.

I assume you have ported your application to Apache 2 API? You can get the same symptom by trying to load a module written for Apache 1.3.

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.

Please use apxs to build your module if at all possible.


You may find http://www.apache.org/~trawick/cantloaddso.pl useful for displaying the symbols imported by your module but not exported by httpd/apr/aprutil.

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.


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.

apxs enables run-time linking. (But there was a bug with gcc and Apache < 2.0.45... The work-around is to add "-Wl,-G" to apxs invocation.)



Reply via email to