Jim, Have you looked at the LoadFile directive, sometime that can be of use for third party libraries. http://httpd.apache.org/docs/2.4/mod/mod_so.html#loadfile
/Ant On 21 June 2012 20:19, <oh...@cox.net> wrote: > > ---- Sorin Manolache <sor...@gmail.com> wrote: > > On 2012-06-21 19:47, oh...@cox.net wrote: > > > > > I've tried using "-l" pointing directly to the .so, libobaccess.so, > but when I do that, it says it can't find the .so: > > > > > > [root@apachemodule build-mod_headers]# ./compile-mod-headers.sh > > > /apps/httpd2222/build/libtool --silent --mode=compile gcc -prefer-pic > -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -g -O2 -pthread > -I/apps/httpd2222/include -I/apps/httpd2222/include > -I/apps/httpd2222/include -c -o mod_headers.lo mod_headers.c && touch > mod_headers.slo > > > /apps/httpd2222/build/libtool --silent --mode=link gcc -o > mod_headers.la -l/apps/netpoint/AccessServerSDK/oblix/lib/libobaccess.so > -rpath /apps/httpd2222/modules -module -avoid-version mod_headers.lo > > > /usr/bin/ld: cannot find > -l/apps/netpoint/AccessServerSDK/oblix/lib/libobaccess.so > > > collect2: ld returned 1 exit status > > > apxs:Error: Command failed with rc=65536 > > > > Try -lobaccess > > > > S > > > Sorin, > > I was able to get Apache to start, kind of, using the apxs I posted, but > adding LoadFile directives to the Apache httpd.conf, to load libobaccess.so. > > Now, when I run "apachectl -t", it says "OK", but when I try to actually > start Apache, I get a segfault (see below). The thing is, I have a bunch > of printfs in almost every function in mod_headers.c, so I could see what > functions are being called, and it looks like the segfault is occurring > even before it gets to any of the code parts that I've tweaked (vs. > original mod_headers.c): > > > [root@apachemodule build-mod_headers]# /apps/httpd2222/bin/apachectl -k > start -X > mod_headers-jl V0.09 - start calling OAM API > In register_hooks > In create_headers_dir_config > In create_headers_dir_config > In header_cmd > In header_inout_cmd > In parse_format_tag > In parse_misc_string > In create_headers_dir_config > In header_cmd > In header_inout_cmd > In parse_format_tag > In parse_misc_string > In header_post_config > > I tried running strace, and got (the ending of the strace): > > > In register_hooks > In create_headers_dir_config > In create_headers_dir_config > In header_cmd > In header_inout_cmd > In parse_format_tag > In parse_misc_string > In create_headers_dir_config > In header_cmd > In header_inout_cmd > In parse_format_tag > In parse_misc_string > In header_post_config > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 > rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 > rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 > rt_sigaction(SIGINT, {0x432cc0, [], SA_RESTORER, 0x351432e300}, {SIG_DFL}, > 8) = 0 > wait4(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV}], 0, NULL) = 11711 > fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 5), ...}) = 0 > mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = > 0x2a983bf000 > open("/usr/share/locale/locale.alias", O_RDONLY) = 3 > fstat(3, {st_mode=S_IFREG|0644, st_size=2528, ...}) = 0 > mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = > 0x2a983c0000 > read(3, "# Locale name alias data base.\n#"..., 4096) = 2528 > read(3, "", 4096) = 0 > close(3) = 0 > munmap(0x2a983c0000, 4096) = 0 > open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 > ENOENT (No such file or directory) > open("/usr/share/locale/en_US.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 > ENOENT (No such file or directory) > open("/usr/share/locale/en_US/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT > (No such file or directory) > open("/usr/share/locale/en.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 > ENOENT (No such file or directory) > open("/usr/share/locale/en.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 > ENOENT (No such file or directory) > open("/usr/share/locale/en/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (No > such file or directory) > write(2, "/apps/httpd2222/bin/apachectl: l"..., > 83/apps/httpd2222/bin/apachectl: line 78: 11711 Segmentation fault > $HTTPD $ARGV > ) = 83 > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 > --- SIGCHLD (Child exited) @ 0 (0) --- > wait4(-1, 0x7fbfffed64, WNOHANG, NULL) = -1 ECHILD (No child processes) > rt_sigreturn(0xffffffffffffffff) = 0 > rt_sigaction(SIGINT, {SIG_DFL}, {0x432cc0, [], SA_RESTORER, 0x351432e300}, > 8) = 0 > rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 > read(255, "\nexit $ERROR\n\n", 3420) = 14 > rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 > rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 > exit_group(139) = ? > > > I'll try to do the apxs with -lobccess and post back... > > Jim >