---- Sorin Manolache<[email protected]> wrote:
On 2012-06-21 19:47, [email protected] 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