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