On Saturday, February 15, 2003, at 06:58 PM, Richard Jolly wrote:
Sorry, my apologies. I didn't realize it behaved differently with 5.8.0 - I have a whole herd of camels in my machine, but I usually use 5.6.0, and that's what I used to test this. The relevant part of Makefile.PL is:On Saturday, February 15, 2003, at 11:34 pm, Sherm Pendley wrote:It's printed when you run 'perl Makefile.PL'.Not for me: /usr/local/XML-Parser-2.31 80% perl Makefile.PL Note (probably harmless): No library found for -lexpat Writing Makefile for XML::Parser::Expat Writing Makefile for XML::Parser /usr/local/XML-Parser-2.31 81%
if (not $expat_libpath and $] >= 5.006001) {
require ExtUtils::Liblist; # Buggy before this
($expat_libpath) = ExtUtils::Liblist->ext('-lexpat');
}
unless ($expat_libpath) {
# Test for existence of libexpat
my $found = 0;
foreach (split(/\s+/, $Config{libpth})) {
if (-f "$_/libexpat." . $Config{so}) {
$found = 1;
last;
}
}
unless ($found) {
die <<'Expat_Not_Installed;';
Expat must be installed prior to building XML::Parser and I can't find
...
If Perl 5.6.1 or newer is found, and the path to libexpat hasn't been explicitly set with an argument passed to Makefile.PL, ExtUtils::Liblist is used to try to find it.
I haven't written anything that used ExtUtils::Liblist, but I would guess that even though it's correctly reporting that it cannot find libexpat - that's the "probably harmless" message - it's still returning a value that evaluates to true, so the block inside of "unless($expat_libpath)" never gets a chance to print its own error message.
So, with 5.6.0, we get several paragraphs of solid, clear explanation; with anything newer we get "Note (probably harmless): No library found". That's what I call progress... if we keep working at it, we can probably get 5.10 to just dump core with no messages at all! ;-\
sherm--
If you listen to a UNIX shell, can you hear the C?
