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.)
