missoula has asked for the wisdom of the Perl Monks concerning the following question:

Hello, I get the following error when I try to run a cgi-script. Can any monk enlighten what it is about ?---------------
Can't load '/usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi +/auto/XML/Xerces/Xerces.so' for module XML::Xerces: libxerces-c.so.25 +: cannot open shared object file: No such file or directory at /usr/l +ib64/perl5/5.8.6/x86_64-linux-thread-multi/DynaLoader.pm line 230. at /usr/lib64/perl5/site_perl/5.8.6/x86_64-linux-thread-multi/XML/Xer +ces.pm line 7 Compilation failed in require at /var/www/html/smd/cgi-bin/array/uploa +dArrayDesign.pl line 35. BEGIN failed--compilation aborted at /var/www/html/smd/cgi-bin/array/u +ploadArrayDesign.pl line 35.

20050926 Janitored by Corion: Added code tags

Replies are listed 'Best First'.
Re: libxerces-c.so.25
by Corion (Patriarch) on Sep 26, 2005 at 20:13 UTC

    You are trying to use XML::Xerces or are using a module that in turn uses XML::Xerces, but the Perl you are using doesn't have XML::Xerces installed.

    The remedy is to either install XML::Xerces (see the tutorials here and elsewhere) or to stop using XML::Xerces and the modules that require it.

      The error might also mean that XML::Xerces is installed, but for some reason it cannot find the external shared library libxerces-c.so.25 that the module was compiled against. This might mean that it's not available on the system, for which one should get and install the library, and then recompile the XML::Xerces package against it. If it is available, you may have to either run ldconfig() to update the links to the libraries, or else set the LD_LIBRARY_PATH environment variable to point to the directory where the library is found, if it's a non-standard location.
        We have a similar looking error. Although not exactly the same.

        Error....

        Can't load '/usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/XML/Xerces/Xerces.so' for module XML::Xerces: ld.so.1: /usr/bin/perl: fatal: relocation error: file /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/auto/XML/Xerces/Xerces.so: symbol _ZN11xercesc_2_56XMLUni22fgUCS4LEncodingString2E: referenced symbol not found at /usr/local/lib/perl5/5.8.7/sun4-solaris/DynaLoader.pm line 230. at /usr/local/lib/perl5/site_perl/5.8.7/sun4-solaris/XML/Xerces.pm line 7

        We have used these two guides to attempt the installation of Xerces...

        http://xml.apache.org/xerces-c/build-winunix.html#UNIX

        We follow the install.txt file

        set XERCESCROOT
        perl Makefile.PL
        make
        make test (which is never 100% ok)
        make install

        Are we leaving something out of install process?

        Thanks john