From: [EMAIL PROTECTED] (Jason E. Stewart)
Date: Fri, 23 Apr 2004 10:37:43 +0530
Here's what I get for the modules:
~/work/xml-xerces/perl $ nm blib/arch/auto/XML/Xerces/Xerces.so |grep
PerlCallbackHandler.*set_callback_obj
00206b64 T _ZN19PerlCallbackHandler16set_callback_objEP2sv
001edf00 T _wrap_PerlCallbackHandler_set_callback_obj
~/work/xml-xerces/perl $ nm -C blib/arch/auto/XML/Xerces/Xerces.so |grep
PerlCallbackHandler.*set_callback_obj
00206b64 T PerlCallbackHandler::set_callback_obj(sv*)
001edf00 T _wrap_PerlCallbackHandler_set_callback_obj
~/work/xml-xerces/perl $ nm blib/arch/auto/Handler/Handler.a |grep
PerlCallbackHandler.*set_callback_obj
000004f0 T _ZN19PerlCallbackHandler16set_callback_objEP2sv
U _ZN19PerlCallbackHandler16set_callback_objEP2sv
U _ZN19PerlCallbackHandler16set_callback_objEP2sv
~/work/xml-xerces/perl $ nm -C blib/arch/auto/Handler/Handler.a |grep
PerlCallbackHandler.*set_callback_obj
000004f0 T PerlCallbackHandler::set_callback_obj(sv*)
U PerlCallbackHandler::set_callback_obj(sv*)
U PerlCallbackHandler::set_callback_obj(sv*)
See what your modules are producing.
Sorry, I did not give an answer to this question in my last e-mail.
The answer depends on whether I use the perl libraries obtained from
linking with the Xerces binaries obtained from Debian or those I
compiled from source my self. The former are in /usr/lib, and the
latter are in /opt/lib. (I set XERCES_LIB accordingly for each
separate build of Xerces.so, etc.)
For the "pre-compiled Debian binaries" case I get this (in all cases
the output of nm is piped through 'grep
PerlCallbackHandler.*set_callback_obj'):
nm blib/arch/auto/XML/Xerces/Xerces.so:
00159a40 T _wrap_PerlCallbackHandler_set_callback_obj
nm -C blib/arch/auto/XML/Xerces/Xerces.so:
00159a40 T _wrap_PerlCallbackHandler_set_callback_obj
0016e1ac T PerlCallbackHandler::set_callback_obj(sv *)
nm blib/arch/auto/Handler/Handler.a:
< NO OUTPUT >
nm -C blib/arch/auto/Handler/Handler.a:
000000dc T PerlCallbackHandler::set_callback_obj(sv *)
U PerlCallbackHandler::set_callback_obj(sv *)
U PerlCallbackHandler::set_callback_obj(sv *)
U PerlCallbackHandler::set_callback_obj(sv *)
For the case "fresh compiled" case:
nm blib/arch/auto/XML/Xerces/Xerces.so;
U _ZN19PerlCallbackHandler16set_callback_objEP2sv
000d3060 T _wrap_PerlCallbackHandler_set_callback_obj
nm -C blib/arch/auto/XML/Xerces/Xerces.so:
U PerlCallbackHandler::set_callback_obj(sv*)
000d3060 T _wrap_PerlCallbackHandler_set_callback_obj
[ The outcome for "nm blib/arch/auto/Handler/Handler.a" and "nm -C
blib/arch/auto/Handler/Handler.a" was identical to the one for the
"pre-compiled Debian binaries" case above. ]
Clearly, in both cases I'm getting something quite different from what
you're getting.
Incidentally, I forgot to mention earlier that for the case in which I
compiled my own Xerces libraries, I repeated the linking step with the
additional linker flag "--export-all-symbols". This seems to have had
no effect on the errors I get during make test.
Also, I should note that for both cases the corresponding DOMCount
executables seem to work OK.
I did not try "perl samples/DOMCount.pl samples/personal.xml" because
I get the same "undefined symbol" error as listed above from *any*
Perl script (such as samples/DOMCount.pl) with the line "use
XML::Xerces;", including
# minimal_xerces.pl
use lib 'blib/lib';
use lib 'blib/arch';
use XML::Xerces;
1;
__END__
I.e. the problem surfaces already at the time of loading the module,
not at the time of using it.
Thanks,
kj
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]