Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Kokkos link libraries to Trilinos link libraries #14457

Merged
merged 1 commit into from Nov 30, 2022

Conversation

masterleinad
Copy link
Member

@masterleinad masterleinad commented Nov 23, 2022

FIxes #14454. When we support target_link_libraries for external dependencies, we should be able to get rid of all these hacks.

@tamiko
Copy link
Member

tamiko commented Nov 23, 2022

Working on it. 😄

@masterleinad
Copy link
Member Author

/rebuild

@masterleinad masterleinad marked this pull request as ready for review November 24, 2022 15:16
@masterleinad masterleinad force-pushed the add_kokkos_libraries_to_trilinos branch from 534c9d0 to 0a6272f Compare November 25, 2022 13:49
@masterleinad masterleinad force-pushed the add_kokkos_libraries_to_trilinos branch from 0a6272f to 1974e59 Compare November 28, 2022 14:22
@tamiko tamiko merged commit 34ef6b5 into dealii:master Nov 30, 2022
@marcfehling
Copy link
Member

I can't compile my project anymore after this PR. It works when I revert 1974e59.

Cmake confirms it found Kokkos when configuring deal.II. But when I try to link my project against the deal.II installation I get:

: && /usr/lib64/openmpi/bin/mpicxx  -rdynamic  -rdynamic -fuse-ld=gold -ggdb CMakeFiles/hprun.dir/application/hprun.cc.o -o hprun  -Wl,-rpath,dealii-9.5.0-pre/lib:p4est-2.3.3/DEBUG/lib:trilinos-13.4.0/lib:gsl-2.6/lib:opencascade-7.6.2/lib:slepc-3.17.1/x86_64/lib:petsc-3.17.1/x86_64/lib:sundials-5.4.0/lib64  libhpbox.a  dealii-9.5.0-pre/lib/libdeal_II.g.so.9.5.0-pre  p4est-2.3.3/DEBUG/lib/libp4est.so  p4est-2.3.3/DEBUG/lib/libsc.so  -lrt  /usr/lib64/libz.so  trilinos-13.4.0/lib/librol.so  trilinos-13.4.0/lib/libtempus.so  trilinos-13.4.0/lib/libmuelu-adapters.so  trilinos-13.4.0/lib/libmuelu-interface.so  trilinos-13.4.0/lib/libmuelu.so  trilinos-13.4.0/lib/liblocatpetra.so  trilinos-13.4.0/lib/liblocathyra.so  trilinos-13.4.0/lib/liblocaepetra.so  trilinos-13.4.0/lib/liblocalapack.so  trilinos-13.4.0/lib/libloca.so  trilinos-13.4.0/lib/libnoxepetra.so  trilinos-13.4.0/lib/libnoxlapack.so  trilinos-13.4.0/lib/libnox.so  trilinos-13.4.0/lib/libintrepid2.so  trilinos-13.4.0/lib/libintrepid.so  trilinos-13.4.0/lib/libteko.so  trilinos-13.4.0/lib/libstratimikos.so  trilinos-13.4.0/lib/libstratimikosbelos.so  trilinos-13.4.0/lib/libstratimikosamesos2.so  trilinos-13.4.0/lib/libstratimikosaztecoo.so  trilinos-13.4.0/lib/libstratimikosamesos.so  trilinos-13.4.0/lib/libstratimikosml.so  trilinos-13.4.0/lib/libstratimikosifpack.so  trilinos-13.4.0/lib/libifpack2-adapters.so  trilinos-13.4.0/lib/libifpack2.so  trilinos-13.4.0/lib/libanasazitpetra.so  trilinos-13.4.0/lib/libModeLaplace.so  trilinos-13.4.0/lib/libanasaziepetra.so  trilinos-13.4.0/lib/libanasazi.so  trilinos-13.4.0/lib/libamesos2.so  trilinos-13.4.0/lib/libtacho.so  trilinos-13.4.0/lib/libshylu_nodehts.so  trilinos-13.4.0/lib/libbelosxpetra.so  trilinos-13.4.0/lib/libbelostpetra.so  trilinos-13.4.0/lib/libbelosepetra.so  trilinos-13.4.0/lib/libbelos.so  trilinos-13.4.0/lib/libml.so  trilinos-13.4.0/lib/libifpack.so  trilinos-13.4.0/lib/libzoltan2.so  trilinos-13.4.0/lib/libpamgen_extras.so  trilinos-13.4.0/lib/libpamgen.so  trilinos-13.4.0/lib/libamesos.so  trilinos-13.4.0/lib/libgaleri-xpetra.so  trilinos-13.4.0/lib/libgaleri-epetra.so  trilinos-13.4.0/lib/libaztecoo.so  trilinos-13.4.0/lib/libisorropia.so  trilinos-13.4.0/lib/libxpetra-sup.so  trilinos-13.4.0/lib/libxpetra.so  trilinos-13.4.0/lib/libthyratpetra.so  trilinos-13.4.0/lib/libthyraepetraext.so  trilinos-13.4.0/lib/libthyraepetra.so  trilinos-13.4.0/lib/libthyracore.so  trilinos-13.4.0/lib/libtrilinosss.so  trilinos-13.4.0/lib/libtpetraext.so  trilinos-13.4.0/lib/libtpetrainout.so  trilinos-13.4.0/lib/libtpetra.so  trilinos-13.4.0/lib/libkokkostsqr.so  trilinos-13.4.0/lib/libtpetraclassiclinalg.so  trilinos-13.4.0/lib/libtpetraclassicnodeapi.so  trilinos-13.4.0/lib/libtpetraclassic.so  trilinos-13.4.0/lib/libepetraext.so  trilinos-13.4.0/lib/libtriutils.so  trilinos-13.4.0/lib/libshards.so  trilinos-13.4.0/lib/libzoltan.so  trilinos-13.4.0/lib/libepetra.so  trilinos-13.4.0/lib/libminitensor.so  trilinos-13.4.0/lib/libsacado.so  trilinos-13.4.0/lib/librtop.so  trilinos-13.4.0/lib/libkokkoskernels.so  trilinos-13.4.0/lib/libteuchoskokkoscomm.so  trilinos-13.4.0/lib/libteuchoskokkoscompat.so  trilinos-13.4.0/lib/libteuchosremainder.so  trilinos-13.4.0/lib/libteuchosnumerics.so  trilinos-13.4.0/lib/libteuchoscomm.so  trilinos-13.4.0/lib/libteuchosparameterlist.so  trilinos-13.4.0/lib/libteuchosparser.so  trilinos-13.4.0/lib/libteuchoscore.so  trilinos-13.4.0/lib/libkokkosalgorithms.so  trilinos-13.4.0/lib/libkokkoscontainers.so  trilinos-13.4.0/lib/libkokkoscore.so  trilinos-13.4.0/lib/libgtest.so  -lkokkosalgorithms  -lkokkoscontainers  -lkokkoscore  -DKOKKOS_DEPENDENCE  gsl-2.6/lib/libgsl.so  gsl-2.6/lib/libgslcblas.so  opencascade-7.6.2/lib/libTKBO.so  opencascade-7.6.2/lib/libTKBool.so  opencascade-7.6.2/lib/libTKBRep.so  opencascade-7.6.2/lib/libTKernel.so  opencascade-7.6.2/lib/libTKFeat.so  opencascade-7.6.2/lib/libTKFillet.so  opencascade-7.6.2/lib/libTKG2d.so  opencascade-7.6.2/lib/libTKG3d.so  opencascade-7.6.2/lib/libTKGeomAlgo.so  opencascade-7.6.2/lib/libTKGeomBase.so  opencascade-7.6.2/lib/libTKHLR.so  opencascade-7.6.2/lib/libTKIGES.so  opencascade-7.6.2/lib/libTKMath.so  opencascade-7.6.2/lib/libTKMesh.so  opencascade-7.6.2/lib/libTKOffset.so  opencascade-7.6.2/lib/libTKPrim.so  opencascade-7.6.2/lib/libTKShHealing.so  opencascade-7.6.2/lib/libTKSTEP.so  opencascade-7.6.2/lib/libTKSTEPAttr.so  opencascade-7.6.2/lib/libTKSTEPBase.so  opencascade-7.6.2/lib/libTKSTEP209.so  opencascade-7.6.2/lib/libTKSTL.so  opencascade-7.6.2/lib/libTKTopAlgo.so  opencascade-7.6.2/lib/libTKXSBase.so  slepc-3.17.1/x86_64/lib/libslepc.so  petsc-3.17.1/x86_64/lib/libpetsc.so  petsc-3.17.1/x86_64/lib/libHYPRE.so  petsc-3.17.1/x86_64/lib/libcmumps.a  petsc-3.17.1/x86_64/lib/libdmumps.a  petsc-3.17.1/x86_64/lib/libsmumps.a  petsc-3.17.1/x86_64/lib/libzmumps.a  petsc-3.17.1/x86_64/lib/libmumps_common.a  petsc-3.17.1/x86_64/lib/libpord.a  petsc-3.17.1/x86_64/lib/libscalapack.so  petsc-3.17.1/x86_64/lib/libsuperlu_dist.so  /usr/lib64/liblapack.so  /usr/lib64/libblas.so  petsc-3.17.1/x86_64/lib/libparmetis.so  petsc-3.17.1/x86_64/lib/libmetis.so  /usr/lib64/openmpi/lib/libmpi_usempi.so  /usr/lib64/openmpi/lib/libmpi_mpifh.so  /usr/lib64/openmpi/lib/libmpi.so  -lgfortran  -lm  -lquadmath  -ldl  sundials-5.4.0/lib64/libsundials_idas.so  sundials-5.4.0/lib64/libsundials_arkode.so  sundials-5.4.0/lib64/libsundials_kinsol.so  sundials-5.4.0/lib64/libsundials_nvecserial.so  sundials-5.4.0/lib64/libsundials_nvecparallel.so && :
/usr/bin/ld.gold: error: cannot find -lkokkosalgorithms
/usr/bin/ld.gold: error: cannot find -lkokkoscontainers
/usr/bin/ld.gold: error: cannot find -lkokkoscore
collect2: error: ld returned 1 exit status

I deleted both 'build' directories for deal.II and my side project and configured and built everything from scratch.

@masterleinad
Copy link
Member Author

sigh I hope we can soon do this properly with #14491.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Trilinos/Kokkos: explicitly link against openmp
3 participants