[petsc-users] Compiling petsc with a user-defined MUMPS directory

Satish Balay balay at mcs.anl.gov
Tue Apr 12 11:19:20 CDT 2016


On Tue, 12 Apr 2016, Natacha BEREUX wrote:

> Hello,
> I am trying to compile Petsc  (3.6.3) with external packages (MUMPS and its
> prerequisites).
> More precisely I would like PETSc to use a pre-installed version of MUMPS.
> 
> Petsc downloads and compiles the prerequisites (parmetis, scalapack etc) :
> this works fine.

What metis/parmetis/slcalapack is this MUMPS installed with?

What version of MUMPS did you install?

Why could you not use --download-mumps?

Using a different metis/parmetis/slcalapack to install MUMPS - and
then specifying --download-metis --download-parmetis
--download-scalapack [i.e different versions/builds of the same
libraries] can result in conflcits.

> 
> I define MUMPS location by --with-mumps-dir=top-directory of MUMPS install,
> but the
> configure step  fails with the followiing message:
> 
> UNABLE to CONFIGURE with GIVEN OPTIONS    (see configure.log for details):
> --with-mumps-dir=/home/H03755/Librairies/Mumps_MPI did not work
> 
> I do not understand what is wrong.
> I have attached the configure.log file.
> 
> Any hint would be greatly appreciated !

>>>>
Executing: mpicc -show
stdout: gcc -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -pthread -L/usr//lib -L/usr/lib/openmpi/lib -lmpi -ldl -lhwloc
                  Defined make macro "MPICC_SHOW" to "gcc -I/usr/lib/openmpi/include -I/usr/lib/openmpi/include/openmpi -pthread -L/usr//lib -L/usr/lib/openmpi/lib -lmpi -ldl -lhwloc"
<<<<
Ok - so you are using system openmpi with gcc.


>>>>
Executing: mpicc  -o /tmp/petsc-0u_4WI/config.libraries/conftest    -fPIC -Wall -Wwrite-strings -Wno-strict-aliasing -Wno-unknown-pragmas -O /tmp/petsc-0u_4WI/config.libraries/conftest.o  -Wl,-rpath,/home/H03755/Librairies/Mumps_MPI/lib -L/home/H03755/Librairies/Mumps_MPI/lib -lcmumps -ldmumps -lsmumps -lzmumps -lmumps_common -lpord -Wl,-rpath,/home/H03755/Librairies/petsc-3.6.3/linux-debug-mumps-ext/lib -L/home/H03755/Librairies/petsc-3.6.3/linux-debug-mumps-ext/lib -lscalapack -llapack -lblas -Wl,-rpath,/usr/lib/openmpi/lib -L/usr/lib/openmpi/lib -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.9 -L/usr/lib/gcc/x86_64-linux-gnu/4.9 -Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu -lmpi_f90 -lmpi_f77 -lgfortran -lm -Wl,-rpath,/usr/lib/openmpi/lib -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.9 -Wl,-rpath,/usr/lib/x86_64-linux-gnu -Wl,-rpath,/lib/x86_64-linux-gnu -lgfortran -lm -lquadmath -lm -llapack -lblas -Wl,-rpath,/usr/lib/openmpi/lib -L/usr/lib/openmpi/lib -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.9 -L/usr/lib/gcc/x86_64-linux-gnu/4.9 -Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu -lmpi_f90 -lmpi_f77 -lgfortran -lm -Wl,-rpath,/usr/lib/openmpi/lib -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.9 -Wl,-rpath,/usr/lib/x86_64-linux-gnu -Wl,-rpath,/lib/x86_64-linux-gnu -lgfortran -lm -lquadmath -lm -Wl,-rpath,/home/H03755/Librairies/petsc-3.6.3/linux-debug-mumps-ext/lib -L/home/H03755/Librairies/petsc-3.6.3/linux-debug-mumps-ext/lib -lparmetis -Wl,-rpath,/home/H03755/Librairies/petsc-3.6.3/linux-debug-mumps-ext/lib -L/home/H03755/Librairies/petsc-3.6.3/linux-debug-mumps-ext/lib -lmetis -lm -lm -Wl,-rpath,/usr/lib/openmpi/lib -L/usr/lib/openmpi/lib -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/4.9 -L/usr/lib/gcc/x86_64-linux-gnu/4.9 -Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/lib/x86_64-linux-gnu -L/lib/x86_64-linux-gnu -Wl,-rpath,/usr/lib/x86_64-linux-gnu -L/usr/lib/x86_64-linux-gnu -ldl -lmpi -lhwloc -lgcc_s -lpthread -ldl
Possible ERROR while running linker: exit code 256
stderr:
/home/H03755/Librairies/Mumps_MPI/lib/libdmumps.a(dlr_stats.o): In function `__dmumps_lr_stats_MOD_update_flop_stats_lrb_product':
dlr_stats.F:(.text+0x3079): undefined reference to `GOMP_critical_name_start'
dlr_stats.F:(.text+0x30fa): undefined reference to `GOMP_critical_name_end'
dlr_stats.F:(.text+0x310e): undefined reference to `GOMP_critical_name_start'
dlr_stats.F:(.text+0x318f): undefined reference to `GOMP_critical_name_end'
/home/H03755/Librairies/Mumps_MPI/lib/libdmumps.a(dlr_stats.o): In function `__dmumps_lr_stats_MOD_update_flop_stats_trsm':
dlr_stats.F:(.text+0x33a9): undefined reference to `GOMP_critical_name_start'
dlr_stats.F:(.text+0x33f9): undefined reference to `GOMP_critical_name_end'
dlr_stats.F:(.text+0x340a): undefined reference to `GOMP_critical_name_start'
dlr_stats.F:(.text+0x345a): undefined reference to `GOMP_critical_name_end'
/home/H03755/Librairies/Mumps_MPI/lib/libdmumps.a(dlr_stats.o): In function `__dmumps_lr_stats_MOD_update_flop_stats_panel':
dlr_stats.F:(.text+0x3576): undefined reference to `GOMP_critical_name_start'
dlr_stats.F:(.text+0x35a7): undefined reference to `GOMP_critical_name_end'
dlr_stats.F:(.text+0x35b8): undefined reference to `GOMP_critical_name_start'
dlr_stats.F:(.text+0x35e9): undefined reference to `GOMP_critical_name_end'
/home/H03755/Librairies/Mumps_MPI/lib/libdmumps.a(dlr_stats.o): In function `__dmumps_lr_stats_MOD_update_flop_stats_demote':
dlr_stats.F:(.text+0x36ac): undefined reference to `GOMP_critical_name_start'
dlr_stats.F:(.text+0x36ce): undefined reference to `GOMP_critical_name_end'
dlr_stats.F:(.text+0x36df): undefined reference to `GOMP_critical_name_start'
dlr_stats.F:(.text+0x3701): undefined reference to `GOMP_critical_name_end'
/home/H03755/Librairies/Mumps_MPI/lib/libdmumps.a(dlr_stats.o): In function `__dmumps_lr_stats_MOD_update_flop_stats_cb_demote':
dlr_stats.F:(.text+0x37c1): undefined reference to `GOMP_critical_name_start'
dlr_stats.F:(.text+0x37e3): undefined reference to `GOMP_critical_name_end'
/home/H03755/Librairies/Mumps_MPI/lib/libdmumps.a(dlr_stats.o): In function `__dmumps_lr_stats_MOD_update_flop_stats_cb_promote':
dlr_stats.F:(.text+0x3839): undefined reference to `GOMP_critical_name_start'
dlr_stats.F:(.text+0x3856): undefined reference to `GOMP_critical_name_end'
/home/H03755/Librairies/Mumps_MPI/lib/libdmumps.a(dana_lr.o): In function `__dmumps_ana_lr_MOD_mumps_scotch_kway':
dana_lr.F:(.text+0x115): undefined reference to `scotchfgraphbuild_'
dana_lr.F:(.text+0x131): undefined reference to `scotchfstratinit_'
dana_lr.F:(.text+0x151): undefined reference to `scotchfgraphpart_'
dana_lr.F:(.text+0x15e): undefined reference to `scotchfstratexit_'
dana_lr.F:(.text+0x16b): undefined reference to `scotchfgraphexit_'
<snip>


Looks like this MUMPS is built with ptscotch and openmp.

You can specify -lgomp for openmp. This can be done with the configure option
LIBS=-lgomp

Wrt and PTSCOTCH stuff depending upon how its installed we'll have to figureout
how to specify it.

Its best to specify all the packages [mumps and its dependencies] you built manually with the options:

--with-package-include --with-package-lib

Satish

> Best regards,
> 
> Natacha
> 


More information about the petsc-users mailing list