<div dir="ltr"><div>Dear PETSC community,<br><br>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.<br>
<br>The environment I set up is:<br> 1) valgrind/3.7.0      2) cmake/<a href="http://2.8.11.2">2.8.11.2</a>      3) gcc/4.4.7           4) openmpi/1.6.5-gcc<br><br></div>Here is the configure line:<br>./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/<br clear="all">
<div><div><br></div><div>My "make" and "make install" lines:<br>make PETSC_DIR=/clusterfs/voltaire/home/software/source/petsc-3.5.0 PETSC_ARCH=arch-linux2-c-debug all<br>make PETSC_DIR=/clusterfs/voltaire/home/software/source/petsc-3.5.0 PETSC_ARCH=arch-linux2-c-debug install<br>
<br></div><div>The "make test" line:<br>make PETSC_DIR=/clusterfs/voltaire/home/software/modules/petsc/3.5.0 test<br></div><div><br></div><div>I got the following error regarding SuperLU and Hypre:<br>====================================<br>
Running test examples to verify correct installation<br>Using PETSC_DIR=/clusterfs/voltaire/home/software/modules/petsc/3.5.0 and PETSC_ARCH=arch-linux2-c-debug<br>*******************Error detected during compile or link!*******************<br>
See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html">http://www.mcs.anl.gov/petsc/documentation/faq.html</a><br>/clusterfs/voltaire/home/software/source/petsc-3.5.0/src/snes/examples/tutorials ex19<br>*********************************************************************************<br>
*********************W-a-r-n-i-n-g*************************<br>Your PETSC_DIR may not match the directory you are in<br>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<br>
Ignore this if you are running make test             <br>******************************************************<br>/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<br>
/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 <br>
/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_HYPRE'<br>/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_mpiaij_superlu_dist'<br>
/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_seqaij_superlu_dist'<br>/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_seqaij_superlu'<br>
/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_PFMG'<br>/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatCreate_HYPREStruct'<br>
/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_SysPFMG'<br>collect2: ld returned 1 exit status<br>gmake[3]: [ex19] Error 1 (ignored)<br>/bin/rm -f ex19.o<br>*******************Error detected during compile or link!*******************<br>
See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html">http://www.mcs.anl.gov/petsc/documentation/faq.html</a><br>/clusterfs/voltaire/home/software/source/petsc-3.5.0/src/snes/examples/tutorials ex5f<br>*********************************************************<br>
/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<br>
/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 <br>
/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_HYPRE'<br>/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_mpiaij_superlu_dist'<br>
/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_seqaij_superlu_dist'<br>/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatGetFactor_seqaij_superlu'<br>
/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_PFMG'<br>/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `MatCreate_HYPREStruct'<br>
/clusterfs/voltaire/home/software/modules/petsc/3.5.0/lib/libpetsc.so: undefined reference to `PCCreate_SysPFMG'<br>collect2: ld returned 1 exit status<br>gmake[3]: [ex5f] Error 1 (ignored)<br>/bin/rm -f ex5f.o<br>Completed test examples<br>
=========================================<br><br></div><div>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.<br>
<br></div><div>Thanks in advance!<br><br>Kai<br><br></div><div><br></div><div>-- <br>Kai Song<br><<a href="mailto:ksong@lbl.gov" target="_blank">ksong@lbl.gov</a>> 1.510.495.2180<br>1 Cyclotron Rd. Berkeley, CA94720, MS-50B 3209<br>
High Performance Computing Services (HPCS) <br>Lawrence Berkeley National Laboratory - <a href="http://scs.lbl.gov" target="_blank">http://scs.lbl.gov</a>
</div></div></div>