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