Sreedhar
Sreedhar

Reputation: 85

Packages are not recognized in Perl

I have created build script in search way it will place all project dependencies inside target folder. This target folder will be inside the project root directory. This target folder contains bin,lib folder. Inside lib folder all dependencies are there.

I have set path search as:

export PERL5LIB="$PWD/target/lib/perl5:$PWD/target/lib/perl5/x86_64-linux:$PWD/targer/lib/perl5/x86_64-linux-gnu-thread-multi"

When I build my project it is throwing following errors.

Can't locate Clone.pm in @INC (@INC contains: lib /home/smopuru/pigeon/target/lib/perl5 /home/smopuru/pigeon/target/lib/perl5/x86_64-linux /home/smopuru/pigeon/targer/lib/perl5/x86_64-linux-gnu-thread-multi lib /home/smopuru/pigeon/target/lib/perl5 /home/smopuru/pigeon/target/lib/perl5/x86_64-linux /home/smopuru/pigeon/targer/lib/perl5/x86_64-linux-gnu-thread-multi /home/smopuru/pigeon/target/lib/site_perl/5.14.2/x86_64-linux /home/smopuru/pigeon/target/lib/site_perl/5.14.2 /home/smopuru/pigeon/target/lib/5.14.2/x86_64-linux /home/smopuru/pigeon/target/lib/5.14.2 .) at lib/Pigeon/Compiler.pm line 29, <> line 1.

Can't locate Mouse.pm in @INC (@INC contains: lib /home/smopuru/pigeon/target/lib/perl5 /home/smopuru/pigeon/target/lib/perl5/x86_64-linux /home/smopuru/pigeon/targer/lib/perl5/x86_64-linux-gnu-thread-multi lib /home/smopuru/pigeon/target/lib/perl5 /home/smopuru/pigeon/target/lib/perl5/x86_64-linux /home/smopuru/pigeon/targer/lib/perl5/x86_64-linux-gnu-thread-multi /home/smopuru/pigeon/target/lib/site_perl/5.14.2/x86_64-linux /home/smopuru/pigeon/target/lib/site_perl/5.14.2 /home/smopuru/pigeon/target/lib/5.14.2/x86_64-linux /home/smopuru/pigeon/target/lib/5.14.2 .) at lib/Pigeon/Compiler.pm line 29, <> line 1.

I am sure these two files are available. The commands that i used to search for:

find target/lib/ -name Clone.pm target/lib/perl5/x86_64-linux-gnu-thread-multi/Clone.pm
find target/lib/ -name Mouse.pm target/lib/perl5/x86_64-linux-gnu-thread-multi/Mouse.pm target/lib/perl5/x86_64-linux-gnu-thread-multi/Test/Mouse.pm

Upvotes: 1

Views: 2070

Answers (1)

Brian Gerard
Brian Gerard

Reputation: 885

  1. There's a typo in your PERL5LIB - you have "targer" instead of "target" on one of the paths. That's the reason for the Clone.pm miss.

  2. Mouse.pm is in .../something/in/your/path/Test/ rather than .../something/in/your/path which means you either need to use Test::Mouse; in your script or move the Mouse.pm file up one directory in the filesystem.

Upvotes: 2

Related Questions