http://www.perlmonks.org?node_id=760657


in reply to Re: Benchmarks of XML Parsers
in thread Benchmarks of XML Parsers

How do I find that out? (Debian system)

Update: I'm guessing libexpat 1.0.0 and libxml2 2.6.27 from the file names I found in /usr/lib:

/usr/lib/libexpat.so.0 -> libexpat.so.1 /usr/lib/libexpat.so.1 -> libexpat.so.1.0.0 /usr/lib/libexpat.so.1.0.0 /usr/lib/libxml2.so -> libxml2.so.2.6.27 /usr/lib/libxml2.so.2 -> libxml2.so.2.6.27 /usr/lib/libxml2.so.2.6.27

Update: um.. The package manager says libexpat1 1.95.8(-3.4) and libxml2 2.6.27(-dfsg-6) were installed. Is libexpat1 something different?

Replies are listed 'Best First'.
Re^3: Benchmarks of XML Parsers
by Anonymous Monk on Apr 28, 2009 at 17:20 UTC
    Not sure, I would check with ldd
    #!/usr/bin/perl -- use strict; use warnings; use XML::LibXML; use XML::Parser; for my $so( grep /xml/i, @DynaLoader::dl_shared_objects ){ print "$so\n"; print `ldd $so\n`; } __END__

      [ You linked to the Lego Digital Designer *giggle* ]

      That array is empty (!?), confirmed with Data::Dumper.

      Update: There appears to be a line missing from my install of DynaLoader (!!!). Once I added it, I got:

      /usr/lib/perl5/auto/XML/LibXML/Common/Common.so linux-gate.so.1 => (0xffffe000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7ded000) libz.so.1 => /usr/lib/libz.so.1 (0xb7dd9000) libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7dc7 +000) libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7da2000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7c71000) libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7c6d000) /lib/ld-linux.so.2 (0x80000000) /home/ikegami/lib/perl5/i486-linux-gnu-thread-multi/auto/XML/LibXML/Li +bXML.so linux-gate.so.1 => (0xffffe000) libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb7df4000) libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0xb7dbd000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7c8c000) libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb7c88000) libz.so.1 => /usr/lib/libz.so.1 (0xb7c74000) /lib/ld-linux.so.2 (0x80000000) /usr/lib/perl5/auto/XML/Parser/Expat/Expat.so linux-gate.so.1 => (0xffffe000) libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb7f40000) libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7e0f000) libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb7dfd +000) /lib/ld-linux.so.2 (0x80000000)

      That doesn't seem to include any version info?

      Update: The bug was fixed in DynaLoader 1.05 which comes with Perl 5.8.{4,5,6,7,8,9}. I'm using Perl 5.8.8, but DynaLoader is just 1.04. WTF?!