Monkey stumbles upon warpdrive while coding

"I thought it would take 1000 monkeys 1000 years" says ape.

My Photo
Name:
Location: Sydney, New South Wales, Australia

Back from the US, and loving the beaches. Lucky enough to be working in science still.

Thursday, February 24, 2005

Ape found lost in jungle of St Germain

Last time I installed StGermain-Snark-Underworld I completely reinstalled my operating system (from redhat to gentoo - since redhat went to the darkside and started charging money).
I also had one Mr Turnbull helping me which made life a whole lot easier.

So now I'm in a foreign country (Texas, USA) on a Sun Solaris system trying to compile the whole she-bang again.

So first: changed everything during configure to GNU: this includes gcc g++ g77 etc etc. The sun compilers suck (at least for this). This also includes using gmake instead of make (sunOS make also sucks - doesn't get past the first line of the make file).

The configure is very hands on - I had to include an extra operating system (SunOS) everywhere. and also for petsc a new system architecture called solaris-2.8 or something.

First big ld problem is a sun thing: concerns the rpath. Now in theory the rpath flags:
'-Xlinker -rpath -Xlinker ${LIB_DIR}
should work, right? Not on solaris! Found this fix on the web:
'-Wl,-rpath, $LIB_DIR}

Next ld problem: linking to the mpi_python libraries. Was about to start headbutting the computer but Pat suggested deleting libpython & mpipython from the def_sub list, ie.
1. Edit the StGermain/compatibility/Makefile.def file
2. remove "libpython mpipython" from the def_sub list.

So this swept that problem under the carpet for now.

Next is where I'm stuck now. MPI LIBRARIES!

Here's the error:

/StGermain/StGermain/Base/Foundation/tests> gmake
/usr/local/bin/gcc -pipe -Wall -g -DDEBUG -O0 -o /home/cjoneill/StGermain/build/tests/testMemory0 /home/cjoneill/StGermain/build/tmp/test-libStGermainBaseFoundation/JournalWrappers.o -I/home/cjoneill/StGermain/build/include -I/home/cjoneill/StGermain/build/include/StGermain -I/opt1/site-sparc-sol8/mpich/include -I/opt/antelope/4.6/include/libxml2 testMemory0.c /home/cjoneill/StGermain/build/lib/libStGermainBaseFoundation.a -L/opt1/site-sparc-sol8/mpich/lib -lmpich -lpmpich -lm -L/opt/antelope/4.6/lib -R/opt/antelope/4.6/lib -lxml2 -L/opt/antelope/4.6/lib -R/opt/antelope/4.6/lib -lz -lpthread -lm -lsocket -lnsl
Undefined first referenced
symbol in file
sched_yield /opt1/site-sparc-sol8/mpich/lib/libmpich.a(p4_tsr.o)
ld: fatal: Symbol referencing errors.

I went into the offending directory so I wouldn't have to compile everything. So: the problem is linking with the libmpich, which is definitely in: /opt1/site-sparc-sol8/mpich.
I tried setting MPI_DIR='/opt1/site-sparc-sol8/mpich' no luck.
I also noticed in many forums that many linux->sun problems are solved by including the flags:
-lsocket -lnsl
manually. But these are already included so it shouldn't be this.
HELP!

0 Comments:

Post a Comment

<< Home