From: Derek G. <fri...@gm...> - 2009-06-04 20:42:57
|
On Jun 4, 2009, at 1:34 PM, Brent Kraczek wrote: > I am attempting to compile libmesh on a cluster that uses mvapich and > icc , but I keep getting a compiler error. I don't know if this is > something you have seen before or if there is a work-around, short of > asking Intel. > > Specifically, I am using > /share/apps/mvapich/intel/bin/mpicxx , > and the cluster set-up currently only uses static libraries, so I have > used the --disable-shared flag when running configure for libmesh: > ./configure --prefix=${HOME}/gmxLocal --enable-threads > --enable-float=no --enable-sse2 --enable-shared > > I changed the configure.in file to choose icc as the C++ compiler, > so I > believe everything is consistent. > autoconf configure.in > configure2 > ./configure2 --enable-everything --enable-second --disable-perflog > --disable-bzip2 --disable-vsmoother --disable-shared This is not the right way to do this. Just set your environment up correctly before running configure. For instance... here's what we use with intel compilers (that we use with mvapich on our cluster as well... although we use the 11.0 version of the intel compilers): export CC=mpicc export CXX=mpicxx export FC=mpif90 export F90=mpif90 export F77=mpif77 export libmesh_CFLAGS="-DMPICH_SKIP_MPICXX" export libmesh_CXXFLAGS="-DMPICH_SKIP_MPICXX Then make sure that doing a "which mpicxx" points to /share/apps/ mvapich/intel/bin (and if it doesn't... add that path to the beginning of your PATH). Now just run configure... ./configure --disable-shared Don't worry about any other options until you get the default set of configure flags to work. As for getting "backend signal"... this is an internal error in the compiler. This is essentially a "segfault"... and there really isn't much of a way to figure out why it's happening. Usually I've seen these whenever libraries have been inconsistently compiled. We just had a "backend error" show up earlier this week on a new intern's machine when they were trying to build our software stack... never really tracked down what the exact offender was... but after wiping it all away and starting over at the bottom (mpich2 first...) it all worked fine... I know that's not much help. Just make sure that everything that you're linking together has been compiled using the same compiler against the same MPI (it's usually best if EVERYTHING uses the mpi wrappers). Derek |