[Bioperl-l] Fw: broken Bio::SeqIO in bioperl on OS X (fink)
Koen van der Drift
kvddrift at earthlink.net
Fri Feb 27 18:19:36 UTC 2009
As for now, it looks like the errors resulted from the user using both fink and CPAN to install modules, in combination with the recent OS X Security Update, whcih reverted one of the system perl modules.
thanks,
- 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