Hey all,

i'm using perl 5.8 over macos x.2.6 in /opt and the latest CamelBones FrameWork, i'm unable to make a script working within CamelBones/Project Buider althought it works fine from command line...

this script is using XML::LibXML installed in /opt/perl/lib/site_perl/5.8.0/darwin'. (by CPAN.pm)

if i do nothing and launch my "camelized" app, perl complains about XML::LibXML not found.

then the error message writing @INC :

Can't locate XML/LibXML.pm in @INC (@INC contains:
/Users/yvonthor/bin/PerlCocoa/OP/build/OP.app/Contents/Resources
/System/Library/Frameworks/AppKit.framework/Resources
/System/Library/Frameworks/Foundation.framework/Resources
/usr/lib/Resources
/Library/Frameworks/CamelBones.framework/Resources
/System/Library/Perl/darwin
/System/Library/Perl
/Library/Perl/darwin
/Library/Perl
/Network/Library/Perl/darwin
/Network/Library/Perl
.)
at /Users/yvonthor/bin/PerlCocoa/OP/build/OP.app/Contents/Resources/ yvonslibs.pl line 13.


Although at command line INC isn't the same ::

  @INC:
    /sw/lib/perl5/darwin
    /sw/lib/perl5
    /opt/perl/lib/5.8.0/darwin
    /opt/perl/lib/5.8.0
    /opt/perl/lib/site_perl/5.8.0/darwin
    /opt/perl/lib/site_perl/5.8.0
    /opt/perl/lib/site_perl


then, the first i've tried is to add just what i need, when i need it :


BEGIN {
push @INC , '/opt/perl/lib/site_perl/5.8.0/darwin';
}

in that case perl complains again but rather upon env var (then libxml is found in that case):
dyld: /Users/yvonthor/bin/PerlCocoa/OP/build/OP.app/Contents/MacOS/OP Undefined symbols:
_Perl_PerlIO_stderr
_Perl_get_sv
_Perl_sv_2pv_flags
_Perl_sv_catsv_flags


then i thought modifying INC would modify some of the perlvars ?


The second i've tried is to put the whole XML/* directory in my app (using command line cp...), that's to say in:
/Users/yvonthor/bin/PerlCocoa/OP/build/OP.app/Contents/Resources together with :
English.lproj MyApp.pm MyWindowController.pm OP-prefs.xml exempleRV.txt main.pl yvonslibs.pl


(notice this is yvonslibs.pl asking for libxml not MyWindowController.pm)

Then i've still an error, perl doesn't complains any more about XML::LibXML but rather about XML::LibXML::Common

this strange to me because Common.pm lies in :
/Users/yvonthor/bin/PerlCocoa/OP/build/OP.app/Contents/Resources/XML/ LibXML


i've to copy it around into Resources without success.

Then i said, i'm doing that badly, let ProjectBuilder do the job, it knows better than me.

i did that by drag'n droping the whole XML folder into my project. Then i have seen that PB copies the whole of it in two area namely :
/Users/yvonthor/bin/PerlCocoa/OP/ and also :
/Users/yvonthor/bin/PerlCocoa/OP/build/OP.app/Contents/Resources/


seems quit OK except the fact, in that case all the files associated with XML folder are in the same folder without respect to the original hierarchy.

instead of having :

XML >
        benchmark.pl
        LibXML >
                Boolean.pm
                Common.pm
                Literal.pm
                NodeList.pm
                Number.pm
                SAX >
                        ...
                SAX.pm
        LibXML.pm
        LibXSLT.pm

i do have the files lying at the same level :

benchmark.pl Boolean.pm Common.pm Literal.pm and so on.

and again perl complains but upon XML::LibXML not found.

I would prefer a solution where XML::LibXML is incorporeted in the app Resources for portability.

Hoping someone could un-stuck me from that hole...

Yvon



Reply via email to