Comments (13)
Hi Thomas,
1.) You can specify additional paths to be searched by cmake with -DCMAKE_PREFIX_PATH=...
2.) The LIB should point to a .so or .a file not the directory. This will be solved by 1.)
3.) This should be solved by 2.)
Depending on how you compiled PUMI, you may have to alter cmake/FindSimmetrix.cmake, see https://github.com/SeisSol/PUMGen/tree/xml-newerSimMod.
I can successfully compile PUMGen on supermuc with cmake (on the xml branch) with
cmake .. -DCMAKE_PREFIX_PATH=~/myLib -DSIMMETRIX=ON -DSIMMETRIX_ROOT=~/myLib/15.0-190821dev/ -DCMAKE_BUILD_TYPE=Release && make -j8
from pumgen.
Hi,
Thank you for your answer. So I tried:
mkdir build_cmake
cd build_cmake
cmake .. -DCMAKE_PREFIX_PATH=/hppfs/work/pr45fi/di73yeq4/myLibs/core:/hppfs/work/pr63qo/di73yeq4/myLibs/SimModelerLib/14.0-190921 -DSIMMETRIX=ON -DSIMMETRIX_ROOT=/hppfs/work/pr63qo/di73yeq4/myLibs/SimModelerLib/14.0-190921 -DCMAKE_BUILD_TYPE=Release && make -j8
but gets:
di73yeq4@login03:/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/build_cmake/build_cmake> cmake .. -DCMAKE_PREFIX_PATH=/hppfs/work/pr45fi/di73yeq4/myLibs/core:/hppfs/work/pr63qo/di73yeq4/myLibs/SimModelerLib/14.0-190921 -DSIMMETRIX=ON -DSIMMETRIX_ROOT=/hppfs/work/pr63qo/di73yeq4/myLibs/SimModelerLib/14.0-190921 -DCMAKE_BUILD_TYPE=Release && make -j8
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- Could NOT find APF (missing: APF_INCLUDE_DIR APF_LIBRARIES)
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/APF_INCLUDE_DIR
used as include directory in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/APF_SIM_INCLUDE_DIR
used as include directory in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/APF_ZOLTAN_INCLUDE_DIR
used as include directory in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/GMI_INCLUDE_DIR
used as include directory in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/GMI_SIM_INCLUDE_DIR
used as include directory in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/LION_INCLUDE_DIR
used as include directory in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/MA_INCLUDE_DIR
used as include directory in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/MDS_INCLUDE_DIR
used as include directory in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/MTH_INCLUDE_DIR
used as include directory in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/PCU_INCLUDE_DIR
used as include directory in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
APF_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
APF_SIM_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
APF_ZOLTAN_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
GMI_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
GMI_SIM_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
LION_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
MA_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
MDS_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
MTH_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
PCU_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
SIM_PARTITINED_WRAPPER_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
-- Configuring incomplete, errors occurred!
See also "/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/build_cmake/CMakeFiles/CMakeOutput.log".
Yet the header files of apf are in /hppfs/work/pr45fi/di73yeq4/myLibs/core/
di73yeq4@login03:/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/build_cmake/build_cmake> ls /hppfs/work/pr45fi/di73yeq4/myLibs/core/include/
agm.h apfDynamicArray.h apf.h apfMixedNumbering.h apfSIM.h crv.h gmi_lookup.h lionPrint.h maShape.h mthAD.h mthVector.h phBC.h pumi.h samSz.h
apf2mth.h apfDynamicMatrix.h apfMatrix.h apfNew.h apfVector.h GenIterator.h gmi_mesh.h maDBG.h maSize.h mth_def.h parma.h ph.h pumi_list.h spr.h
apfArray.h apfDynamicVector.h apfMDS.h apfNumberingClass.h apfZoltan.h GenTag.h gmi_null.h maExtrude.h maSolutionTransfer.h mth.h PCU.h phInput.h pumi_version.h
apfBox.h apfFieldData.h apfMesh2.h apfNumbering.h canArray.h gmi_analytic.h gmi_sim.h ma.h maStats.h mthMatrix.h pcu_io.h phiotimer.h reel.h
apfCavityOp.h apfField.h apfMesh.h apfPartition.h canNewArray.h gmi_base.h lionBase64.h maInput.h maTables.h mthQR.h pcu_util.h phstream.h samElementCount.h
apfConvert.h apfGeometry.h apfMIS.h apfShape.h chef.h gmi.h lionCompress.h maMesh.h mPartEntityContainer.h mthTensor.h phastaChef.h pumi_errorcode.h sam.h
from pumgen.
cmake is a bit picky with :
seperated lists. They require ;
as a separator. As ;
has a meaning for bash itself, you have to esacpe it with \;
Anyways you do not need to specify the simmodeler path in the CMAKE_PREFIX_PATH.
from pumgen.
I see thx very useful. Now I get:
di73yeq4@login03:/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/build_cmake> cmake .. -DCMAKE_PREFIX_PATH=/hppfs/work/pr45fi/di73yeq4/myLibs/core -DSIMMETRIX=ON -DSIMMETRIX_ROOT=/hppfs/work/pr63qo/di73yeq4/myLibs/SimModelerLib/14.0-190921 -DCMAKE_BUILD_TYPE=Release && make -j8
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
SIM_PARTITINED_WRAPPER_LIB
linked by target "pumgen" in directory /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen
-- Configuring incomplete, errors occurred!
I think the SIM_PARTITINED_WRAPPER_LIB is here:
di73yeq4@login03:/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/build_cmake> ls /hppfs/work/pr63qo/di73yeq4/myLibs/SimModelerLib/14.0-190921/lib/x64_rhel6_gcc44/
acisKrnl libSimAcis2017.a libSimDiscrete.a libSimField.a libSimMeshTools.a libSimParasolid310.a libSimPartitionedMesh-mpi.a libSimPartitionWrapper-mpich3.a libSimPartitionWrapper-openmpi3.a
libSimAbstract.a libSimAdvMeshing.a libSimExport.a libSimMeshing.a libSimModel.a libSimPartitionedMesh.a libSimPartitionWrapper.a libSimPartitionWrapper-openmpi2.a psKrnl
from pumgen.
On the xml branch cmake looks for ´libSimPartitionWrapper-mpich.a´. In your lib folder there is only the -mpich3 file. I do not know why exactly, in my folder there is a -mpich as well as a -mpich3 file.
Have you tried the branch I've posted earlier? There it should be fixed.
from pumgen.
Great I'm almost there
di73yeq4@login03:/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/build_cmake> cmake .. -DCMAKE_PREFIX_PATH=/hppfs/work/pr45fi/di73yeq4/myLibs/core -DSIMMETRIX=ON -DSIMMETRIX_ROOT=/hppfs/work/pr63qo/di73yeq4/myLibs/SimModelerLib/14.0-190921 -DCMAKE_BUILD_TYPE=Release && make -j8
-- HDF5: Using hdf5 compiler wrapper to determine C configuration
-- Found SIMMETRIX: /hppfs/work/pr45fi/di73yeq4/myLibs/core/include;/hppfs/work/pr45fi/di73yeq4/myLibs/core/include;/hppfs/work/pr45fi/di73yeq4/myLibs/SimModelerLib/14.0-190921/include
-- Configuring done
-- Generating done
-- Build files have been written to: /hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/build_cmake
Scanning dependencies of target tinyxml2
[ 9%] Building CXX object CMakeFiles/tinyxml2.dir/submodules/tinyxml2/tinyxml2.cpp.o
[ 18%] Linking CXX static library libtinyxml2.a
[ 18%] Built target tinyxml2
Scanning dependencies of target pumgen
[ 27%] Building CXX object CMakeFiles/pumgen.dir/src/input/SimModSuite.cpp.o
[ 45%] Building CXX object CMakeFiles/pumgen.dir/src/meshreader/GambitReader.cpp.o
[ 45%] Building CXX object CMakeFiles/pumgen.dir/src/pumgen.cpp.o
[ 54%] Building CXX object CMakeFiles/pumgen.dir/src/meshreader/FidapReader.cpp.o
[ 63%] Building CXX object CMakeFiles/pumgen.dir/src/input/MeshAttributes.cpp.o
[ 90%] Building CXX object CMakeFiles/pumgen.dir/src/input/AnalysisAttributes.cpp.o
[ 90%] Building CXX object CMakeFiles/pumgen.dir/src/input/ParallelVertexFilter.cpp.o
[ 90%] Building CXX object CMakeFiles/pumgen.dir/src/input/split.cpp.o
[100%] Linking CXX executable pumgen
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: /hppfs/work/pr45fi/di73yeq4/myLibs/core/lib/libma.a(maSnap.cc.o): undefined reference to symbol '__libm_sse2_sincos'
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: /lrz/sys/intel/studio2019_u5/compilers_and_libraries_2019.5.281/linux/compiler/lib/intel64/libimf.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
CMakeFiles/pumgen.dir/build.make:221: recipe for target 'pumgen' failed
make[2]: *** [pumgen] Error 1
CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/pumgen.dir/all' failed
make[1]: *** [CMakeFiles/pumgen.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
from pumgen.
I haven't seen this linker error. How did you compile pumi? Make sure, you use the same compiler/modules.
Do ccmake in the pumi build folder and inspect the mpirun variable. This could be a good lead.
from pumgen.
Might be a compiler mismatch. Did you use the intel compiler for core/lib/libma.a?
from pumgen.
I found some answers in the Makefile I was using for compile SimModeler.
- If you set PQUAL := -mpich3 then you get a libSimPartitionWrapper-mpich3.a.
So I guess we should leave it with PQUAL := -mpich, and not update the Cmakefile as you did. - in the same make file, CC and CXX were hardcoded to some slightly older compiler version.
At the end, I change them to:
PQUAL := -mpich
# Replace this with the path to MPI-C and MPI-C++ compilers
CC := $(shell which mpicc)
CXX := $(shell which mpiCC)
I anyway recompiled core, SimModeler and pumgen, but still get the same error.
(pumgen compiles without problem with scons).
note that the problem might be here (/usr/bin/cc):
di73yeq4@login03:/hppfs/work/pr45fi/di73yeq4/myLibs/PUMGen/build_cmake> cmake .. -DCMAKE_PREFIX_PATH=/hppfs/work/pr45fi/di73yeq4/myLibs/core -DSIMMETRIX=ON -DSIMMETRIX_ROOT=/hppfs/work/pr63qo/di73yeq4/myLibs/SimModelerLib/14.0-190921 -DCMAKE_BUILD_TYPE=Release && make -j8
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
from pumgen.
You should set -DCMAKE_C_COMPILER= and -DCMAKE_CXX_COMPILER=<c++ compiler>.
You can also use "ccmake .." to get a graphical overview of all available options.
from pumgen.
I have the intel/19.0 and mpi.intel/2019 module loaded and I have:
-- The C compiler identification is Intel 19.0.5.20190815
-- The CXX compiler identification is Intel 19.0.5.20190815
from pumgen.
Hi,
I've checked again:
There are precompiled PartitionWrappers, no need to compile them on your own....
My modules are:
admin/1.0
tempdir/1.0
spack/release/19.2
lrz/1.0
scons/3.0.1
gcc/7
cmake/3.14.4
libszip/2.1.1
hdf5/1.8.20-intel-impi-frt-threadsafe
mpi.intel/2019
intel/19.0
1.) I've downloaded the latest Release of SimModSuite, using your download script.
2.) Extract all the files. In my case they are in ~/myLib/simmetrix/15.0-200822
3.) Check out latest PUMI master and edit cmake/FindSimModSuite.cmake
such that MAX_VALID_SIM_VERSION is greater than 15.0.200822. This is no problem, they just havent updated. PUMI is in ~/myLib/core
4.) Build PUMI with CC=mpicc CXX=mpicxx cmake .. -DCMAKE_INSTALL_PREFIX=~/myLib -DENABLE_SIMMETRIX=ON -DSIM_MPI=mpich3 -DSIMMETRIX_LIB_DIR=~/myLib/simmetrix/15.0-200822/lib/x64_rhel7_gcc48/ -DSIMMODSUITE_INCLUDE_DIR=~/myLib/simmetrix/15.0-200822/include/ && make -j48 && make install
5.) Checkout PUMGen xml-newerSimMod.
6.) Build with cmake .. -DCMAKE_PREFIX_PATH=~/myLib -DSIMMETRIX=ON -DSIMMETRIX_ROOT=~/myLib/simmetrix/15.0-200822/ -DCMAKE_BUILD_TYPE=Release && make -j48
I havent tested if PUMgen works corrctly, but it builds and runs afterwards (=shows the help)
from pumgen.
Hi,
using -DCMAKE_C_COMPILER=<c compiler>
and -DCMAKE_CXX_COMPILER=<c++ compiler>
allowed me to compile with cmake, great!
And good for the precompiled PartitionWrappers, this will simplify even more the installation process.
I will update the wiki!
from pumgen.
Related Issues (20)
- SConstruct in master branch HOT 3
- Compilation error with GMSH support HOT 2
- SIM_PARTITINED_WRAPPER_LIB
- Apf Missing HOT 3
- Compiling with MPI 4 HOT 2
- Compiling core on heisenbug HOT 4
- .bashrc adjustment for pumgen command HOT 3
- PUMGEN fails with msh2, floating point exception HOT 2
- pumgen crashes if properties given by a LayeredModel (VelocityAwareMeshing)
- gmsh2.2 mesh generated on windows cannot be converted HOT 1
- Pumgen smooth specific faces HOT 5
- Compiling PUMGen with spack in Shaheen II HOT 2
- Converting mesh to APF fails for large mesh HOT 5
- pumgen mesh64 fails converting small mesh HOT 2
- PUMGen fails when writing a very large mesh HOT 5
- Boundary conditions incorrectly set in bypass-apf branch HOT 1
- compiling pumgen with spack on Ubuntu 22.04.2 LTS HOT 2
- mesh > 32e6 generated with pumgen@master or pumgen@bypass-apf failed when read by seissol HOT 5
- Failed in making Velocity aware mesh using PUMGEN HOT 6
- Segmentation Fault when Converting .neu File with PumGen HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pumgen.