---- oh...@cox.net wrote: > > ---- Joe Lewis <j...@joe-lewis.com> wrote: > > On 6/21/12 5:49 PM, oh...@cox.net wrote: > > > ---- oh...@cox.net wrote: > > >> ---- Sorin Manolache<sor...@gmail.com> wrote: > > >>> And I forgot to say: run gdb in some sort of environment where you see > > >>> your current source code line and a couple of surrounding lines. You > > >>> could achieve this with the "list" command, but I prefer running gdb in > > >>> emacs and let emacs do the nice listing of source code in a different > > >>> panel. > > >>> > > >>> S > > >> > > >> Here's the function from my source. It's the original from > > >> mod_headers.c, plus my printf: > > >> > > >> > > >> static int header_post_config(apr_pool_t *pconf, apr_pool_t *plog, > > >> apr_pool_t *ptemp, server_rec *s) > > >> { > > >> printf("In header_post_config\n"); > > >> header_ssl_lookup = APR_RETRIEVE_OPTIONAL_FN(ssl_var_lookup); > > >> return OK; > > >> } > > >> > > >> Jim > > > > > > Hi, > > > > > > I was able to get the segfault to go away. Here's what I had to do: > > > > > > - Created /etc/ld.so.conf.d/my.conf, and added the directory where my > > > libobaccess.so was > > > - Run 'ldconfig' to activate. > > > - In the apxs command, DON'T include the -L and -l arguments > > > > > > After that, Apache appears to start ok, without segfault :)!! > > > > > > Thanks for all of the great help, esp. the suggestion about checking > > > "ldconfig -p". I still don't understand why, but I'm just glad that I > > > can get past this piece so now I can debug my module :)... > > > > > > Later, > > > Jim > > I'm just glad this list is as good as it is! > > > > FYI, the ldconfig is the dynamic linker control, and those > > /etc/ld.so.conf.d files provide additional search directories for the > > linker to check in when loading a library. > > > > Joe > > -- > > http://www.silverhawk.net/ > > > Hi, > > Sorry to report, but my earlier report was a "false positive" :)... > > I forgot that the mod_headers.c that I was doing the earlier testing with had > all references to the libobaccess.so removed :(!! > > So, I'm still stuck with basically the same problem, now, working with my > "full" code, with the calls in it: > > - If I compile with -L and -l, Apache segfaults when it starts > > - If I compile without -L and -l, then I get "undefined symbol" errors when I > try to start Apache, e.g.: > > [root@apachemodule build-mod_headers]# /apps/httpd2222/bin/apachectl -k start > -X > httpd: Syntax error on line 84 of /apps/httpd2222/conf/httpd.conf: Cannot > load /apps/httpd2222/modules/mod_headers.so into server: > /apps/httpd2222/modules/mod_headers.so: undefined symbol: > ObResource_isProtected > > That "ObResource_isProtected" should be a symbol in libobaccess.so, and in > fact, if I do "nm --dynamic", I get: > > [root@apachemodule build-mod_headers]# nm --dynamic > /apps/netpoint/lib64/libobaccess.so | grep "ObResource_isProtected" > 00000000000a6d80 T ObResource_isProtected > [root@apachemodule build-mod_headers]# > > > I'm *assuming* that the reason for the "undefined symbol" error is that > libobaccess.so is actually not being loaded, but then when I try to load > libobaccess.so, either via -L and -l in the apxs, or using LoadFile in > httpd.conf, I get the segfault (same gdb info, BTW). > > Catch-22? > > Sorry for the false alarm :(!! > > Jim > >
Hi, Also, BTW, now that I have the ld.so.conf.d setup, I can do "ldconfig -p" and get: [root@apachemodule build-mod_headers]# ldconfig -p | grep libob libobaccess.so (libc6,x86-64) => /apps/netpoint/lib64/libobaccess.so The library TYPE ("libc6") is the same with other .so files that are use, e.g., the libssl*.so, when I list them with ldconfig. Sill don't understand why loading that libobaccess.so causes Apache to segfault :(... Jim