in reply to Re:XML::LibXML fails install on macOS Big Sur
in thread XML::LibXML fails install on macOS Big Sur

-DLIBXSLT_STATIC -DLIBEXSLT_STATIC -DLIBXML_STATIC ... Why LD_LIBRARY_PATH is bad
  • Comment on Re^2: XML::LibXML fails install on macOS Big Sur

Replies are listed 'Best First'.
Re^3: XML::LibXML fails install on macOS Big Sur
by wazat (Monk) on Dec 07, 2020 at 00:01 UTC

    LD_LIBRARY_PATH may be bad, but its use to investigate if there is a problem locating libxml is less so.

    I'm quite rusty at this sort of thing. Perhaps you can provide quidance to the original poster.

      First of all, thanks for all your help. It's much appreciated. I have made it a bit further. Now I get this error

      Can't locate loadable object for module XML::LibXML in @INC (@INC cont +ains: /Users/root/Documents/pxe_tools_1_39_145/include /Users/root/pe +rl5/perlbrew/perls/perl-5.28.2/lib/site_perl/5.28.2/darwin-2level /Us +ers/root/perl5/perlbrew/perls/perl-5.28.2/lib/site_perl/5.28.2 /Users +/root/perl5/perlbrew/perls/perl-5.28.2/lib/5.28.2/darwin-2level /User +s/root/perl5/perlbrew/perls/perl-5.28.2/lib/5.28.2) at /Users/root/pe +rl5/perlbrew/perls/perl-5.28.2/lib/site_perl/5.28.2/XML/LibXML.pm lin +e 156.
      BEGIN failed--compilation aborted at /Users/root/perl5/perlbrew/perls/perl-5.28.2/lib/site_perl/5.28.2/XML/LibXML.pm line 156.

      I have LibXML2 installed with homebrew, and I have XML::LibXML installed

      XML::LibXML is up to date. (2.0206)

      XML::LibXML ran the testing and building phase fine. I think my issue originally was the path in my bash_profile file wasn't correct, I added this

      export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH

      and all worked fine, or at least XML::LibXML tested, and installed without an error.

      My question is how do I find out what object isn't loading? The point it stops at is when LibXML.pm call for Common.pm, but that's installed, and the two requirements for that are installed as well. Any thoughts? Or do you think it's time to go back to the drawing board.

      2020-12-08 Athanasius corrected over-long code

        Can't locate loadable object for module XML::LibXML

        The "loadable object" is created during the building of the XML-LibXML-2.0206 module, and will contain all of the C/XS functionality provided by that module.
        I don't know what the loadable object is called on Darwin - maybe it's LibXML.so (as on Linux) or maybe it's LibXML.bundle. Are there other alternatives ?
        AFAIK the filename will be "LibXML", but I don't know what the file extension is.
        Based on the location of LibXML.pm, I'm guessing that the loadable object should be /Users/root/perl5/perlbrew/perls/perl-5.28.2/lib/site_perl/5.28.2/auto/XML/LibXML/LibXML.whatever
        However, if it was in that location, I would expect that it would be locatable - because that location is, I think, covered by the existing @INC.

        In the absence of more helpful advice, you could try reinstalling XML-LibXML-2.0206 and check the output of that reinstallation process to see what went where.
        Running cpan -fi XML::LibXML should do the trick - but, because that command uses force, you'll want to check that the tests did actually pass.
        I think another way to do it (without using force), is to delete (or hide by renaming) /Users/root/perl5/perlbrew/perls/perl-5.28.2/lib/site_perl/5.28.2/XML/LibXML.pm and then simply run:
        cpan -i XML::LibXML
        Cheers,
        Rob