[petsc-users] Compiling lists all the libraries

Jed Brown jed at jedbrown.org
Tue Jan 21 23:24:49 CST 2020


PETSc normally removes duplicates from its library link lines, but there
are some contexts (with static linking) where it's hard to show that
it's safe because some projects ship library sets with circular
dependencies.  This is generally harmless unless you have a specific
need to avoid overlinking (e.g., if you're packaging for binary
distribution to machines that need to be able to minimally upgrade
components).

"Y. Shidi" <ys453 at cam.ac.uk> writes:

> Dear developers,
>
> I stated to use certain libraries in the Makefile of my code,
> but it turns out that Petsc automatically uses all the libraries.
> Some are listed twice.
> I am wondering how does this happen.
>
> -Wl,-rpath,/home/ys453/Sources/petsc/arch-linux2-c-debug/lib 
> -L/home/ys453/Sources/petsc/arch-linux2-c-debug/lib 
> -Wl,-rpath,/home/ys453/Sources/petsc/arch-linux2-c-debug/lib 
> -Wl,-rpath,/usr/lib/openmpi/lib -L/usr/lib/openmpi/lib 
> -Wl,-rpath,/usr/lib/gcc/x86_64-linux-gnu/5 
> -L/usr/lib/gcc/x86_64-linux-gnu/5 -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 -lpetsc -lcmumps -ldmumps -lsmumps -lzmumps 
> -lmumps_common -lpord -lscalapack -lsuperlu_dist -lHYPRE -llapack -lblas 
> -lparmetis -lmetis -lptesmumps -lptscotch -lptscotcherr -lesmumps 
> -lscotch -lscotcherr -lm -lX11 -lstdc++ -ldl -lmpi_usempif08 
> -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi -lgfortran -lm -lgfortran -lm 
> -lgcc_s -lquadmath -lpthread -lrt -lm -lpthread -lz -lstdc++ -ldl 
> -lparmetis -lmetis -lpetsc -lboost_timer -lboost_system
>
> Thank you for your time.
>
> Kind Regards,
> Shidi


More information about the petsc-users mailing list