Closed Jawisr closed 9 years ago
Hi there. EnGrid can now best be compiled using the cmake build system. To have the latest version:
Kind regards, F.
Hi ftpronk! Thanks for your answer. I tried to follow the steps but i found some trouble: First of all I had to add a line to Cmakelists.txt in order to avoid policy warnings: CMAKE_POLICY(SET CMP0017 OLD)
After solving that warning I got following error when running ccmake ../src: string sub-command REGEX, mode REPLACE needs at least 6 arguments total to command.
So I modified line 45 in cmakelists.txt and added quotation marks: string(REGEX REPLACE "[-g]" "" "GIT_SHA1" "${GIT_SHA1}")
After that I coud configure and generate the ccmake. However I found another error at 39% of make install command which I have no idea of how to solve it.
[ 39%] Building CXX object libengrid/CMakeFiles/libengrid.dir/blenderreader.cpp.o In file included from /home/javier/engrid-master/src/libengrid/operation.h:27:0, from /home/javier/engrid-master/src/libengrid/iooperation.h:26, from /home/javier/engrid-master/src/libengrid/blenderreader.h:25, from /home/javier/engrid-master/src/libengrid/blenderreader.cpp:22: /home/javier/engrid-master/src/libengrid/egvtkobject.h: In member function ‘void EgVtkObject::writeCells(vtkUnstructuredGrid, const C&, QString)’: /home/javier/engrid-master/src/libengrid/egvtkobject.h:704:8: error: ‘class vtkXMLUnstructuredGridWriter’ has no member named ‘SetInputData’ make[2]: ** [libengrid/CMakeFiles/libengrid.dir/blenderreader.cpp.o] Error 1 make[1]: * [libengrid/CMakeFiles/libengrid.dir/all] Error 2 make: * [all] Error 2
Could you please help me with this? Thanks!
Hello Jawisr, I'm not sure about the (SET CMP0017 OLD) command, but the REPLACE command error is possibly due to a difference in cmake version, as Ubuntu 14.04 ships with version 2.8 and we are using 3.0.2. Thank you for the update.
What is certain is that the compilation error is due to a mismatch in vtk versions. EnGrid has been upgraded to use VTK version 6.0 or higher, which lead to backward incompatible changes due to modifications in the VTK pipelines. As Debian / Ubuntu are lagging behind in the VTK versions shipped with their systems, this means you will have to compile VTK 6.0 or 6.1 (recommanded) on your machine from source. VTK also makes use of cmake, so this should make the compilation process easy.
Kind regards, F.
Thanks ftpronk, I'll try to update both cmake and VTK versions and try again. I'll let you know if it works.
It should normally work fine with cmake 2.8 as well, so you don't need to upgrade to 3.0.2
Hi again, I updated VTK to 6.1, and finally could run ccmake without errors. The problem comes when running make install, it shows following error:
javier@javier-ubuntu:~/engrid-master/build$ make install
[ 1%] Building CXX object libengrid/CMakeFiles/libengrid.dir/boundarylayeroperation.cpp.o
In file included from /home/javier/engrid-master/src/libengrid/boundarylayeroperation.cpp:26:0:
/home/javier/engrid-master/src/libengrid/cgaltricadinterface.h:60:11: error: ‘Intersection_and_primitive_id’ in ‘CgalTriCadInterface::TriangleTree {aka class CGAL::AABB_treeCGAL::AABB_traits<CGAL::Simple_cartesian<double, CGAL::AABB_triangle_primitiveCGAL::Simple_cartesian<double, CGAL::Triangle_3CGAL::Simplecartesian
Thanks in advance for your help!
Do you have CGAL-dev installed?
I have libcgal-dev and libcgal-qt4-dev installed. I have tried to run make install again and got the same error but at 38%:
[ 38%] Building CXX object libengrid/CMakeFiles/libengrid.dir/boundarylayeroperation.cpp.o
In file included from /home/javier/engrid-master/src/libengrid/boundarylayeroperation.cpp:26:0:
/home/javier/engrid-master/src/libengrid/cgaltricadinterface.h:60:11: error: ‘Intersection_and_primitive_id’ in ‘CgalTriCadInterface::TriangleTree {aka class CGAL::AABB_treeCGAL::AABB_traits<CGAL::Simple_cartesian<double, CGAL::AABB_triangle_primitiveCGAL::Simple_cartesian<double, CGAL::Triangle_3CGAL::Simplecartesian
I dont know if this is related with the error but in the step 4. Change the parameters if needed (CMAKE_INSTALL_PREFIX), I dont know what do I have to change so I set all parameters as default.
Thanks for your patience ftpronk,
Mm, no. I'm afraid that once more Ubuntu ships and "outdated" package. TriangleTree::Intersection_and_primitive_id was added starting from version 4.3, so unfortunately you will have to compile a more recent version of the CGAL source code. CGAL requires libboost (dev) to be installed, so verify which version of CGAL is compatible with the boost library shipped with Ubuntu 14.04. CGAL also uses cmake, so it should be straightforward.
Hi there! I've just compiled CGAL as explained here http://doc.cgal.org/latest/Manual/installation.html#title0. As you said, CGAL version in ubuntu repos is 4.2, I had to download and compile version 4.6 but it took just 2 minutes. After that I've changed CGAL directory and CGAL include directory in the ccmake configure window to point it to the new version folder (installed in my /home)>> (step 4). This has been enough to run make install successfully!! I'm going to try this new branch and see how it works. Maybe I'll need to open a new thread to ask you about new features and so on.
Thanks again ftpronk for your help!
You could also have created a ~/local folder to install all your compiled packages in (you specify the install path in ccmake by setting the CMAKE_INSTALL_PREFIX variable), and by adding the ~/local/bin and ~/local/lib path to your PATH and LD_LIBRARY_PATH in your .bashrc, cmake would find the packages automatically. The path variables would be set as follows: export PATH=/path_to_home/your_name/local/bin:$PATH export LD_LIBRARY_PATH=/path_to_home/your_name/local/lib:$LD_LIBRARY_PATH
Enjoy enGrid! F.
Hi there,
I would like to test this new version of enGrid. Unfortunately I am quite new to the whole concept and mechanisms at github. Is this src folder in the master branch the developer beta for version 1.5 then? How can I see the improvements that have been made comparing it to version 1.4?
Thanks for making enGrid open source and thanks for an answer in advance,
Kate
Am 22.06.2015 um 20:06 schrieb ftpronk notifications@github.com:
Hi there. EnGrid can now best be compiled using the cmake build system. To have the latest version:
- Pull the latest code from the master branch.
- Create a ./build directory within the engrid directory
- Go into ./build and run: ccmake ../src
- Change the parameters if needed (CMAKE_INSTALL_PREFIX)
- Press [c] to configure and then [g] to generate. Cmake will exit automatically if all went well.
- Run: make install That should do the trick.
Kind regards, F.
— Reply to this email directly or view it on GitHub https://github.com/enGits/engrid/issues/52#issuecomment-114202575.
Hi Kate, As you say, the master-branch is the current version under development. I think it has no version number yet but it should be a "1.5 beta". As I have seen in the last days this new version allow you to create polyhedral meshes in a very easy way. The meshing process is quite similar, with the exception that in 1.4 you have to create BL, tetras and divide BL by steps. In master-branch this process is made in a single step (which I don't like very much since I feel like the user loses control in meshing).
As I told you I couldn't mesh the BL in master-branch because I get the same error all the time "unrealistic height computed", it doesn't matter what the parameters are.
If you have time, try to install master-brach but I recommend to start with 1.4 since is easier to install and to use.
Regards and welcome to engrid comunity!
Hello Kate and Jawisr,
The master branch is indeed 1.5 unstable. The code has changed significantly with respect to v1.4, so the two versions are not comparable, and 1.4 is no longer supported or developed. The new version has better support for prismatic boundary layers and uses more robust meshing algorithms.
Kind regards, F.
Hello,
when I compile the latest version according to the following steps, do I still keep enGrid 1.4 on my system. If not, how can I install the latest version while keeping version 1.4?
Thanks for your help,
Kate
Am 22.06.2015 um 20:06 schrieb ftpronk notifications@github.com:
Hi there. EnGrid can now best be compiled using the cmake build system. To have the latest version:
- Pull the latest code from the master branch.
- Create a ./build directory within the engrid directory
- Go into ./build and run: ccmake ../src
- Change the parameters if needed (CMAKE_INSTALL_PREFIX)
- Press [c] to configure and then [g] to generate. Cmake will exit automatically if all went well.
- Run: make install That should do the trick.
Kind regards, F.
— Reply to this email directly or view it on GitHub https://github.com/enGits/engrid/issues/52#issuecomment-114202575.
Hello Kate,
It depends on how they are installed, and which operating system you are using.
On Linux, if 1.4 is installed from a system package and 1.5 is compiled, you keep both.
If both are compiled and installed in the same ~/local/bin folder (or any other central folder of your choice) than the latest compiled executable will overwrite the previous one.
If you compile the two versions in separate folders and only execute the compiled enGrid executable from within those folders (i.e. they are not installed in a central folder), than both are kept without issues. I guess that is also the safest installation solution, library-depend wise. You can then also alias the executables in your .bashrc to be able to run them from anywhere in a terminal with:
alias engrid1.4="/path/to/engrid1.4/bin/engrid"
alias engrid1.5="/path/to/engrid1.5/bin/engrid"
Kind regards, F.
Hi,
I run into the following, tetgen related issue at step 6 = make install:
[ 0%] Built target tet [ 1%] Built target tetgen make[2]: * Keine Regel vorhanden, um das Target »/home/klaus/Downloads/engrid-master/src/libengrid/resources/solvers/DrNUM-1.0/drnumLowSpeed/standard/control/main.dnc«, benötigt von »libengrid/qrc_engrid.cxx«, zu erstellen. Schluss. make[1]: * [libengrid/CMakeFiles/libengrid.dir/all] Fehler 2 make: *\ [all] Fehler 2
How can I fix that?
Hello,
Some ancillary changes have been pushed in preparation of a future enGrid release.
For the time being, you can checkout the latest "stable" commit which should be commit: d81ae489d54cb5bb71e318ec17296a27645fb55e
Kind regards, F.
Hi all, im succesfully installed engrid 1.4 in ubuntu 14.04 even having some troubles. I would like how to install new concept version in such distro. I assume that I cannot use build.bash script because it is installing version 1.4. Which installation method do I need to use in order to install these two new branches on my ubuntu?
Thnaks!