I'm linking an http module with -z parent=$pathto/httpd and everything is fine using -zdefs. However, when I start the httpd and it tries to load the module, it complains about unresolved symbol Cannot load libexec/mod_openam.so into server: ld.so.1: httpd: fatal: relocation error: file /usr/apache2/2.4/libexec/mod_openam.so: symbol ap_server_config_defines: referenced symbol not found.
However, a "nm /usr/apache2/2.4/bin/httpd | grep ap_server_config_defines" shows
[1984] | | 4967712| | 8|OBJT |GLOB |0 | |23 | |ap_server_config_defines |
So it is obviously there. Did I get something wrong with the -z parent option?
For completness here the full command used to link the module:
suncc -G -h mod_openam.so -Wl,-M,source/apache/agent.map -m64 -xarch=sse3 -zdefs -Bdirect -zguidance -zdiscard-unused=dependencies -m64 -i -zdefs -zguidance -Bdirect -lsocket -lnsl -lsendfile -lz -lpcre -lexpat -L/usr/apr/1.5/lib/amd64 -lapr-1 -L/usr/apr-util/1.5/lib/amd64 -laprutil-1 -lc -z parent=/usr/apache2/2.4/bin/httpd -z nodelete build/source/worker.o build/source/thread.o build/source/config_file.o build/source/process.o build/source/policy.o build/source/http_parser.o build/source/cache.o build/source/utility.o build/source/shared.o build/source/ip.o build/source/net_client_ssl.o build/source/session_saml.o build/source/net_ops.o build/source/config.o build/source/net_client.o build/source/config_xml.o build/source/init.o build/source/log.o build/source/naming_valid.o build/source/audit.o build/source/property_map.o build/source/session_xml.o build/source/policy_xml.o build/source/apache/agent.o -o build/mod_openam.so
(cc: Sun C 5.13 SunOS_i386 2014/10/20, S11.3 SRU 16.3)