OCC7.4 Released

This subforum is specifically to discuss packaging issues on different platforms (windows, mac, linux), and using different packaging systems (conda, etc...)
User avatar
looo
Posts: 3468
Joined: Mon Nov 11, 2013 5:29 pm

Re: OCC7.4 Released

Postby looo » Wed Nov 13, 2019 5:41 pm

Did anyone else run into this problem when rebuilding netgen with occt7.4?

Code: Select all

../libsrc/occ/occgeom.hpp:76:10: fatal error: BRepMesh.hxx: No such file or directory
 #include "BRepMesh.hxx"
User avatar
hobbes1069
Posts: 254
Joined: Wed Nov 09, 2011 3:49 pm
Location: Southaven, MS

Re: OCC7.4 Released

Postby hobbes1069 » Wed Nov 13, 2019 7:58 pm

looo wrote:
Wed Nov 13, 2019 5:41 pm
Did anyone else run into this problem when rebuilding netgen with occt7.4?

Code: Select all

../libsrc/occ/occgeom.hpp:76:10: fatal error: BRepMesh.hxx: No such file or directory
 #include "BRepMesh.hxx"
Yes, I gave up trying to get Fedora netgen-mesher to use it. It doesn't seem to be maintained.

Thanks,
Richard
User avatar
looo
Posts: 3468
Joined: Mon Nov 11, 2013 5:29 pm

Re: OCC7.4 Released

Postby looo » Wed Nov 13, 2019 9:48 pm

hobbes1069 wrote:
Wed Nov 13, 2019 7:58 pm
Yes, I gave up trying to get Fedora netgen-mesher to use it. It doesn't seem to be maintained.
looks like a lot of diff:
http://git.dev.opencascade.org/gitweb/? ... fe3da83324

seems to be fixed in the latest master of netgen by simple removing the header:
https://github.com/NGSolve/netgen/commi ... a1ef21ea3f

I will test and report back.
User avatar
hobbes1069
Posts: 254
Joined: Wed Nov 09, 2011 3:49 pm
Location: Southaven, MS

Re: OCC7.4 Released

Postby hobbes1069 » Wed Nov 13, 2019 10:15 pm

Bah... Fedora is still pointing at the sourceforge project. Keeping up with forks of projects is getting difficult. :roll:

I'll ping the maintainer about the potential to switch. I only co-maintain that package.

Thanks,
Richard
User avatar
looo
Posts: 3468
Joined: Mon Nov 11, 2013 5:29 pm

Re: OCC7.4 Released

Postby looo » Thu Nov 14, 2019 7:30 am

looo wrote:
Wed Nov 13, 2019 9:48 pm
I will test and report back.
Netgen 6.2.1808 worked by patching the #include "BRebMesh.hxx" line. Now smesh makes problems:

Code: Select all

FAILED: CMakeFiles/StdMeshers.dir/src/StdMeshers/StdMeshers_Arithmetic1D.cxx.o 
$BUILD_PREFIX/bin/x86_64-conda_cos6-linux-gnu-c++  -DCSFDB -DHAVE_CONFIG_H -DHAVE_LIMITS_H -DHAVE_TBB -DLIN -DOCC_CONVERT_SIGNALS -DStdMeshers_EXPORTS -I$PREFIX/include/opencascade -I$PREFIX/include/freetype2 -I$PREFIX/include/python3.6m -I$PREFIX/include/libxml2 -I$PREFIX/include/netgen -I$PREFIX/include/netgen/occ -I$PREFIX/include/netgen/meshing -I$PREFIX/include/netgen/general -I$PREFIX/include/netgen/linalg -I$PREFIX/include/netgen/csg -I$PREFIX/include/netgen/geom2d -I$PREFIX/include/netgen/gprim -I$PREFIX/include/netgen/include -I$PREFIX/include/netgen/stlgeom -I../inc -isystem $PREFIX/include/vtk-8.2 -isystem $PREFIX/include/vtk-8.2/vtkogg/include -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -I$PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/smesh-8.3.0.2 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -O3 -DNDEBUG -fPIC   -std=gnu++1z -MD -MT CMakeFiles/StdMeshers.dir/src/StdMeshers/StdMeshers_Arithmetic1D.cxx.o -MF CMakeFiles/StdMeshers.dir/src/StdMeshers/StdMeshers_Arithmetic1D.cxx.o.d -o CMakeFiles/StdMeshers.dir/src/StdMeshers/StdMeshers_Arithmetic1D.cxx.o -c ../src/StdMeshers/StdMeshers_Arithmetic1D.cxx
In file included from ../src/StdMeshers/StdMeshers_Arithmetic1D.cxx:31:0:
../inc/SMESH_Mesh.hxx:352:17: error: expected ';' at end of member declaration
   std::ostream& Dump(ostream & save);
                 ^~~~
../inc/SMESH_Mesh.hxx:352:30: error: expected ')' before '&' token
   std::ostream& Dump(ostream & save);
                              ^
../inc/SMESH_Mesh.hxx: In copy constructor 'SMESH_Mesh::SMESH_Mesh(const SMESH_Mesh&)':
../inc/SMESH_Mesh.hxx:393:3: error: uninitialized reference member in 'std::ostream& {aka class std::basic_ostream<char>&}' [-fpermissive]
   SMESH_Mesh(const SMESH_Mesh&) {};
   ^~~~~~~~~~
../inc/SMESH_Mesh.hxx:352:22: note: 'std::ostream& SMESH_Mesh::Dump' should be initialized
   std::ostream& Dump(ostream & save);
                      ^~~~~~~
while this shouldn't be too difficult to patch, it might be better to use a updated library of smesh, as done here (?):
https://forum.freecadweb.org/viewtopic.php?f=4&t=40637

edit.: and some more:

Code: Select all

../src/StdMeshers/StdMeshers_Projection_2D.cxx: In function 'const BRepMesh_Triangle* {anonymous}::findTriangle(const gp_XY&, const BRepMesh_Triangle*, opencascade::handle<BRepMesh_DataStructureOfDelaun>&, double*)':
../src/StdMeshers/StdMeshers_Projection_2D.cxx:1254:45: error: no matching function for call to 'BRepMesh_DataStructureOfDelaun::IndexOf(const BRepMesh_Triangle&)'
       int triaID = triaDS->IndexOf( *bmTria );
                                             ^
In file included from /home/lo/miniconda3/conda-bld/debug_1573719329100/_h_env/include/opencascade/BRepMesh_Delaun.hxx:27:0,
                 from ../src/StdMeshers/StdMeshers_Projection_2D.cxx:54:
/home/lo/miniconda3/conda-bld/debug_1573719329100/_h_env/include/opencascade/BRepMesh_DataStructureOfDelaun.hxx:63:20: note: candidate: Standard_Integer BRepMesh_DataStructureOfDelaun::IndexOf(const BRepMesh_Vertex&)
   Standard_Integer IndexOf(const BRepMesh_Vertex& theNode)
                    ^~~~~~~
/home/lo/miniconda3/conda-bld/debug_1573719329100/_h_env/include/opencascade/BRepMesh_DataStructureOfDelaun.hxx:63:20: note:   no known conversion for argument 1 from 'const BRepMesh_Triangle' to 'const BRepMesh_Vertex&'
/home/lo/miniconda3/conda-bld/debug_1573719329100/_h_env/include/opencascade/BRepMesh_DataStructureOfDelaun.hxx:131:20: note: candidate: Standard_Integer BRepMesh_DataStructureOfDelaun::IndexOf(const BRepMesh_Edge&) const
   Standard_Integer IndexOf(const BRepMesh_Edge& theLink) const
                    ^~~~~~~
/home/lo/miniconda3/conda-bld/debug_1573719329100/_h_env/include/opencascade/BRepMesh_DataStructureOfDelaun.hxx:131:20: note:   no known conversion for argument 1 from 'const BRepMesh_Triangle' to 'const BRepMesh_Edge&'

User avatar
looo
Posts: 3468
Joined: Mon Nov 11, 2013 5:29 pm

Re: OCC7.4 Released

Postby looo » Thu Nov 14, 2019 8:09 pm

Depending on SMESH like we do is really a night mare. But I think there is no other way, as building smesh directly from salome needs definetly a lot of cmake chnages too. So I guess we will stay with occt7.3 for a while. :cry:
User avatar
looo
Posts: 3468
Joined: Mon Nov 11, 2013 5:29 pm

Re: OCC7.4 Released

Postby looo » Mon Jan 06, 2020 8:59 am

Good news:
@trelau has updated the smesh fork to work with occt7.4! So it's possible to update freecad to occt7.4.

Only one test is failing in gui, mesh-design and fem-meshing work like expected.

Code: Select all

Traceback (most recent call last):
  File "/home/lo/miniconda3/envs/freecad/lib/python3.7/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/home/lo/miniconda3/envs/freecad/lib/python3.7/unittest/case.py", line 628, in run
    testMethod()
  File "/home/lo/miniconda3/envs/freecad/Mod/PartDesign/PartDesignTests/TestHole.py", line 78, in testTaperedHole
    self.assertEqual(len(self.Hole.Shape.Faces), 8)
  File "/home/lo/miniconda3/envs/freecad/lib/python3.7/unittest/case.py", line 852, in assertEqual
    assertion_func(first, second, msg=msg)
  File "/home/lo/miniconda3/envs/freecad/lib/python3.7/unittest/case.py", line 845, in _baseAssertEqual
    raise self.failureException(msg)
AssertionError: 7 != 8

Code: Select all

OS: Ubuntu 18.04.3 LTS (ubuntu:GNOME/ubuntu)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.19160 (Git)
Build type: Release
Branch: master
Hash: 4f56a64ace6e5a72394aa71e44fdbc3c85337989
Python version: 3.7.6
Qt version: 5.12.5
Coin version: 4.0.0a
OCC version: 7.4.0
Locale: German/Germany (de_DE)
vocx
Posts: 5206
Joined: Thu Oct 18, 2018 9:18 pm

Re: OCC7.4 Released

Postby vocx » Sun Jan 12, 2020 4:38 pm

looo wrote:
Mon Jan 06, 2020 8:59 am
Good news:
@trelau has updated the smesh fork to work with occt7.4! So it's possible to update freecad to occt7.4.
...
By reading this thread I had the impression FreeCAD would have problems adopting OCCT 7.4 everywhere.

But right now in the forum I already see many users with OCCT 7.4 installations, for example, [BUG] Line.intersect / intersectCC between colinear line -> Segmentation fault.

So my question is, what you report, affects only conda, or anything else in a particular Linux distribution?
Always add the important information to your posts if you need help. Also see Tutorials and Video tutorials.
To support the documentation effort, and code development, your donation is appreciated: liberapay.com/FreeCAD.
User avatar
looo
Posts: 3468
Joined: Mon Nov 11, 2013 5:29 pm

Re: OCC7.4 Released

Postby looo » Sun Jan 12, 2020 5:22 pm

vocx wrote:
Sun Jan 12, 2020 4:38 pm
So my question is, what you report, affects only conda, or anything else in a particular Linux distribution?
No in theory it should affect every build. For conda it was resently solved and I guess other distributions using external smesh (which was updated recently) are now also able to build against occt7.4.