Problems building foamyHexMesh: CGAL missing?
Hi,
i just compile OF2.3 everythinks work fine except foamyHexMesh: in the log file there is: /opt/OpenFOAM-2.3.0/bin/tools/RunFunctions: line 52: foamyHexMesh: command not found any idea? thank you. LL here the error message when i try to wmake the application: linux-dgf5:/opt/OpenFOAM-2.3.0/applications/utilities/mesh/generation # wmake foamyHexMesh SOURCE=foamyHexMesh.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-100 -frounding-math -DNDEBUG -DCGAL_INEXACT -I/opt/ThirdParty-2.3.0/platforms/linux64Gcc/CGAL-4.3/include -I/include -I/include -I/opt/ThirdParty-2.3.0/platforms/linux64Gcc/boost-system/include -IconformalVoronoiMesh/lnInclude -I/opt/OpenFOAM-2.3.0/src/finiteVolume/lnInclude -I/opt/OpenFOAM-2.3.0/src/meshTools/lnInclude -I/opt/OpenFOAM-2.3.0/src/parallel/decompose/decompositionMethods/lnInclude -I/opt/OpenFOAM-2.3.0/src/edgeMesh/lnInclude -I/opt/OpenFOAM-2.3.0/src/fileFormats/lnInclude -I/opt/OpenFOAM-2.3.0/src/dynamicMesh/lnInclude -I/opt/OpenFOAM-2.3.0/src/triSurface/lnInclude -I/opt/OpenFOAM-2.3.0/src/sampling/lnInclude -I/opt/OpenFOAM-2.3.0/src/mesh/autoMesh/lnInclude -IvectorTools -IlnInclude -I. -I/opt/OpenFOAM-2.3.0/src/OpenFOAM/lnInclude -I/opt/OpenFOAM-2.3.0/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/foamyHexMesh.o In file included from conformalVoronoiMesh/lnInclude/CGALTriangulation3Ddefs.H:41:0, from conformalVoronoiMesh/lnInclude/conformalVoronoiMesh.H:44, from foamyHexMesh.C:36: conformalVoronoiMesh/lnInclude/CGALTriangulation3DKernel.H:36:43: fatal error: CGAL/Delaunay_triangulation_3.h: No such file or directory compilation terminated. make: *** [Make/linux64GccDPOpt/foamyHexMesh.o] Error 1 it look likek i miss CGAL/Delaunay_triangulation_3.h ??? |
Hi,
Yes, foamyHexMesh needs CGAL library to be built (CGAL in turn depends on boost, gmp, and mpfr). CGAL is in ThirdParty source pack but it won't build without dependencies and consequently foamyHexMesh will refuse to build. |
Hi,
I had a similar problem. I checked the thirdparty folder and ran the Allwmake script there a couple of times to make sure everything was compiled correctly. I also had to install or update some additional packages. Sometimes I had to update the environment variables in between running the Allwmake script. I suggest you start with the thirdparty folder and look at the error messages there. Probably you can work your way through them. Regards, Tom |
Did you have to install the boost-dev package? I found I had to install that AND add the cgal library to the options file.
|
thanks to all,
@mturcios777 yes, i'am on opensuse,12.3, i did a: zypper install cmake libqt4-devel boost-devel gnuplot how do you install boost-devl? how do you add options? i try to compile from source and follow exactly http://www.openfoam.org/download/source.php.. but it look like it s not enough, openfoam paraFoam works well but not foamyHexMesh. so i built gmp5.0.4 and mpfr3.1.0 manually doing now mpc0.9, yast or zypper install boost 1.49, in general may be older version than openfoam need? for example in Thirdparty when i do as su ./makeGcc, it ask for newer version of gmp or mpfr, than the one install with yast... i never add so much problems before to install older version of OpenFoam... it turm me crazy!!! |
Quote:
zypper install -t pattern devel_C_C++ zypper install cmake libqt4-devel boost-devel gnuplot Were the commands successful? I had the same problem on Ubuntu were boost was missing as well. After installing boost, cgal from Thirdparty compiled fine. It would be helpful if you provide the first lines of output for the Thirdparty programs from the ./Allwmake script. Here it looks like this: Code:
======================================== |
Hi Billie,
HTML Code:
l usually it is true that major release start with X instead of 0 .... could it be my problem? HTML Code:
linux-dgf5:/opt/ThirdParty-2.3.0 # ./Allwmake |
Well I build from source like you but not from the official releases but from the git head of the OpenFOAM development. These versions use x for the micro version. This shouldn't make a difference however. I can see the Thirdparty tools all build fine, but still the cgal headers are not found.
Were is the file CGAL/Delaunay_triangulation_3.h located on your system? When you extract the Thirdparty tools it should be in ThirdParty-2.3.0/CGAL-4.3/include/CGAL/Delaunay_triangulation_3.h After compilation of the cgal thirdparty tool they should as well under ThirdParty-2.3.0/platforms/linux64Gcc/CGAL-4.3/include/CGAL/Delaunay_triangulation_3.h Do you still get the same failures when running ./Allwmake instead of running wmake inside the source for foamyHexMesh. |
@Laurent98:
I've installed on Ubunutu so I used the Ubuntu name of the boost developers library. Have you tried compiling the CGAL library included in ThirdParty-2.3 folder? |
ok thanks to all for reply,
i think the problems come from my computer... i did all my commands with a log ./Allwmake > allwmake.log 2>&1 i found the glu.h was missing to compile cgal, i had i glu-dev and recompile cgal from thirdParty2.3.0 . it was ok from thirdParty2.3.0 ... then linux-dgf5:/opt/OpenFOAM-2.3.0/applications/utilities/mesh/generation # ./Allwmake > allwmake.log 2>&1 were there is : Code:
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libautoMesh.so, needed by /opt/OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libconformalVoronoiMesh.so, not found (try using -rpath or -rpath-link) don't know what to do, maybe clean every thinks and reinstall opensuse 13.1... have a good day LL |
Quote:
Quote:
If this fails I would not reinstall the complete OS, this should be the last resort. It looks like all dependencies are installed now, so before reinstalling I would first try to recompile OpenFOAM and the Thirdparty tools completely. You can start from scratch by cleaning out everything which has been built with this two scripts: Code:
/opt/OpenFOAM-2.3.0/wmake/wcleanAll After that run the Allwmake script. It is good practice to run the Allwmake script a second time as wmake then only tries to build things which failed earlier. This way errors are easier to spot. |
hi to all, thank again for ideas...
here the begining of the log file made with ./Allwmake; Code:
gcc -m64 -Wall -O3 -fPIC dirToString.c -o /home/laurent/OpenFOAM//OpenFOAM-2.3.0/wmake/platforms/linux64Gcc/dirToString Code:
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: warning: libtriSurface.so, needed by /home/laurent/OpenFOAM//OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so, not found (try using -rpath or -rpath-link) just wandering what in my config make that error came! end of log file : Code:
/home/laurent/OpenFOAM//OpenFOAM-2.3.0/platforms/linux64GccDPOpt/lib/libfiniteVolume.so: undefined reference to `Foam::pointToPointPlanarInterpolation::pointToPointPlanarInterpolation(Foam::Field<Foam::Vector<double> > const&, Foam::Field<Foam::Vector<double> > const&, double)' i will try tomorrow to firt compile gcc and other for Thirdparty... |
Greetings to all!
@laurent98: If you're still using openSUSE 12.3 and trying to build OpenFOAM 2.3.0, hopefully the following instructions will solve your problems: http://openfoamwiki.net/index.php/In...#openSUSE_12.3 Best regards, Bruno |
Dear Bruno,
after a week of different trying, i finally follow you instruction and it's work right away! even paraFoam with python i just did: ./makeParaView4 -python it s great! thank you so much! good day to all LL |
conformalVoronoiMesh(CGAL) compilation error
1 Attachment(s)
Quote:
First of all, I apologize if I am asking the question in the wrong thread but the error message seemed similar to the problem I have. I am trying to compile OpenFOAM-v1606+ on a RedHat-6.8 machine in my $HOME/OpenFOAM directory. I followed the instructions from the webpage https://openfoamwiki.net/index.php/I...HEL#CentOS_6.6. It seems that the OpenFOAM utilities using the CGAL library are not compiling as they are looking for the <gmp.h> file. Rest of the packages compiled successfully. Also the I am able to compile paraview successfully. Any help would be much appreciated. I am using openmpi-1.10 and gcc-4.9.2 for compilation. Also I am don't have the rights to use 'sudo' command. |
Quick answer: There are instructions on the wiki for installing OpenFOAM+ v1606+ in CentOS 6.x: https://openfoamwiki.net/index.php/I...HEL#CentOS_6.7 - which should also work on RHEL 6.8...
But, OK, since you already have most of the installation going as intended, what's missing is the path to GMP, which is likely on your built GCC stack.
|
foamyHexMesh compilation
Quote:
Thank you for the reply. I will try to answer your every question one by one.
Code:
alias of1606+='export PATH=$PATH:/opt/gcc49/bin;
Code:
CGAL_INC = \ After that I ran Allwmake from $WM_PROJECT_DIR and the libraries were compiled successfully. However, I wanted to ask you whether exporting the 'MPFR_ARCH_PATH' and 'GMP_ARCH_PATH' using the alias is common practice. What is the standard way for exporting those path or in which files must those path be set to make it more clean/standard. Regards Sohail |
Quote:
Code:
WM_COMPILER_TYPE=ThirdParty And you can configure the path to "/opt/gcc49" in "OpenFOAM-v1606+/etc/config.sh/compiler" as well... er, wait... the paths to the compiler and MPFR and GMP are actually defined here: "OpenFOAM-v1606+/etc/config.sh/settings" |
foamyHexMesh compilation reports missing lCGAL
I have gone through the discussion thread, and tried different things but nothing seems to work out. Everything has compiled quite well, except foamyMesh folder.
I'm attaching the snippet below from wmake where the first error occurs. FYI I'm trying to compile OpenFOAM-dev with custom CGAL-4.9 and ThirdParty libs (gmp, and mpfr) wmake refineMesh wmake renumberMesh [100%] Built target PVblockMeshReader_SM Allwmake applications/utilities/mesh/manipulation/renumberMesh Allwmake applications/utilities/postProcessing/graphics/PVReaders/PVFoamReader wmake rotateMesh wmake vtkPVFoam /home/syed/OpenFOAM/ThirdParty-dev/platforms/linux64/gcc-6.3.0/lib/gcc/x86_64-pc-linux-gnu/6.3.0/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lCGAL collect2: error: ld returned 1 exit status make[2]: *** [/home/syed/OpenFOAM/OpenFOAM-dev/platforms/linux64Gcc63DPInt64Opt/lib/libconformalVoronoiMesh.so] Error 1 make[2]: Target `libso' not remade because of errors. wmake conformalVoronoi2DMesh wmake setSet Allwmake applications/utilities/mesh/manipulation/setSet found <readline/readline.h> -- enabling readline support. wmake setsToZones wmake singleCellMesh |
Sorry, was able to resolve the error with a simple install of mpfr-devel and gmp-devel using package manager which allowed a proper build and linkage. CGAL was able to find these libraries from their respective locations during its compilation and build process, and so does the foamyMesh utility!
|
All times are GMT -4. The time now is 09:55. |