---- Joe Lewis <j...@joe-lewis.com> wrote: 
> On 6/21/12 6:46 PM, 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
> >
> >
> Not a catch-22.  The -L and -l specify linker options when assembling 
> the code.  The ldconfig is a run-time thing.  If you are getting the 
> stderr messages, you are making it all the way into your library.  I'd 
> suggest commenting out the following line and see if you get farther :
> 
> header_ssl_lookup = APR_RETRIEVE_OPTIONAL_FN(ssl_var_lookup);
> 
> That should tell you if the problem is the ssl_var_lookup.
> 
> Joe
> --
> http://www.silverhawk.net/


Hi,

Thanks for the suggestion.  I just tried what you suggested, and got a segfault 
when I started Apache with the modified module.

Jim


Reply via email to