Bioperl: Working pvm app in perl
Osborne, Brian
brian.osborne@cadus.com
Fri, 10 Sep 1999 17:32:33 -0400
Aaron et al.,
Yes, I'd hit this wall with the "stat" message as well, and your letter
inspired me to play detective. BTW, I'm on Linux as well, and I haven't
tested other OS's for this error. If you use "nm" (better than "ar" for this
purpose) you can find all the symbols/functions in the *.o or *.so file.
Since the make is using PVM libraries it was logical to look there first for
the "foreign" symbols/functions. nm again told me that the symbol was
referenced in libpvm3.a, in the section called lpvm.o, which points to the
file lpvm.c as the culprit. The stat() is called 3 times there, all checking
for the existence of files, naturally. I commented out those little blocks,
then tried making the module again. Voila! I _think_ that commenting the
code out is harmless, but of course I don't really know.
This is what I don't understand though. If you look in the system's include
files you'll see stat() in sys/stat.h. And you'll see the expected #include
<sys/stat.h> right there in lpvm.c. lpvm.o in libpvm3.a should work. But
"man stat" says stat() is unsupported, seemingly being separated into
fsstat, etc. These are questions for a "make master/mistress" to address,
not me.
Please excuse my being didactic, those of you who know this stuff already.
Why do I write this to a Perl list ? To show, once again, that it wasn't
Perl's fault !
Brian O.
-----Original Message-----
From: Aaron J Mackey [mailto:ajm6q@virginia.edu]
Sent: Friday, September 10, 1999 11:58 AM
To: Mr P.A. Van Heusden
Cc: vsns-bcd-perl@lists.uni-bielefeld.de; Paul Weston
Subject: Re: Bioperl: Working pvm app in perl
Hmm .. so I'm trying, but I still get the same old errors that everyone's
been getting for a few years now (I have a mailbox full of correspondence
from about 10 different people who all have the exact same error).
I downloaded the "latest" source code from netlib (reportedly 3.4.2), and
compiled on our linux cluster with no problems. (version, however reports
3.4.beta7 ??)
After applying your s/info/ntask/ patch, I can make Pvm.so just fine, but
I get the same old "stat" error on make test:
centurion161: /home/ajm6q/.cpan/build/Parallel-Pvm-1.1 > perl Makefile.PL
PREFIX=/home/ajm6q/perl
Writing Makefile for Parallel::Pvm
centurion161: /home/ajm6q/.cpan/build/Parallel-Pvm-1.1 > make
cc -c -I/home/ajm6q/pvm3/include -Dbool=char -DHAS_BOOL
-I/usr/local/include -O2 -DVERSION=\"1.1\" -DXS_VERSION=\"1.1\" -fpic
-I/usr/lib/perl5/i386-linux/5.00404/CORE Pvm.c
Running Mkbootstrap for Parallel::Pvm ()
chmod 644 Pvm.bs
LD_RUN_PATH="" ld -o blib/arch/auto/Parallel/Pvm/Pvm.so -shared
-L/usr/local/lib Pvm.o /home/ajm6q/pvm3/lib/LINUX/libpvm3.a
chmod 755 blib/arch/auto/Parallel/Pvm/Pvm.so
cp Pvm.bs ./blib/arch/auto/Parallel/Pvm/Pvm.bs
chmod 644 blib/arch/auto/Parallel/Pvm/Pvm.bs
Manifying ./blib/man3/Parallel::Pvm.3
centurion161: /home/ajm6q/.cpan/build/Parallel-Pvm-1.1 > make test
PERL_DL_NONLAZY=1 /usr/bin/perl -I./blib/arch -I./blib/lib
-I/usr/lib/perl5/i386-linux/5.00404 -I/usr/lib/perl5 test.pl
1..1
Can't load './blib/arch/auto/Parallel/Pvm/Pvm.so' for module
Parallel::Pvm: ./blib/arch/auto/Parallel/Pvm/Pvm.so: undefined symbol:
stat at /usr/lib/perl5/i386-linux/5.00404/DynaLoader.pm line 168.
at test.pl line 11
BEGIN failed--compilation aborted at test.pl line 11.
not ok 1
make: *** [test_dynamic] Error 2
Suggestions? I'm very excited that someone has gotten the PVM bindings to
work, and now I'm jealous that I can't do it as well!
-Aaron
--
o ~ ~ ~ ~ ~ ~ o
/ Aaron J Mackey \
\ Dr. Pearson Laboratory /
\ University of Virginia \
/ (804) 924-2821 \
\ amackey@virginia.edu /
o ~ ~ ~ ~ ~ ~ o
=========== Bioperl Project Mailing List Message Footer =======
Project URL: http://bio.perl.org/
For info about how to (un)subscribe, where messages are archived, etc:
http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl.html
====================================================================
=========== Bioperl Project Mailing List Message Footer =======
Project URL: http://bio.perl.org/
For info about how to (un)subscribe, where messages are archived, etc:
http://www.techfak.uni-bielefeld.de/bcd/Perl/Bio/vsns-bcd-perl.html
====================================================================