[Bioperl-l] Fw: broken Bio::SeqIO in bioperl on OS X (fink)

Koen van der Drift kvddrift at earthlink.net
Fri Feb 27 10:06:13 EST 2009

Thanks guys,

I'm not on my Mac right now to check, but I think that bioperl uses the fink provided perl package. I will shoot this to the fink mailing list.  It could also have to do with a recent Security Update from Apple which allegedly reverted the IO.bundle, see for instance here: http://developers.slashdot.org/article.pl?sid=09/02/18/1435227.


- Koen.

-----Original Message-----
>From: Chris Fields <cjfields at illinois.edu>
>Sent: Feb 27, 2009 9:54 AM
>To: "Mark A. Jensen" <maj at fortinbras.us>
>Cc: Koen van der Drift <kvddrift at earthlink.net>, Dave Messina <David.Messina at sbc.su.se>, bioperl-l at lists.open-bio.org
>Subject: Re: [Bioperl-l] Fw: broken Bio::SeqIO in bioperl on OS X (fink)
>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:
>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  
>perl -MModule::CoreList -e 'print Module::CoreList- 
> >first_release("Scalar::Util")."\n";'
>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.
>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