Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
General
GeneralPortable MacsHardwareNetworking
Applications
Mac ApplicationsEudoraFirefox / MozillaInternet ExplorerOutlook ExpressMS OfficeEntourageExcelPowerPointWordVirtual PCMedia PlayerOther MS Products
Programming
Mac ProgrammingCodeWarriorPerl
Country Specific
Australian Mac GroupUK Mac Group

Mac Forum / Programming / Perl / August 2006



Tip: Looking for answers? Try searching our database.

install problems: XML::LibXML::XPathContext

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Michael Glaesemann - 31 Jul 2006 06:33 GMT
Hello.

I'm having trouble installing XML::LibXML::XPathContext on a Intel  
Mini (via CPAN). I had no problem installing it on my Powerbook, so  
I'm wondering if it has to do with a difference between PowerPC and  
Intel processors (for lack of any other evidence). Has anyone else  
had trouble installing XML::LibXML::XPathContext?

There are a few warnings about arguments differing in signedness  
during compilation, and a truly amazing number of test failures  
(failing 200% and 183%, if the numbers are to be believed.)

One thing I'm wondering about is the following warning:
/usr/bin/ld: warning -L: directory name (/usr/local/lib) does not exist

I've tried creating /usr/local/lib and installing again, but not  
surprisingly it just removes the warning: I still get the same number  
of test failures. Checking this directory on my Powerbook (with the  
successful XML::LibXML::XPathContext install), I see a number of  
libraries, but none of them look like they have any connection with  
XML (libnmz, libreadline, libsqlite3, libruby, libfcgi, libchasen,  
libhistory, libapreq).

Please find my version and install logs below. I've Googled on some  
of the error strings, but nothing except for a CPAN install failure  
log on an older version of Darwin from 7 months ago[1] have risen to  
the surface.

Thanks for any insight, pointers to documentation, or suggestions of  
things I might try to get it installed are most appreciated.

Michael Glaesemann
grzm seespotcode net

[1](http://www.codecomments.com/archive430-2005-12-736887.html)

================

$ perl -V
Summary of my perl5 (revision 5 version 8 subversion 6) configuration:
  Platform:
    osname=darwin, osvers=8.0, archname=darwin-thread-multi-2level
    uname='darwin b01.apple.com 8.0 darwin kernel version 8.0.0: tue  
nov 15 13:23:51 pst 2005; root:xnu-792.99.1.obj~6release_ppc power  
macintosh powerpc '
    config_args='-ds -e -Dprefix=/usr -Dccflags=-g  -pipe  -
Dldflags=-Dman3ext=3pm -Duseithreads -Duseshrplib'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define  
usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-g -pipe -fno-common -DPERL_DARWIN -no-cpp-
precomp -fno-strict-aliasing -I/usr/local/include',
    optimize='-O3',
    cppflags='-no-cpp-precomp -g -pipe -fno-common -DPERL_DARWIN -no-
cpp-precomp -fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='4.0.1 (Apple Computer, Inc. build  
5250)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8,  
Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags ='-L/usr/
local/lib'
    libpth=/usr/local/lib /usr/lib
    libs=-ldbm -ldl -lm -lc
    perllibs=-ldl -lm -lc
    libc=/usr/lib/libc.dylib, so=dylib, useshrplib=true,  
libperl=libperl.dylib
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' '
    cccdlflags=' ', lddlflags='-bundle -undefined dynamic_lookup -L/
usr/local/lib'

Characteristics of this binary (from libperl):
  Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES  
PERL_IMPLICIT_CONTEXT
  Locally applied patches:
        23953 - fix for File::Path::rmtree CAN-2004-0452 security issue
        33990 - fix for setuid perl security issues
  Built under darwin
  Compiled at Jan 13 2006 11:59:39
  @INC:
    /System/Library/Perl/5.8.6/darwin-thread-multi-2level
    /System/Library/Perl/5.8.6
    /Library/Perl/5.8.6/darwin-thread-multi-2level
    /Library/Perl/5.8.6
    /Library/Perl
    /Network/Library/Perl/5.8.6/darwin-thread-multi-2level
    /Network/Library/Perl/5.8.6
    /Network/Library/Perl
    /System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level
    /System/Library/Perl/Extras/5.8.6
    /Library/Perl/5.8.1
    .
=====
CPAN: Storable loaded ok
Going to read /Users/saiadmin/.cpan/Metadata
  Database was generated on Sun, 30 Jul 2006 09:31:45 GMT
Running install for module XML::LibXML::XPathContext
Running make for P/PA/PAJAS/XML-LibXML-XPathContext-0.07.tar.gz
CPAN: Digest::SHA loaded ok
CPAN: Module::Signature loaded ok
WARNING: This key is not certified with a trusted signature!
Primary key fingerprint: 2E66 557A B97C 19C7 91AF  8E20 328D A867  
450F 89EC
Signature for /Users/saiadmin/.cpan/sources/authors/id/P/PA/PAJAS/
CHECKSUMS ok
CPAN: Compress::Zlib loaded ok
Checksum for /Users/saiadmin/.cpan/sources/authors/id/P/PA/PAJAS/XML-
LibXML-XPathContext-0.07.tar.gz ok
Scanning cache /Users/saiadmin/.cpan/build for sizes
XML-LibXML-XPathContext-0.07/
XML-LibXML-XPathContext-0.07/t/
XML-LibXML-XPathContext-0.07/t/02-functions.t
XML-LibXML-XPathContext-0.07/t/00-xpathcontext.t
XML-LibXML-XPathContext-0.07/t/01-variables.t
XML-LibXML-XPathContext-0.07/xpath.c
XML-LibXML-XPathContext-0.07/xpath.h
XML-LibXML-XPathContext-0.07/LICENSE
XML-LibXML-XPathContext-0.07/dom.c
XML-LibXML-XPathContext-0.07/dom.h
XML-LibXML-XPathContext-0.07/XPathContext.pm
XML-LibXML-XPathContext-0.07/XPathContext.xs
XML-LibXML-XPathContext-0.07/README
XML-LibXML-XPathContext-0.07/Changes
XML-LibXML-XPathContext-0.07/Makefile.PL
XML-LibXML-XPathContext-0.07/ppport.h
XML-LibXML-XPathContext-0.07/perl-libxml-mm.c
XML-LibXML-XPathContext-0.07/perl-libxml-mm.h
XML-LibXML-XPathContext-0.07/META.yml
XML-LibXML-XPathContext-0.07/typemap
XML-LibXML-XPathContext-0.07/MANIFEST
Removing previously used /Users/saiadmin/.cpan/build/XML-LibXML-
XPathContext-0.07
Package came without SIGNATURE

  CPAN.pm: Going to build P/PA/PAJAS/XML-LibXML-
XPathContext-0.07.tar.gz

enable native perl UTF8
running xml2-config... ok
running gdome-config...failed
GDOME support is optional and is not required for running
this package
looking for -lxml2... yes
Checking if your kit is complete...
Looks good
Writing Makefile for XML::LibXML::XPathContext
CPAN: YAML loaded ok
cp XPathContext.pm blib/lib/XML/LibXML/XPathContext.pm
/usr/bin/perl /System/Library/Perl/5.8.6/ExtUtils/xsubpp  -typemap /
System/Library/Perl/5.8.6/ExtUtils/typemap -typemap typemap  
XPathContext.xs > XPathContext.xsc && mv XPathContext.xsc XPathContext.c
cc -c  -I/opt/local/include/libxml2 -I/opt/local/include -g -pipe -
fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/
local/include -O3   -DVERSION=\"0.07\" -DXS_VERSION=\"0.07\"  "-I/
System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE"  -
DHAVE_UTF8 -DHAVE_BLANK XPathContext.c
XPathContext.xs: In function 'xpc_LibXML_generic_extension_function':
XPathContext.xs:340: warning: pointer targets in assignment differ in  
signedness
XPathContext.xs:341: warning: pointer targets in assignment differ in  
signedness
XPathContext.xs:429: warning: pointer targets in passing argument 1  
of 'xpc_C2Sv' differ in signedness
XPathContext.xs: In function 'XS_XML__LibXML__XPathContext_registerNs':
XPathContext.xs:692: warning: pointer targets in passing argument 2  
of 'xmlXPathRegisterNs' differ in signedness
XPathContext.xs:692: warning: pointer targets in passing argument 3  
of 'xmlXPathRegisterNs' differ in signedness
XPathContext.xs:696: warning: pointer targets in passing argument 2  
of 'xmlXPathRegisterNs' differ in signedness
XPathContext.xs: In function 'XS_XML__LibXML__XPathContext_lookupNs':
XPathContext.xs:714: warning: pointer targets in passing argument 2  
of 'xmlXPathNsLookup' differ in signedness
XPathContext.xs: In function  
'XS_XML__LibXML__XPathContext_registerFunctionNS':
XPathContext.xs:857: warning: pointer targets in passing argument 2  
of 'xmlXPathRegisterFuncNS' differ in signedness
XPathContext.xs:857: warning: pointer targets in passing argument 3  
of 'xmlXPathRegisterFuncNS' differ in signedness
XPathContext.xs:861: warning: pointer targets in passing argument 2  
of 'xmlXPathRegisterFunc' differ in signedness
cc -c  -I/opt/local/include/libxml2 -I/opt/local/include -g -pipe -
fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/
local/include -O3   -DVERSION=\"0.07\" -DXS_VERSION=\"0.07\"  "-I/
System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE"  -
DHAVE_UTF8 -DHAVE_BLANK dom.c
cc -c  -I/opt/local/include/libxml2 -I/opt/local/include -g -pipe -
fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/
local/include -O3   -DVERSION=\"0.07\" -DXS_VERSION=\"0.07\"  "-I/
System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE"  -
DHAVE_UTF8 -DHAVE_BLANK perl-libxml-mm.c
perl-libxml-mm.c: In function 'xpc_PmmFastDecodeString':
perl-libxml-mm.c:660: warning: pointer targets in passing argument 1  
of 'xmlCharStrndup' differ in signedness
perl-libxml-mm.c: In function 'nodexpc_C2Sv':
perl-libxml-mm.c:816: warning: pointer targets in passing argument 1  
of 'xpc_PmmDecodeString' differ in signedness
perl-libxml-mm.c:816: warning: pointer targets in initialization  
differ in signedness
perl-libxml-mm.c:829: warning: pointer targets in passing argument 1  
of 'xmlParseCharEncoding' differ in signedness
perl-libxml-mm.c: In function 'nodexpc_Sv2C':
perl-libxml-mm.c:894: warning: pointer targets in passing argument 1  
of 'xpc_PmmEncodeString' differ in signedness
cc -c  -I/opt/local/include/libxml2 -I/opt/local/include -g -pipe -
fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -I/usr/
local/include -O3   -DVERSION=\"0.07\" -DXS_VERSION=\"0.07\"  "-I/
System/Library/Perl/5.8.6/darwin-thread-multi-2level/CORE"  -
DHAVE_UTF8 -DHAVE_BLANK xpath.c
Running Mkbootstrap for XML::LibXML::XPathContext ()
chmod 644 XPathContext.bs
rm -f blib/arch/auto/XML/LibXML/XPathContext/XPathContext.bundle
LD_RUN_PATH="/opt/local/lib:/usr/lib" env  
MACOSX_DEPLOYMENT_TARGET=10.3 cc  -bundle -undefined dynamic_lookup -
L/usr/local/lib XPathContext.o dom.o perl-libxml-mm.o xpath.o  -o  
blib/arch/auto/XML/LibXML/XPathContext/XPathContext.bundle   -L/opt/
local/lib -lxml2 -lz -lpthread -L/opt/local/lib -liconv -lm
/usr/bin/ld: warning -L: directory name (/usr/local/lib) does not exist
chmod 755 blib/arch/auto/XML/LibXML/XPathContext/XPathContext.bundle
cp XPathContext.bs blib/arch/auto/XML/LibXML/XPathContext/
XPathContext.bs
chmod 644 blib/arch/auto/XML/LibXML/XPathContext/XPathContext.bs
Manifying blib/man3/XML::LibXML::XPathContext.3pm
  /usr/bin/make  -- OK
Running make test
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e"  
"test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/00-xpathcontext....dubious
        Test returned status 0 (wstat 10, 0xa)
DIED. FAILED tests 1-54
        Failed 54/54 tests, 0.00% okay
t/01-variables.......dubious
        Test returned status 0 (wstat 10, 0xa)
DIED. FAILED tests 4-35
        Failed 32/35 tests, 8.57% okay
t/02-functions.......ok
Failed Test         Stat Wstat Total Fail  Failed  List of Failed
------------------------------------------------------------------------
-------
t/00-xpathcontext.t    0    10    54  108 200.00%  1-54
t/01-variables.t       0    10    35   64 182.86%  4-35
Failed 2/3 test scripts, 33.33% okay. 86/121 subtests failed, 28.93%  
okay.
make: *** [test_dynamic] Error 255
  /usr/bin/make test -- NOT OK
Running make install
  make test had returned bad status, won't install without force
Failed during this command:
  PAJAS/XML-LibXML-XPathContext-0.07.tar.gz    : make_test NO
Michael Glaesemann - 01 Aug 2006 02:15 GMT
> I'm having trouble installing XML::LibXML::XPathContext on a Intel  
> Mini (via CPAN). I had no problem installing it on my Powerbook, so  
> I'm wondering if it has to do with a difference between PowerPC and  
> Intel processors (for lack of any other evidence). Has anyone else  
> had trouble installing XML::LibXML::XPathContext?

I ended up force installing XML::LibXML::XPathContext (and  
XML::RSS::LibXML, which is also a dependency for Plagger, which is my  
utlimate goal). I noticed in my System.log that perl was actually  
crashing during the tests. I've included the final crash report from /
Library/Logs/CrashReporter/perl.crash.log below. Am I right in  
thinking I should contact the author of XML::LibXML::XPathContext?

Thanks for any suggestions or pointers.

Michael Glaesemann
grzm seespotcode net

**********

Host Name:      wilde
Date/Time:      2006-08-01 09:12:51.833 +0900
OS Version:     10.4.7 (Build 8J2135a)
Report Version: 4

Command: perl
Path:    /usr/bin/perl
Parent:  perl [2563]

Version: ??? (???)

PID:    2591
Thread: 0

Exception:  EXC_BAD_ACCESS (0x0001)
Codes:      KERN_PROTECTION_FAILURE (0x0002) at 0x00000009

Thread 0 Crashed:
0   libxml2.2.dylib             0x010d0ce5 xmlPatternMaxDepth + 52  
(pattern.c:2513)
1   libxml2.2.dylib             0x01062b81 xmlXPathRunEval + 82  
(xpath.c:11026)
2   libxml2.2.dylib             0x0106336c xmlXPathCompiledEval + 144  
(xpath.c:11539)
3   XPathContext.bundle         0x000600e3 xpc_domXPathFind + 92  
(xpath.c:161)
4   XPathContext.bundle         0x0005bc69  
XS_XML__LibXML__XPathContext__findnodes + 385 (XPathContext.xs:919)
5   libperl.dylib               0x96887d40 Perl_pp_entersub + 897
6   libperl.dylib               0x9687ee07 Perl_runops_standard + 19
7   libperl.dylib               0x96812194 perl_run + 300
8   perl                        0x000020d2 0x1000 + 4306
9   perl                        0x00001f56 0x1000 + 3926
10  perl                        0x00001e71 0x1000 + 3697

Thread 0 crashed with i386 Thread State:
eax: 0x00000005    ebx: 0x01062b3d ecx:0x005e70f0 edx: 0x005e70b0
edi: 0x005e70f0    esi: 0x00000000 ebp:0xbffff648 esp: 0xbffff63c
ss: 0x0000002f    efl: 0x00010206 eip:0x010d0ce5  cs: 0x00000027
ds: 0x0000002f     es: 0x0000002f  fs:0x00000000  gs: 0x00000037

Binary Images Description:
    0x1000 -     0x2fff perl    /usr/bin/perl
   0x1e000 -    0x24fff Encode.bundle   /System/Library/Perl/5.8.6/
darwin-thread-multi-2level/auto/Encode/Encode.bundle
   0x39000 -    0x3afff Common.bundle   /Library/Perl/5.8.6/darwin-
thread-multi-2level/auto/XML/LibXML/Common/Common.bundle
   0x47000 -    0x49fff IO.bundle       /System/Library/Perl/5.8.6/
darwin-thread-multi-2level/auto/IO/IO.bundle
   0x58000 -    0x60fff XPathContext.bundle     /Library/Perl/5.8.6/
darwin-thread-multi-2level/auto/XML/LibXML/XPathContext/
XPathContext.bundle
   0x81000 -    0x92fff libz.1.dylib    /opt/local/lib/libz.1.dylib
  0x205000 -   0x246fff LibXML.bundle   /Library/Perl/5.8.6/darwin-
thread-multi-2level/auto/XML/LibXML/LibXML.bundle
  0x605000 -   0x6dafff libiconv.2.dylib        /opt/local/lib/
libiconv.2.dylib
0x1008000 -  0x10f0fff libxml2.2.dylib         /opt/local/lib/
libxml2.2.dylib
0x8fe00000 - 0x8fe4bfff dyld 45.1       /usr/lib/dyld
0x90000000 - 0x9016efff libSystem.B.dylib       /usr/lib/
libSystem.B.dylib
0x901be000 - 0x901c0fff libmathCommon.A.dylib   /usr/lib/system/
libmathCommon.A.dylib
0x90bc6000 - 0x90bcdfff libgcc_s.1.dylib        /usr/lib/libgcc_s.
1.dylib
0x9113f000 - 0x9114dfff libz.1.dylib    /usr/lib/libz.1.dylib
0x92a4a000 - 0x92b28fff libxml2.2.dylib         /usr/lib/libxml2.2.dylib
0x92b45000 - 0x92c32fff libiconv.2.dylib        /usr/lib/libiconv.
2.dylib
0x9680a000 - 0x9691efff libperl.dylib   /System/Library/Perl/5.8.6/
darwin-thread-multi-2level/CORE/libperl.dylib
Sherm Pendley - 01 Aug 2006 15:04 GMT
>> I'm having trouble installing XML::LibXML::XPathContext on a Intel  
>> Mini (via CPAN). I had no problem installing it on my Powerbook,  
[quoted text clipped - 3 lines]
>
> I ended up force installing XML::LibXML::XPathContext

Pointless. That will force CPAN to copy the files, but it won't fix  
the real problem. And with *every* test failing, there's virtually  
zero chance of it being a problem with the tests - *especially* given  
that they pass on your PB.

> (and XML::RSS::LibXML, which is also a dependency for Plagger,  
> which is my utlimate goal). I noticed in my System.log that perl  
> was actually crashing during the tests. I've included the final  
> crash report from /Library/Logs/CrashReporter/perl.crash.log below.  
> Am I right in thinking I should contact the author of  
> XML::LibXML::XPathContext?

For what purpose? Nothing so far has indicated a bug in the module.  
Quite the contrary - the crash dump suggests otherwise:

> Binary Images Description:
>   0x605000 -   0x6dafff libiconv.2.dylib        /opt/local/lib/
> libiconv.2.dylib
> 0x1008000 -  0x10f0fff libxml2.2.dylib         /opt/local/lib/
> libxml2.2.dylib
...
> 0x92a4a000 - 0x92b28fff libxml2.2.dylib         /usr/lib/
> libxml2.2.dylib
> 0x92b45000 - 0x92c32fff libiconv.2.dylib        /usr/lib/libiconv.
> 2.dylib

Figure out why this module is linked against both copies of libxml &  
libiconv, and I'd bet you'll have solved this problem. Try moving /
opt aside before building & testing the module. Before you do, use  
otool to see which of these XML::LibXML::XPathContext is linked  
against - it may also be that one (or more) of its prerequisites  
(XML::LibXML for instance) is also linked the one in /opt.

sherm--

Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net
Michael Glaesemann - 02 Aug 2006 03:55 GMT
>> I ended up force installing XML::LibXML::XPathContext
>
> Pointless. That will force CPAN to copy the files, but it won't fix  
> the real problem. And with *every* test failing, there's virtually  
> zero chance of it being a problem with the tests - *especially*  
> given that they pass on your PB.

Thanks for confirming this. I generally don't force install modules  
until I have evidence that that's the only option and that the module  
will still work as expected. In this particular case I was anxious to  
get on with the project and wanted to see if any problems arose in  
the absence of any confirmation of the problem. So far I've been  
lucky, as nothing untoward appears to be happening, but it *is*  
something I'm uncomfortable with.

> Nothing so far has indicated a bug in the module. Quite the  
> contrary - the crash dump suggests otherwise:
[quoted text clipped - 12 lines]
> Figure out why this module is linked against both copies of libxml  
> & libiconv, and I'd bet you'll have solved this problem.

Thanks for pointing this out. I don't have a lot of experience  
reading crash dumps, and your explanation is helpful as an introduction.

> Try moving /opt aside before building & testing the module. Before  
> you do, use otool to see which of these XML::LibXML::XPathContext  
> is linked against - it may also be that one (or more) of its  
> prerequisites (XML::LibXML for instance) is also linked the one in /
> opt.

I've been trying to figure out where the XML::LibXML::XPathContext  
object files are located, but can't find it. (Am I correct in  
thinking that's what I should be looking for?) I'm looking in /
Library/Perl/5.8.6. And looking at the otool man page, it looks like  
I want to use otool -L when I finally find it, correct?

Thanks, Sherm for your help.

Michael Glaesemann
grzm seespotcode net
Michael Glaesemann - 02 Aug 2006 04:31 GMT
>> Try moving /opt aside before building & testing the module. Before  
>> you do, use otool to see which of these XML::LibXML::XPathContext  
[quoted text clipped - 7 lines]
> Library/Perl/5.8.6. And looking at the otool man page, it looks  
> like I want to use otool -L when I finally find it, correct?

I think I've found it. I was looking for a .so or .o file, but it  
looks like it's a .bundle.

$ otool -L /Volumes/wilde/Library/Perl/5.8.6/darwin-thread-
multi-2level/auto/XML/LibXML/XPathContext/XPathContext.bundle
/Volumes/wilde/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/XML/
LibXML/XPathContext/XPathContext.bundle:
        /opt/local/lib/libxml2.2.dylib (compatibility version 9.0.0,  
current version 9.23.0)
        /opt/local/lib/libz.1.dylib (compatibility version 1.0.0,  
current version 1.2.3)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.6)
        /opt/local/lib/libiconv.2.dylib (compatibility version  
6.0.0, current version 6.0.0)

And here's what XML::LibXML is linked against.

$ otool -L /Library/Perl/5.8.6/darwin-thread-multi-2level/auto/XML/
LibXML/LibXML.bundle
/Library/Perl/5.8.6/darwin-thread-multi-2level/auto/XML/LibXML/
LibXML.bundle:
        /usr/lib/libxml2.2.dylib (compatibility version 9.0.0,  
current version 9.16.0)
        /usr/lib/libz.1.dylib (compatibility version 1.0.0, current  
version 1.2.3)
        /usr/lib/libSystem.B.dylib (compatibility version 1.0.0,  
current version 88.1.5)
        /usr/lib/libiconv.2.dylib (compatibility version 5.0.0,  
current version 5.0.0)

So that confirms what you suspected. I moved the previous  
XPathContext.pm and /opt out of the way, hopped into CPAN and  
installed XML::LibXML::XPathContext again. Installed without a  
problem, passing all the tests.

Is there a way to specify which libs the modules should be linking  
against, something like changing ones path? I don't see the /opt in  
the perl -V output (in particular in the Linker and Libraries  
section), so I'm wondering why it's picking up the libraries in /opt  
anyway.

Thanks again, Sherm!

Michael Glaesemann
grzm seespotcode net
Sherm Pendley - 02 Aug 2006 04:54 GMT
> Is there a way to specify which libs the modules should be linking  
> against, something like changing ones path?

One way is to specify an additional -L option in the environment  
variable LDFLAGS. That's for adding to the library search path though  
- I couldn't find any options in 'man ld' to *remove* a directory  
from the library search path. I hope I simply missed it - it would  
seem a rather odd omission otherwise.

If you've added an 'export LDFLAGS=-L/opt/local/lib' line to  
~/.profile (or if DarwinPorts added it for you) that would export  
that environment variable to any shell scripts you run.

You can check for that with 'env' or 'echo $LDFLAGS' from a command  
prompt.

Since the linker checks in the directories in the order in which  
they're listed, you can tell it to prefer /usr/lib by adding it again  
at the beginning of the list. It will appear twice, but that does no  
harm.

    export LDFLAGS=-L/usr/lib -L/opt/local/lib

You can add that line to ~/.profile if you want it to take effect for  
every session, or run it manually if you only want it to take effect  
for a single login session.

sherm--

Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net
Joel Rees - 03 Aug 2006 01:12 GMT
> I couldn't find any options in 'man ld' to *remove* a directory  
> from the library search path. I hope I simply missed it - it would  
> seem a rather odd omission otherwise.

Well, how exactly do you expect to tell ld which libraries to remove  
from the search path? (Canonicalization, anyone?)

IIRC, you use the order in which you add libraries to the search path  
to override any potential library references you don't want.
Sherm Pendley - 02 Aug 2006 04:35 GMT
>> Nothing so far has indicated a bug in the module. Quite the  
>> contrary - the crash dump suggests otherwise:
[quoted text clipped - 27 lines]
> thinking that's what I should be looking for?) I'm looking in /
> Library/Perl/5.8.6.

So far so good. What you're looking for is /Library/Perl/5.8.6/darwin-
thread-multi-2level/auto/XML/LibXML/XPathContext.bundle.

> And looking at the otool man page, it looks like I want to use  
> otool -L when I finally find it, correct?

Yep. You can pass multiple file names to otool, so you can actually  
get a quick list of everything all your modules are linked against  
like this:

find /Library/Perl/5.8.6 -name '*.bundle' -print0 | xargs -0 otool -L

sherm--

Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net
Michael Glaesemann - 02 Aug 2006 04:48 GMT
> You can pass multiple file names to otool, so you can actually get  
> a quick list of everything all your modules are linked against like  
> this:
>
> find /Library/Perl/5.8.6 -name '*.bundle' -print0 | xargs -0 otool -L

I can imagine I'll find that useful in future debugging. Thanks again  
for your help. I learned quite a bit today!

Michael Glaesemann
grzm seespotcode net
Sherm Pendley - 02 Aug 2006 05:09 GMT
>> You can pass multiple file names to otool, so you can actually get  
>> a quick list of everything all your modules are linked against  
[quoted text clipped - 4 lines]
> I can imagine I'll find that useful in future debugging. Thanks  
> again for your help. I learned quite a bit today!

One more one-liner before bed. :-)

find /Library/Perl/5.8.6 -name '*.bundle' -print0 | xargs -0 otool -L  
| perl -n -e 'print if (m%^/Library% || %m/opt/local/lib%)'

This will list all of your CPAN modules that have a .bundle that's  
linked to something from /opt/local/lib.

sherm--

Web Hosting by West Virginians, for West Virginians: http://wv-www.net
Cocoa programming in Perl: http://camelbones.sourceforge.net
Michael Glaesemann - 02 Aug 2006 05:22 GMT
> One more one-liner before bed. :-)

Thanks! Sleep well! You've more than earned it, from my POV. :)

Michael Glaesemann
grzm seespotcode net
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.