-
Notifications
You must be signed in to change notification settings - Fork 6
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
failure on Apple with latest xcode. #8
Comments
@amklinv Do you have a machine that would let you reproduce this? |
I do not, unless you can think of one. If it's a CMake issue, should we notify @bartlettroscoe? |
@BarrySmith, can you attach the CTest log file? You should be able to find it at:
See https://trilinos.org/docs/files/TrilinosBuildReference.html#testing-with-ctest |
Sorry cannot attach because it does not accept .log files. Man that always drives me nuts. Having to rename the file is a royal pain. |
Just rename it TestLog.out.txt |
I did upload it. You should see it in my previous text box named Ross.txt |
The attached CTest log file show that all of the tests are failing with the same error:
That seems to suggest that a PETSc library is too big for the dynamic library load commands on thsi system? The only thing that I could find on this was:
I don't develop on Macs so I am not sure how these |
Ross, It is complaining about a xskdtrilinos library: /libxsdkpetsc.12.dylib: malformed mach-o: load commands size (81296) > 32768 not a PETSc library. libxsdkpetsc.12.dylib is not part of PETSc. I think that the cmake code that it is building the xsdktrilinos libraries might not work with the latest Mac Xcode and thus produces a bad library. Barry
|
Sandia now has a contract with Kitware. I have asked for some help since I don't have any experience with this platform myself personally. Otherwise, what happens when you use the Makefile generator instead of the XCode generator on this Mac? |
I don't know what you mean. I am just using the cmake commands in petsc-dir/config/BuildSystem/config/packages/xsdktrilinos.py to build xsdktrilinos. So I think it is just using the "Makefile generator".
Barry
|
On macOS 10.12 Sierra the dynamic loader has a new/lower limit of some kind that in practice is triggered by a large number of entries (or large total length) of the runtime search path ( |
Here it is attached. |
According to the It appears there are many duplicate Also under |
$ cmake --version CMake suite maintained and supported by Kitware (kitware.com/cmake). Uploaded link.txt |
From the |
The only thing that the TriBITS CMake build for xSDKTrilinos does in this use case is to read in the file @BarrySmith, can you please attach the file TrilinosConfig.cmake that is installed with Trilinos on this machine? That will show if it is listing a bunch of |
Here it is |
It looks like the PETSc configure of Trilinos is likely explicitly passing through all of these
@BarrySmith, to make sure this is the case, can you please attach one of the Also, where is the Python code in PETSc that configures Trilinos and xSDKTrilinos? That might show what is happening and how to resolve this. |
I've added four files: the two python scripts for trilinos and xsdktrilinos and the exact input generated from each of these passed to their cmake. Curse the .txt suffix requirement yet again 👎 also attaching StratimikosConfig.cmake |
You can see these @BarrySmith, is there some way to see the log of the exact |
Here it is for Trilinos Executing: cd /Users/barrysmith/Src/petsc/arch-xsdk/externalpackages/git.trilinos/build && /usr/local/bin/cmake .. -DCMAKE_INSTALL_PREFIX=/Users/barrysmith/Src/petsc/arch-xsdk -DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_C_COMPILER="/Users/barrysmith/Src/petsc/arch-xsdk/bin/mpicc" -DCMAKE_AR=/usr/bin/ar -DCMAKE_RANLIB=/usr/bin/ranlib -DCMAKE_C_FLAGS:STRING="-Qunused-arguments -g3" -DCMAKE_CXX_COMPILER="/Users/barrysmith/Src/petsc/arch-xsdk/bin/mpicxx" -DCMAKE_CXX_FLAGS:STRING="-g" -DCMAKE_Fortran_COMPILER="/Users/barrysmith/Src/petsc/arch-xsdk/bin/mpif90" -DCMAKE_Fortran_FLAGS:STRING="-ffree-line-length-0 -g" -DBUILD_SHARED_LIBS=on -DUSE_XSDK_DEFAULTS=YES -DCMAKE_BUILD_TYPE=DEBUG -DTrilinos_ENABLE_DEBUG=YES -DTrilinos_ENABLE_EXPLICIT_INSTANTIATION=ON -DTrilinos_DISABLE_ENABLED_FORWARD_DEP_PACKAGES=ON -DTrilinos_EXTRA_LINK_FLAGS="-Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -lmpifort -lgfortran -Wl,-rpath,/usr/local/Cellar/gcc/6.2.0/lib/gcc/6/gcc/x86_64-apple-darwin16.0.0/6.2.0 -L/usr/local/Cellar/gcc/6.2.0/lib/gcc/6/gcc/x86_64-apple-darwin16.0.0/6.2.0 -Wl,-rpath,/usr/local/Cellar/gcc/6.2.0/lib/gcc/6 -L/usr/local/Cellar/gcc/6.2.0/lib/gcc/6 -lgfortran -lgcc_ext.10.5 -lquadmath -lm -lclang_rt.osx -lmpicxx -lc++ -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -lclang_rt.osx -Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -ldl -lmpi -lpmpi -lSystem -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -lclang_rt.osx -ldl " -DTeuchos_ENABLE_FLOAT=OFF -DTeuchos_ENABLE_COMPLEX=OFF -DTpetra_INST_FLOAT=OFF -DTpetra_INST_COMPLEX_FLOAT=OFF -DTpetra_INST_COMPLEX_DOUBLE=OFF -DCMAKE_INSTALL_NAME_DIR:STRING="/Users/barrysmith/Src/petsc/arch-xsdk/lib" -DTPL_ENABLE_Boost=ON -DTPL_Boost_INCLUDE_DIRS="/Users/barrysmith/Src/petsc/arch-xsdk/include" -DTPL_Boost_LIBRARIES= -DTPL_ENABLE_MPI=ON -DTrilinos_ENABLE_Epetra=ON -DTrilinos_ENABLE_AztecOO=ON -DTrilinos_ENABLE_Ifpack=ON -DTrilinos_ENABLE_Amesos2=ON -DTrilinos_ENABLE_Tpetra=ON -DTrilinos_ENABLE_Sacado=ON -DTrilinos_ENABLE_Zoltan=ON -DTrilinos_ENABLE_Stratimikos=ON -DTrilinos_ENABLE_Thyra=ON -DTrilinos_ENABLE_Isorropia=ON -DTrilinos_ENABLE_ML=ON -DTrilinos_ENABLE_Belos=ON -DTrilinos_ENABLE_Anasazi=ON -DTrilinos_ENABLE_Zoltan2=ON -DTrilinos_ENABLE_Ifpack2=ON -DTrilinos_ENABLE_ShyLU=ON -DTrilinos_ENABLE_NOX=ON -DTrilinos_ENABLE_MueLu=ON -DTrilinos_ENABLE_Stokhos=ON -DTrilinos_ENABLE_ROL=ON -DTrilinos_ENABLE_Piro=ON -DTrilinos_ENABLE_Pike=ON -DTrilinos_ENABLE_TrilinosCouplings=ON -DTrilinos_ENABLE_Panzer=ON -DTrilinos_ENABLE_SEACAS=ON -DTPL_ENABLE_Matio=OFF -DTPL_ENABLE_GLM=OFF -DTPL_ENABLE_X11=OFF -DTrilinos_ENABLE_FEI=OFF -DTrilinos_ENABLE_STK=OFF -DTPL_BLAS_LIBRARIES="-llapack -lblas -Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -lmpifort -lgfortran -Wl,-rpath,/usr/local/Cellar/gcc/6.2.0/lib/gcc/6/gcc/x86_64-apple-darwin16.0.0/6.2.0 -L/usr/local/Cellar/gcc/6.2.0/lib/gcc/6/gcc/x86_64-apple-darwin16.0.0/6.2.0 -Wl,-rpath,/usr/local/Cellar/gcc/6.2.0/lib/gcc/6 -L/usr/local/Cellar/gcc/6.2.0/lib/gcc/6 -Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -lgfortran -lgcc_ext.10.5 -lquadmath -lm -lm" -DTPL_LAPACK_LIBRARIES="-llapack -lblas -Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -lmpifort -lgfortran -Wl,-rpath,/usr/local/Cellar/gcc/6.2.0/lib/gcc/6/gcc/x86_64-apple-darwin16.0.0/6.2.0 -L/usr/local/Cellar/gcc/6.2.0/lib/gcc/6/gcc/x86_64-apple-darwin16.0.0/6.2.0 -Wl,-rpath,/usr/local/Cellar/gcc/6.2.0/lib/gcc/6 -L/usr/local/Cellar/gcc/6.2.0/lib/gcc/6 -Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -lgfortran -lgcc_ext.10.5 -lquadmath -lm -lm" -DTrilinos_ASSERT_MISSING_PACKAGES=OFF -DTPL_ENABLE_TPL_SuperLU:BOOL=OFF -DTPL_ENABLE_SuperLUDist:BOOL=ON -DTPL_SuperLUDist_INCLUDE_DIRS="/Users/barrysmith/Src/petsc/arch-xsdk/include" -DTPL_SuperLUDist_LIBRARIES="-Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -lsuperlu_dist" -DTPL_ENABLE_HYPRE:BOOL=ON -DTPL_HYPRE_INCLUDE_DIRS="/Users/barrysmith/Src/petsc/arch-xsdk/include" -DTPL_HYPRE_LIBRARIES="-Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -lHYPRE -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -lclang_rt.osx -lmpicxx -lc++ -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -lclang_rt.osx" -DTPL_ENABLE_TPL_PARDISO_MKL:BOOL=OFF -DTPL_ENABLE_METIS:BOOL=ON -DTPL_METIS_INCLUDE_DIRS="/Users/barrysmith/Src/petsc/arch-xsdk/include" -DTPL_METIS_LIBRARIES="-Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -lmetis" -DTPL_ENABLE_ParMETIS:BOOL=ON -DTPL_ParMETIS_INCLUDE_DIRS="/Users/barrysmith/Src/petsc/arch-xsdk/include" -DTPL_ParMETIS_LIBRARIES="-Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -lparmetis" -DTPL_ENABLE_Scotch:BOOL=OFF -DTPL_ENABLE_HDF5:BOOL=ON -DTPL_HDF5_INCLUDE_DIRS="/Users/barrysmith/Src/petsc/arch-xsdk/include" -DTPL_HDF5_LIBRARIES="-Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -lhdf5hl_fortran -lhdf5_fortran -lhdf5_hl -lhdf5" -DTPL_ENABLE_Netcdf:BOOL=ON -DTPL_Netcdf_INCLUDE_DIRS="/Users/barrysmith/Src/petsc/arch-xsdk/include" -DTPL_Netcdf_LIBRARIES="-Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -lnetcdf -lhdf5hl_fortran -lhdf5_fortran -lhdf5_hl -lhdf5" -DTPL_ENABLE_ExodusII:BOOL=OFF Here it is for xsdktrilinos Executing: cd /Users/barrysmith/Src/petsc/arch-xsdk/externalpackages/git.xsdktrilinos/build && /usr/local/bin/cmake .. -DCMAKE_INSTALL_PREFIX=/Users/barrysmith/Src/petsc/arch-xsdk -DCMAKE_VERBOSE_MAKEFILE=1 -DCMAKE_C_COMPILER="/Users/barrysmith/Src/petsc/arch-xsdk/bin/mpicc" -DCMAKE_AR=/usr/bin/ar -DCMAKE_RANLIB=/usr/bin/ranlib -DCMAKE_C_FLAGS:STRING="-Qunused-arguments -g3" -DCMAKE_CXX_COMPILER="/Users/barrysmith/Src/petsc/arch-xsdk/bin/mpicxx" -DCMAKE_CXX_FLAGS:STRING="-g" -DCMAKE_Fortran_COMPILER="/Users/barrysmith/Src/petsc/arch-xsdk/bin/mpif90" -DCMAKE_Fortran_FLAGS:STRING="-ffree-line-length-0 -g" -DBUILD_SHARED_LIBS=on -DUSE_XSDK_DEFAULTS=YES -DTRILINOS_INSTALL_DIR=/Users/barrysmith/Src/petsc/arch-xsdk -DTrilinos_INSTALL_DIR=/Users/barrysmith/Src/petsc/arch-xsdk -DTPL_ENABLE_HYPRE=ON -DTPL_HYPRE_LIBRARIES="-Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -lHYPRE -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -lclang_rt.osx -lmpicxx -lc++ -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -lclang_rt.osx" -DTPL_HYPRE_INCLUDE_DIRS=/Users/barrysmith/Src/petsc/arch-xsdk/include -DTPL_ENABLE_PETSC=ON -DTPL_PETSC_LIBRARIES="-L/Users/barrysmith/Src/petsc/arch-xsdk/lib -lpetsc -Wl,-rpath,/usr/local/opt/openssl/lib -L/usr/local/opt/openssl/lib -lssl -lcrypto -Wl,-rpath,/opt/X11/lib -L/opt/X11/lib -lX11" -DTPL_PETSC_INCLUDE_DIRS=/Users/barrysmith/Src/petsc/include -DCMAKE_BUILD_TYPE=DEBUG -DxSDKTrilinos_ENABLE_DEBUG=YES -DxSDKTrilinos_EXTRA_LINK_FLAGS="-Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/8.0.0/lib/darwin -lmpifort -lgfortran -Wl,-rpath,/usr/local/Cellar/gcc/6.2.0/lib/gcc/6/gcc/x86_64-apple-darwin16.0.0/6.2.0 -L/usr/local/Cellar/gcc/6.2.0/lib/gcc/6/gcc/x86_64-apple-darwin16.0.0/6.2.0 -Wl,-rpath,/usr/local/Cellar/gcc/6.2.0/lib/gcc/6 -L/usr/local/Cellar/gcc/6.2.0/lib/gcc/6 -lgfortran -lgcc_ext.10.5 -lquadmath -lm -lclang_rt.osx -lmpicxx -lc++ -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -lclang_rt.osx -Wl,-rpath,/Users/barrysmith/Src/petsc/arch-xsdk/lib -L/Users/barrysmith/Src/petsc/arch-xsdk/lib -ldl -lmpi -lpmpi -lSystem -Wl,-rpath,/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin -lclang_rt.osx -ldl " -DxSDKTrilinos_ENABLE_TESTS=ON They are also what was previously contained in the previously attached pk.conf.* files |
I think explicitly passing all of these What I would like to try to resolve this once and for all is to implement TriBITSPub/TriBITS#126 and then test this out with Trilinos on Linux and OSX. Then I think PETSc can strip all of the @bradking, does this sound like the best course of action? |
@bartlettroscoe yes, getting |
Ok, let me know when I should try the new API. |
One question: What versions for Trilinos and xSDKTrilinos are being tested above? Is this the release version in the last xSDK release or the 'master' versions? I am asking because the Trilinos 'master' version should already have different behavior than the past release of Trilinos due to TriBITS setting Anyway, I am working on TriBITSPub/TriBITS#126 now trying to understand the behaviors of CMake for RPATH and get this fixed once and for all. |
If the PETSc build removes the manually set
@BarrySmith, if someone on the PETSc team has time to strip out the manually set |
@bartlettroscoe Thanks, I'm working on it now. One thing that would be useful, is there any easy scriptable way to pull out the Trilinos version at pre-cmake time? I can only strip out the rpath for for new Trilinos so need to know the version of Trilinos before building it. I can manually dig around and find it in Trilinos_version.h but do you have a trick to pull it out automatically? |
Yup. You can read it out of the Trilinos/Version.cmake file. The best way to do that is with a Note that in the future I would like to configure the Version.cmake file by reading the version for the git tag with
and get the version from that which will obey the semantic versioning standard. |
Googling cmake -P script did not help me at all. So yes if you could send me something that would be great
On Nov 30, 2016, at 2:49 PM, Roscoe A. Bartlett ***@***.***> wrote:
One thing that would be useful, is there any easy scriptable way to pull out the Trilinos version at pre-cmake time?
Yup. You can read it out of the Trilinos/Version.cmake file. The best way to do that is with a cmake -P script. If you are not sure how to do that, let me know and I can throw one together pretty fast.
Note that in the future I would like to configure the Version.cmake file by reading the version for the git tag with git described as described here. So in the future you can just run:
git describe --match=”`cat trilinos_tag_prefix.txt`*"
I may not have obtained cmake from git.
Barry
…
and get the version from that which will obey the semantic versioning standard.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
|
Copy the attached file GetProjectVersion.cmake.txt to
When I ran it on the current Trilinos 'develop' version with:
I get the STDOUT:
You should be able to parse that output pretty easy in Python. Let me know if you have any issues with this. Again, in the near future I hope to move to a git tag model based on |
Almost there. I can build trilinos without the rpath. I can also build the xsdktrilinos EXACT for one problem
otool -L /Users/barrysmith/Src/petsc/arch-basic/lib/libxsdk*.dylib | grep rpath Presumably something needs to be fixed in the xsdktrilinos cmake |
Looks like some Cmaky type thing might need to be updated in the install process
The text was updated successfully, but these errors were encountered: