in reply to Re^2: XML::LibXSLT on OS X install problem
in thread XML::LibXSLT on OS X install problem

I don't know what prove is.

Don't feel bad... I had never heard of it either until now. (Thanks, jimk!)

Luckily, you can do "perldoc prove", and read all about it. It will probably involve using your command-line shell to go into the ".cpan/build" directory being used by your cpan config (this is typically in your home directory), and from there into the subdir for the module in question; the test scripts are there in a subdir called "t", and you'll run "prove" on those.

update: FWIW, I was able to install XML::LibXML just now on osx 10.4.4 with perl 5.8.6; I didn't get any of those "dubious" reports, let alone any deaths during testing. (There was this interesting comment:

running xml2-config...untested WARNING! The installed version of libxml2 was not tested with this version of X +ML::LibXML. XML::LibXML may fail building or some tests may not pass. Expect strange errors and unstable scripts. Check the README file for more informations
but nothing of that sort seems to have happened, and the warning never appeared again on a subsequent run of xml2-config.)

Sometimes, when I've had trouble with installations via "perl -MCPAN -e shell", I've been able to work it out by going back to the unix shell, going into the directory under .cpan where the module package was unpacked, and mucking around manually with "make clean; perl Makefile.PL; make; make test". If any tests fail, look in the "t" subdir to find those tests, and step through them if need be. If they seem unrelated to my intended use of the module, I go ahead and do "make install" anyway; if they're important, I try to get the appropriate details to the module maintainer.

One other point: my install involved a few dependencies -- other modules that I didn't have yet that XML::LibXML needed. These went fine too, but have you checked whether these modules are present and working correctly: XML::LibXML and XML::LibXML::Common.

Replies are listed 'Best First'.
Re^4: XML::LibXSLT on OS X install problem
by alienhuman (Pilgrim) on Feb 06, 2006 at 16:56 UTC

    Thanks for the information, graff, much appreciated.

    It turns out that 'perldoc prove' doesn't return any documentation. Is it part of Test::Harness? I've got version 2.29 of Test::Harness, but I notice that the version on CPAN is 2.56.

    I do have XML::LibXML and XML::LibXML::Common installed (1.58 and 0.13 respectively), so hopefully the dependencies are satisfied there.

    I took your advice and descended into .cpan/build/XML-LibXSLT-1.58/ and ran 'make clean'. Here's the output:

    make: *** No rule to make target `clean'. Stop.
    I also decided to run 'perl Makefile.PL'. Here's the output:
    running xslt-config... ok looking for -lxslt... no libxslt not found Try setting LIBS and INC values on the command line Or get libxslt and libxml2 from http://www.libxml.org/ If you install via RPMs, make sure you also install the -devel RPMs, as this is where the headers (.h files) are.
    I had to do something similar for LibXML, using a cpan config option called 'makepl_arg', but I tried using the same args and it didn't work (the error message said something like 'unknown argument').

    I know where libxslt is installed (fink puts it in a non-standard place, apparently), so if I can figure out what arguments to pass Makefile.PL (and how), I think I can get this working.

    Any advice is greatly appreciated.

    AH

    ----------
    Using perl 5.8.1-RC3 unless otherwise noted. Apache/1.3.33 (Darwin) unless otherwise noted. Mac OS X 10.3.9 unless otherwise noted.
      ... if I can figure out what arguments to pass Makefile.PL (and how), I think I can get this working.

      I know exactly what that's like. This really clever, handy install tool says "Try setting LIBS and INC values on the command line", and... okay, how is that done, exactly? Um...

      Well, I did find it -- it's tucked away in some nook of Makefile.PL, in a code block that you somehow failed to trigger. Given that you know where the library (libxml*) and include files (*.h) are, you do this in the build directory:

      perl Makefile.PL LIBS='-L/path/to/lib' INC='-I/path/to/include'
      That should do it. (I hope)

        graff, thanks very much for all your help.

        Here's the makefile command, with args for the correct paths:

        perl Makefile.PL LIBS='-L/sw/lib' INC='-I/sw/include'
        And here's the output (which I believe indicates success):
        running xslt-config... ok looking for -lxslt... yes looking for -lexslt... yes Writing Makefile for XML::LibXSLT
        Now here's the bad news. I ran 'make', and got some seriously ugly output. The problem (I think) stems from some initial error messages like this:
        In file included from LibXSLT.xs:7: /sw/include/libxslt/xslt.h:13:25: libxml/tree.h: No such file or direc +tory
        Now, I've got tree.h (and related headers) on my system in two places: /sw/include/libxml2/libxml/tree.h and /sw/include/gnome-xml/tree.h

        The question is, which one and how to get it in the Makefile? Also, I'd like to say here that this question has basically left the domain of perl and veered into make, so if you don't have time for this hand-holding, I completely understand. I recognize that I really need to pick up a book on make and learn wtf I'm doing. ;-)

        The full output from make follows:

        ----------
        Using perl 5.8.1-RC3 unless otherwise noted. Apache/1.3.33 (Darwin) unless otherwise noted. Mac OS X 10.3.9 unless otherwise noted.