[Bioperl-l] installation error

Mike Williams drummike at gmail.com
Sat Apr 16 01:30:51 EDT 2011


Hi there.  A couple caveats first.  I'm using fedora 13 and installed
Bio::Perl from CPAN.  I have never installed Bio::Perl using files
from the git repository.  Also, I compile perl from the source and
install perl in a non-standard place to avoid conflicts between the
fedora package manager (yum) and CPAN.  So, my paths are different
from yours.

Lastly, I am far from an expert at Bio::Perl, although I have
installed it a few times on multiple different machines.  I've made a
few comments interspersed with your message.

On Fri, Apr 15, 2011 at 7:35 PM, Tim <timmcilveen at talktalk.net> wrote:
> I'm having a problem installing Bioperl with my new install of Fedora 14.
> I have installed bioperl using GitHub.
>
>
>           $ git clone git://github.com/bioperl/bioperl-live.git

You did not mention anything between fetching the code with git and testing.

Did you run Build.PL?

I am pretty sure you cannot just fetch the code from git and run it,
you have do a couple other things first.

There is a file called INSTALL in the bio perl tree that explains this
in more detail, but you have to do a minimum of:

perl Build.pl
./Build test

# then if the tests pass it is save to proceed with the install

./Build install

Note that if you want to install Bio::Perl under your home directory
you will need to specify that in the first command listed above,
something like:

perl Build.PL --prefix /home/tim/tm2383

OR

perl Build.PL --prefix $HOME/tm2383

The prefix argument will modify the file Build.PL produces, so the
other two commands stay the same.

>           I told Perl where to find it:
>
>           export PERL5LIB="$HOME/tm2383/bioperl-live:$PERL5LIB"

The above line should work if you did the install with --prefix as listed above.

>           Then I tested the install:
>           $ perl -MBio::Perl -le 'print Bio::Perl->VERSION;'
>
>           I got this error:
>           Can't locate Bio/Perl.pm in @INC (@INC contains:
>           /usr/local/lib64/perl5 /usr/local/share/perl5
>           /usr/lib64/perl5 /usr/share/perl5 /usr/lib64/perl5
<snip>

>           find / -name 'perl'

Instead of find please post the output of:

which perl

which will locate the first version of perl found in the list of
directories in you $PATH environmental variable.

>           /usr/bin/perl

This is probably the perl that is getting run, you may well have a 64
bit perl if you are running a 64 bit version of fedora.  To answer
that question do the following:

uname -a


>           /usr/src/kernels/2.6.35.11-83.fc14.x86_64/tools/perf/scripts/perl
>           /usr/src/kernels/2.6.35.6-45.fc14.x86_64/tools/perf/scripts/perl
>           /usr/libexec/perf-core/scripts/perl
>
> My Perl is is /usr/bin/perl, but for some reason /usr/local/lib64/perl5 is being mentioned in the error message.

The directories that start with /usr/... listed in the error message
are where perl searches for its libraries.

> I'm not expert at Linux, so I have reported all I can about the problem,
> using the information that I knew how to retrieve. I hope this helps!

The info you posted helped quite a bit.

A little more info would be helpful.  If the two of us cannot resolve
this, then a little more info should make it easier for someone else
to chime in with some help.

Please post output from the following:

###################################################
which perl
uname -a
find ~ -name Perl.pm -print
perldoc -l Bio::Perl
echo $HOME
echo $PERL5LIB

# please place the output from the next command at the end because it
will be kind of long and the helpful bits for this problem are
probably at the beginning.

perl -V

###################################################
Here is the output of the first few of those commands from one of my
fedora 13 boxes:

$which perl
/opt/bin/perl

$ uname -a
Linux watson.localdomain 2.6.34.8-68.fc13.i686.PAE #1 SMP Thu Feb 17
14:54:10 UTC 2011 i686 i686 i386 GNU/Linux

$ perldoc -l Bio::Perl
/opt/lib/perl5/site_perl/5.12.1/Bio/Perl.pm

$find /opt -name Perl.pm -print
/opt/lib/perl5/site_perl/5.12.1/Bio/Perl.pm

$ perl -e 'print "@INC\n";'
/opt/lib/perl5/site_perl/5.12.1/i686-linux
/opt/lib/perl5/site_perl/5.12.1 /opt/lib/perl5/5.12.1/i686-linux
/opt/lib/perl5/5.12.1 .

As I mentioned at the beginning of my response, my paths will not
match yours.  Just included the info to point out a couple things.
Note that the paths in @INC are similar to the ones in your error
message (without the _64), and that those paths are different from the
executable /opt/bin/perl.

If your system is running a 64 bit version of fedora that wil be
reflected in the output of uname -a and in the output of perl -V, but
the name of perl itself will not change.

Anyhow, post the stuff I asked about and we'll go from the there.

Best,

Mike



More information about the Bioperl-l mailing list