Dear PETSC community, I am trying to install petsc-3.5.0 with superlu and hypre support. The "configure", "make" and "make install" went fine, but "make test" won't work. It complains about superlu and hypre libraries undefined.
The environment I set up is: 1) valgrind/3.7.0 2) cmake/2.8.11.2 3) gcc/4.4.7 4) openmpi/1.6.5-gcc Here is the configure line: ./configure --prefix=/clusterfs/voltaire/home/software/modules/petsc/3.5.0 --download-fblaslapack=1 --download-mumps=1 --download-parmetis=1 --download-scalapack --download-metis=1 --download-superlu=1 --download-superlu_dist=1 --download-hypre=1 --with-mpi-dir=/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/ My "make" and "make install" lines: make PETSC_DIR=/clusterfs/voltaire/home/software/source/petsc-3.5.0 PETSC_ARCH=arch-linux2-c-debug all make PETSC_DIR=/clusterfs/voltaire/home/software/source/petsc-3.5.0 PETSC_ARCH=arch-linux2-c-debug install The "make test" line: make PETSC_DIR=/clusterfs/voltaire/home/software/modules/petsc/3.5.0 test I got the following error regarding SuperLU and Hypre: ==================================== Running test examples to verify correct installation Using PETSC_DIR=/clusterfs/voltaire/home/software/modules/petsc/3.5.0 and PETSC_ARCH=arch-linux2-c-debug *******************Error detected during compile or link!******************* See http://www.mcs.anl.gov/petsc/documentation/faq.html /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/snes/examples/tutorials ex19 ********************************************************************************* *********************W-a-r-n-i-n-g************************* Your PETSC_DIR may not match the directory you are in PETSC_DIR /clusterfs/voltaire/home/software/modules/petsc/3.5.0 Current directory /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/snes/examples/tutorials Ignore this if you are running make test ****************************************************** /global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/bin/mpicc -o ex19.o -c -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3 -O0 -I/clusterfs/voltaire/home/software/modules/petsc/3.5.0/include -I/clusterfs/voltaire/home/software/modules/petsc/3.5.0/include -I/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/include `pwd`/ex19.c /global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/bin/mpicc -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -g3 -O0 -o ex19 ex19.o -Wl,-rpath,/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib -L/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib -lpetsc -Wl,-rpath,/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib -lHYPRE -Wl,-rpath,/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/lib -L/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/lib -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -lmpi_cxx -lstdc++ -lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord -lscalapack -lsuperlu_dist_3.3 -lsuperlu_4.3 -lflapack -lfblas -lparmetis -lmetis -lX11 -lssl -lcrypto -lpthread -lmpi_f90 -lmpi_f77 -lgfortran -lm -lmpi_cxx -lstdc++ -lmpi_cxx -lstdc++ -ldl -lmpi -lnuma -lrt -lnsl -lutil -lgcc_s -lpthread -ldl /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_HYPRE' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_mpiaij_superlu_dist' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_seqaij_superlu_dist' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_seqaij_superlu' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_PFMG' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatCreate_HYPREStruct' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_SysPFMG' collect2: ld returned 1 exit status gmake[3]: [ex19] Error 1 (ignored) /bin/rm -f ex19.o *******************Error detected during compile or link!******************* See http://www.mcs.anl.gov/petsc/documentation/faq.html /clusterfs/voltaire/home/software/source/petsc-3.5.0/src/snes/examples/tutorials ex5f ********************************************************* /global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/bin/mpif90 -c -fPIC -Wall -Wno-unused-variable -ffree-line-length-0 -g -O0 -I/clusterfs/voltaire/home/software/modules/petsc/3.5.0/include -I/clusterfs/voltaire/home/software/modules/petsc/3.5.0/include -I/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/include -o ex5f.o ex5f.F /global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/bin/mpif90 -fPIC -Wall -Wno-unused-variable -ffree-line-length-0 -g -O0 -o ex5f ex5f.o -Wl,-rpath,/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib -L/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib -lpetsc -Wl,-rpath,/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib -lHYPRE -Wl,-rpath,/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/lib -L/global/software/sl-6.x86_64/modules/gcc/4.4.7/openmpi/1.6.5-gcc/lib -Wl,-rpath,/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -L/usr/lib/gcc/x86_64-redhat-linux/4.4.7 -lmpi_cxx -lstdc++ -lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord -lscalapack -lsuperlu_dist_3.3 -lsuperlu_4.3 -lflapack -lfblas -lparmetis -lmetis -lX11 -lssl -lcrypto -lpthread -lmpi_f90 -lmpi_f77 -lgfortran -lm -lmpi_cxx -lstdc++ -lmpi_cxx -lstdc++ -ldl -lmpi -lnuma -lrt -lnsl -lutil -lgcc_s -lpthread -ldl /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_HYPRE' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_mpiaij_superlu_dist' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_seqaij_superlu_dist' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_seqaij_superlu' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_PFMG' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatCreate_HYPREStruct' /clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_SysPFMG' collect2: ld returned 1 exit status gmake[3]: [ex5f] Error 1 (ignored) /bin/rm -f ex5f.o Completed test examples ========================================= I am not sure why hypre and superlu libraries are not linked properly. I do see the libraries in the $PETSC_DIR/lib/. Please let me know if you need any other information. Thanks in advance! Kai -- Kai Song <[email protected]> 1.510.495.2180 1 Cyclotron Rd. Berkeley, CA94720, MS-50B 3209 High Performance Computing Services (HPCS) Lawrence Berkeley National Laboratory - http://scs.lbl.gov
