[petsc-dev] problem in PETSc.pc file

Stefano Zampini stefano.zampini at gmail.com
Sat Aug 26 09:39:16 CDT 2017


configure log is attached

2017-08-26 17:30 GMT+03:00 Jed Brown <jed at jedbrown.org>:

> Stefano, can you send configure.log?  This is the relevant code for
> defining PETSC_EXTERNAL_LIB_BASIC.
>
>     self.packagelibs = libs
>     self.PETSC_EXTERNAL_LIB_BASIC = self.libraries.
> toStringNoDupes(libs+self.libraries.math+self.compilers.
> flibs+self.compilers.cxxlibs+self.compilers.LIBS.split())
>     if self.framework.argDB['prefix'] and self.setCompilers.CSharedLinkerFlag
> not in ['-L']:
>       lib_basic = self.PETSC_EXTERNAL_LIB_BASIC.replace(self.setCompilers.
> CSharedLinkerFlag+os.path.join(self.petscdir.dir,self.
> arch.arch,'lib'),self.setCompilers.CSharedLinkerFlag+os.path.
> join(self.installdir.dir,'lib'))
>     else:
>       lib_basic = self.PETSC_EXTERNAL_LIB_BASIC
>     self.addMakeMacro('PETSC_EXTERNAL_LIB_BASIC',lib_basic)
>
> This is run subsequently to write PETSc.pc Libs.private:
>
>     lflags = self.packagelibs+self.libraries.math+self.compilers.
> flibs+self.compilers.cxxlibs+self.compilers.LIBS.split()
>     fd.write('Libs.private: '+self.libraries.toStringNoDupes([f for f in
> lflags if not f.startswith(self.setCompilers.CSharedLinkerFlag)],
> with_rpath=False)+'\n')
>
> So the difference is that the latter removes rpath-related flags, but
> there shouldn't be other differences.
>
> Stefano Zampini <stefano.zampini at gmail.com> writes:
>
> > I have recently noticed a regression with using Libs.private of PETSc.pc
> > (used by MFEM configure). For some reason, the mumps and mkl linking
> lines
> > are scrambled up. At the bottom of the message you can see the undefined
> > references I'm getting, coming from having libdmumps before libscalapack,
> > and libmkl_intel_lp64 before libdmumps and libcholmod. This configuration
> > (static build with gnu compilers and MKL on a Cray XC40.... yes, I know,
> > life could be easier....) was working before, but I cannot say when got
> > broken.
> >
> > This is the line in PETSc.pc that corresponds to Libs.private and that
> > makes the executable linking to fail.
> >
> > -L/home/zampins/src/petsc/haswell_debug_gnu_mkl/lib  -lcmumps
> -lscalapack
> > -lumfpack  -lHYPRE -L/opt/intel/composer_xe_2015.1.133/mkl/lib/intel64
> > -lmkl_intel_lp64  -lmkl_core  -lmkl_sequential  -lparmetis  -lmetis
> > -lptesmumps
> > -L/opt/intel/composer_xe_2015.1.133/mkl/lib/intel64/
> > -L/opt/intel/composer_xe_2015.1.133/compiler/lib/intel64/ -ldmumps
> -lsmumps
> > -lzmumps -lmumps_common -lpord -lklu -lcholmod -lbtf -lccolamd -lcolamd
> > -lcamd -lamd -lsuitesparseconfig -lptscotch -lptscotcherr -lscotch
> > -lscotcherr -lrt -lm -lpthread -lz -ldl -lmkl_core -lmkl_sequential
> > -lmkl_core -lmkl_sequential -lmkl_core -lirc -liomp5 -lsvml -limf
> -lifcore
> > -lirng -lifport -lirc -ldl
> >
> > Instead, this is PETSC_EXTERNAL_LIB_BASIC from petscvariables, that leads
> > (with the current master) to a successful linking
> >
> > -Wl,-rpath,/home/zampins/src/petsc/haswell_debug_gnu_mkl/lib
> > -L/home/zampins/src/petsc/haswell_debug_gnu_mkl/lib
> > -Wl,-rpath,/opt/intel/composer_xe_2015.1.133/mkl/lib/intel64
> > -L/opt/intel/composer_xe_2015.1.133/mkl/lib/intel64
> > -L/opt/intel/composer_xe_2015.1.133/mkl/lib/intel64/
> > -L/opt/intel/composer_xe_2015.1.133/compiler/lib/intel64/ -lcmumps
> -ldmumps
> > -lsmumps -lzmumps -lmumps_common -lpord -lscalapack -lumfpack -lklu
> > -lcholmod -lbtf -lccolamd -lcolamd -lcamd -lamd -lsuitesparseconfig
> -lHYPRE
> > -lmkl_intel_lp64 -lmkl_core -lmkl_sequential -lmkl_core -lmkl_sequential
> > -lmkl_core -lparmetis -lmetis -lptesmumps -lptscotch -lptscotcherr
> -lscotch
> > -lscotcherr -lrt -lm -lpthread -lz -ldl -lmkl_core -lmkl_sequential
> > -lmkl_core -lmkl_sequential -lmkl_core -lirc -liomp5 -lsvml -limf
> -lifcore
> > -lirng -lifport -lirc -ldl
> >
> >
> > ------------------------------------------------------------
> ---------------------------------------
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dana_driver.o):
> > In function `dmumps_ana_driver_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dana_driver.F:1944:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dana_driver.F:1948:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dfac_driver.o):
> > In function `dmumps_fac_driver_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dfac_driver.F:1605:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dfac_driver.F:1609:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dend_driver.o):
> > In function `dmumps_end_driver_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dend_driver.F:44:
> > undefined reference to `blacs_gridexit_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dana_aux_ELT.o):
> > In function `dmumps_ana_f_elt_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dana_aux_ELT.F:257:
> > undefined reference to `metis_setdefaultoptions_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dana_aux.o):
> > In function `dmumps_ana_f_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dana_aux.F:564:
> > undefined reference to `metis_setdefaultoptions_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(darrowheads.o):
> > In function `dmumps_facto_send_arrowheads_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/darrowheads.F:254:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/darrowheads.F:257:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(darrowheads.o):
> > In function `dmumps_facto_recv_arrowhd2_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/darrowheads.F:688:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/darrowheads.F:691:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dfac_distrib_distentry.o):
> > In function `dmumps_redistribution_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dfac_distrib_distentry.F:264:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dfac_distrib_distentry.o):/home/zampins/
> src/petsc/haswell_debug_gnu_mkl/externalpackages/git.
> mumps/src/dfac_distrib_distentry.F:267:
> > more undefined references to `numroc_' follow
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/libdmumps.a(dsol_root_
> parallel.o):
> > In function `dmumps_solve_2d_bcyclic_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dsol_root_parallel.F:76:
> > undefined reference to `descinit_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dsol_root_parallel.F:84:
> > undefined reference to `pdgetrs_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dsol_root_parallel.F:87:
> > undefined reference to `pdgetrs_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dsol_root_parallel.F:91:
> > undefined reference to `pdpotrs_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/libdmumps.a(dsol_root_
> parallel.o):
> > In function `dmumps_root_solve_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dsol_root_parallel.F:33:
> > undefined reference to `blacs_gridinfo_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dsol_root_parallel.F:34:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dtype3_root.o):
> > In function `dmumps_root_alloc_static_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dtype3_root.F:1085:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dtype3_root.F:1088:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dtype3_root.F:1091:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dtype3_root.o):
> > In function `dmumps_init_root_ana_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dtype3_root.F:783:
> > undefined reference to `blacs_gridexit_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dtype3_root.F:788:
> > undefined reference to `blacs_gridinit_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dtype3_root.F:792:
> > undefined reference to `blacs_gridinfo_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dfac_par_m.o):
> > In function `__dmumps_fac_par_m_MOD_dmumps_fac_par':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dfac_par_m.F:744:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/libdmumps.a(dfac_root_
> parallel.o):
> > In function `dmumps_facto_root_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dfac_root_parallel.F:77:
> > undefined reference to `descinit_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dfac_root_parallel.F:100:
> > undefined reference to `pdgetrf_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dfac_root_parallel.F:107:
> > undefined reference to `pdpotrf_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dfac_root_parallel.F:155:
> > undefined reference to `numroc_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dmumps_iXamax.o):
> > In function `dmumps_ixamax_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dmumps_iXamax.F:17:
> > undefined reference to `idamax_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libdmumps.a(dfac_lr.o):
> > In function `__dmumps_fac_lr_MOD_dmumps_compress_panel':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dfac_lr.F:873:
> > undefined reference to `dormqr_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/libdmumps.a(dlr_core_
> subroutine.o):
> > In function `dmumps_truncated_rrqr_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dlr_core_subroutine.F:69:
> > undefined reference to `ilaenv_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dlr_core_subroutine.F:78:
> > undefined reference to `dnrm2_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dlr_core_subroutine.F:83:
> > undefined reference to `dlamch_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dlr_core_subroutine.F:92:
> > undefined reference to `idamax_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dlr_core_subroutine.F:121:
> > undefined reference to `dlarfg_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dlr_core_subroutine.F:123:
> > undefined reference to `dlarfg_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/dlr_core_subroutine.F:189:
> > undefined reference to `dnrm2_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/libmumps_common.a(ana_
> orderings_wrappers_m.o):
> > In function `__mumps_ana_ord_wrappers_MOD_mumps_metis_nodend_mixedto64':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/ana_orderings_wrappers_m.F:225:
> > undefined reference to `metis_nodend_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/ana_orderings_wrappers_m.F:246:
> > undefined reference to `metis_nodend_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/libmumps_common.a(ana_
> orderings_wrappers_m.o):
> > In function `__mumps_ana_ord_wrappers_MOD_mumps_metis_nodend_mixedto32':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/ana_orderings_wrappers_m.F:115:
> > undefined reference to `metis_nodend_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libmumps_common.a(mumps_metis.o):
> > In function `mumps_parmetis_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/mumps_metis.c:43:
> > undefined reference to `ParMETIS_V3_NodeND'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libmumps_common.a(mumps_scotch.o):
> > In function `mumps_scotch_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/mumps_scotch.c:31:
> > undefined reference to `esmumps'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libmumps_common.a(mumps_scotch64.o):
> > In function `mumps_scotch_64_':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/git.mumps/src/mumps_scotch64.c:30:
> > undefined reference to `esmumps'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libcholmod.a(cholmod_super_numeric.o):
> > In function `c_cholmod_super_numeric':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_numeric.c:692:
> > undefined reference to `zherk_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_numeric.c:722:
> > undefined reference to `zgemm_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_numeric.c:872:
> > undefined reference to `zpotrf_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_numeric.c:1007:
> > undefined reference to `ztrsm_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libcholmod.a(cholmod_super_numeric.o):
> > In function `z_cholmod_super_numeric':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_numeric.c:692:
> > undefined reference to `zherk_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_numeric.c:722:
> > undefined reference to `zgemm_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_numeric.c:872:
> > undefined reference to `zpotrf_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_numeric.c:1007:
> > undefined reference to `ztrsm_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libcholmod.a(cholmod_super_solve.o):
> > In function `c_cholmod_super_lsolve':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_solve.c:110:
> > undefined reference to `ztrsv_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_solve.c:116:
> > undefined reference to `zgemv_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_solve.c:189:
> > undefined reference to `ztrsm_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_solve.c:198:
> > undefined reference to `zgemm_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/lib/
> libcholmod.a(cholmod_super_solve.o):
> > In function `c_cholmod_super_ltsolve':
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_solve.c:318:
> > undefined reference to `zgemv_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_solve.c:328:
> > undefined reference to `ztrsv_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_solve.c:393:
> > undefined reference to `zgemm_'
> >
> > /home/zampins/src/petsc/haswell_debug_gnu_mkl/
> externalpackages/SuiteSparse/CHOLMOD/Lib/../Supernodal/t_
> cholmod_super_solve.c:404:
> > undefined reference to `ztrsm_'
> >
> > --
> > Stefano
>



-- 
Stefano
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20170826/249708f5/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: configure.log
Type: application/octet-stream
Size: 5025613 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20170826/249708f5/attachment-0001.obj>


More information about the petsc-dev mailing list