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

Koen van der Drift kvddrift at earthlink.net
Fri Feb 27 15:06:13 UTC 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.

cheers,

- 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:
>
>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