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]

Reply via email to