[Bioperl-l] Fw: broken Bio::SeqIO in bioperl on OS X (fink)
Chris Fields
cjfields at illinois.edu
Fri Feb 27 14:54:59 UTC 2009
As Hilmar stated somewhere along this thread this is related to either
a lack of Scalar::Util or a bad/incomplete Scalar::Util installation
(maybe a pure perl only version).
> ------------- EXCEPTION -------------
> MSG: Failed to load module Bio::SeqIO::genbank. Weak references are
> not implemented in the version of perl at /sw/lib/perl5/5.8.8/Bio/
> Species.pm line 91
This can be rectified by installing/reinstalling Scalar::Util (it may
require a force install). See here for solutions:
http://www.perlmonks.org/?node_id=424737
http://www.perlmonks.org/?node_id=665554
As I see it there are two problems here. The first is with fink's
perl 5.8.8 package, which doesn't appear to have a weak-ref-enabled
Scalar::Util in core, causing the error. The second is with the
Build.PL in BioPerl 1.5.2 (which doesn't list Scalar::Util as a
required module). The latter may have rectified the former upon
installation if Scalar::Util wasn't present, but according to
Module::CoreList:
perl -MModule::CoreList -e 'print Module::CoreList-
>first_release("Scalar::Util")."\n";'
5.007003
A full (weak-ref enabled) Scalar::Util should be present in the 5.8.8
core set of modules.
The Scalar::Util require issue has been rectified in the BioPerl 1.6
release, out now in CPAN, so I consider it fixed from our end.
chris
On Feb 27, 2009, at 7:59 AM, Mark A. Jensen wrote:
> Hi Koen-
> If the user can find the directory containing the file Bio/SeqIO/
> genbank.pm,
> he can force the script to find it. Example: if the full path of the
> module is
>
> /sw/lib/perl5/5.8.8/site/Bio/SeqIO/genbank.pm
>
> then he should add the line
>
> use lib '/sw/lib/perl5/5.8.8/site';
>
> to the top of his script.
>
> (I don't see any ../site or ../vendor paths in the @INC. I don't
> know about darwin,
> but frequently externally installed modules will be installed in
> site or vendor paths
> beneath a trunk directory like ../lib/perl5/5.8.8 in other systems.)
> Mark
>
> ----- Original Message ----- From: "Koen van der Drift" <kvddrift at earthlink.net
> >
> To: "Dave Messina" <David.Messina at sbc.su.se>
> Cc: <bioperl-l at lists.open-bio.org>
> Sent: Friday, February 27, 2009 8:37 AM
> Subject: Re: [Bioperl-l] Fw: broken Bio::SeqIO in bioperl on OS X
> (fink)
>
>
>> Hi Dave,
>>
>> This is the output from the user:
>>
>> $ perl -e 'print (join "\n", @INC, "\n")'
>> /sw/lib/perl5/5.8.8/darwin-thread-multi-2level
>> /sw/lib/perl5/5.8.8
>> /sw/lib/perl5/darwin-thread-multi-2level
>> /sw/lib/perl5
>> /sw/lib/perl5/darwin
>> /System/Library/Perl/5.8.8/darwin-thread-multi-2level
>> /System/Library/Perl/5.8.8
>> /Library/Perl/5.8.8/darwin-thread-multi-2level
>> /Library/Perl/5.8.8
>> /Library/Perl
>> /Network/Library/Perl/5.8.8/darwin-thread-multi-2level
>> /Network/Library/Perl/5.8.8
>> /Network/Library/Perl
>> /System/Library/Perl/Extras/5.8.8/darwin-thread-multi-2level
>> /System/Library/Perl/Extras/5.8.8
>> /Library/Perl/5.8.6
>> /Library/Perl/5.8.1
>>
>>
>> Additionally, he uses an Intel-Mac, I still have an older PPC-Mac.
>> Maybe perl is compiled differently on both systems?
>>
>> And to answer your other question, the bioperl package in fink does
>> not do any testing, since that assumes the user to be online. If
>> the user happens not to be online, the build will fail. So it's
>> just a practical reason.
>>
>> cheers,
>>
>> - Koen.
>>
>>
>> -----Original Message-----
>>> From: Dave Messina <David.Messina at sbc.su.se>
>>> Sent: Feb 26, 2009 4:02 PM
>>> To: Koen van der Drift <kvddrift at earthlink.net>
>>> Cc: bioperl-l at lists.open-bio.org
>>> Subject: Re: [Bioperl-l] Fw: broken Bio::SeqIO in bioperl on OS X
>>> (fink)
>>>
>>> Hi Koen,
>>>
>>> I'm not very experienced with fink -- does it run the test suite
>>> as part of
>>> its install process?
>>>
>>> The error seems pretty straightforward:
>>>
>>>
>>>> >Bio::SeqIO: genbank cannot be found
>>>>
>>>
>>>
>>>> >MSG: Failed to load module Bio::SeqIO::genbank.
>>>
>>>
>>>
>>> Namely, that the module is either not present or not in perl's
>>> list of
>>> library directories (@INC).
>>>
>>> This doesn't seem like a BioPerl error to me, but without knowing
>>> more about
>>> fink I'm reluctant to assume it's a fink errror either.
>>>
>>> I would recommend the user first look where fink is supposed to
>>> install the
>>> BioPerl modules and verify that the modules are there.
>>>
>>> Then I would have him type
>>>
>>> perl -e 'print (join "\n", @INC, "\n")'
>>>
>>> on the command line and verify that the directory where he found
>>> the BioPerl
>>> modules is in that list.
>>>
>>>
>>> Dave
>>
>>
>>
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l at lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
>>
>
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l
More information about the Bioperl-l
mailing list