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: 3298
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"
hobbes1069
Posts: 230
Joined: Wed Nov 09, 2011 3:49 pm

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: 3298
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.
hobbes1069
Posts: 230
Joined: Wed Nov 09, 2011 3:49 pm

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: 3298
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: 3298
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: 3298
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: 4017
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.
To support the documentation effort, and code development, your donation is appreciated: paypal.
User avatar
looo
Posts: 3298
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.
cron