Comments (15)
Hi @trelau - did you have a chance to look at this? Many thanks in advance!
from smesh.
thanks for feedback. i can probably get to this in the next week or so
from smesh.
+1 - the build currently fails on the conda-forge feedstock for occt 7.6: conda-forge/smesh-feedstock#52
from smesh.
This would be great!
Currently, it's blocking the building of FreeCAD too with the VTK 9.1.0, which is build with OCCT 7.6.0.
from smesh.
@Tobias-Fischer not yet, unfortunately. the day job has been keeping me busy lately :)
from smesh.
here is the commit for freecad-internal smesh to work with occt7.6:
FreeCAD/FreeCAD@6f3b00d
from smesh.
I tried to work on this and applying some diff from the posted commit. But now I am stuck with this:
Building CXX object src/SMESH/CMakeFiles/Controls.dir/src/Controls/SMESH_Controls.cxx.o
FAILED: src/SMESH/CMakeFiles/Controls.dir/src/Controls/SMESH_Controls.cxx.o
${PREFIX}/_build_env/bin/x86_64-conda-linux-gnu-c++ -DCSFDB -DControls_EXPORTS -DHAVE_FREEIMAGE -DHAVE_FREETYPE -DHAVE_LIMITS_H -DHAVE_OPENGL_EXT -DHAVE_RAPIDJSON -DHAVE_VTK -DHAVE_XLIB -DLIN -DOCC_CONVERT_SIGNALS -DVTK_OPENGL2_BACKEND -D_OCC64 -Dkiss_fft_scalar=double -I${PREFIX}/_h_env/include/opencascade -I${PREFIX}/work/SMESH/src/SMESH/src/Controls -I${PREFIX}/work/SMESH/src/Kernel/src/Basics -I${PREFIX}/work/SMESH/src/Kernel/src/SALOMELocalTrace -I${PREFIX}/work/SMESH/src/Kernel/src/Utils -I${PREFIX}/work/SMESH/src/Geom/src/GEOMUtils -I${PREFIX}/work/SMESH/src/SMESH/src/SMDS -I${PREFIX}/work/SMESH/src/SMESH/src/SMESHDS -I${PREFIX}/work/SMESH/src/SMESH/src/SMESHUtils -isystem ${PREFIX}/_h_env/include/vtk-9.1 -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 -isystem ${PREFIX}/_h_env/include -fdebug-prefix-map=${PREFIX}/work=/usr/local/src/conda/smesh-9.7.0.1 -fdebug-prefix-map=${PREFIX}/_h_env=/usr/local/src/conda-prefix -O3 -DNDEBUG -fPIC -Wno-deprecated -std=c++11 -MD -MT src/SMESH/CMakeFiles/Controls.dir/src/Controls/SMESH_Controls.cxx.o -MF src/SMESH/CMakeFiles/Controls.dir/src/Controls/SMESH_Controls.cxx.o.d -o src/SMESH/CMakeFiles/Controls.dir/src/Controls/SMESH_Controls.cxx.o -c ${PREFIX}/work/SMESH/src/SMESH/src/Controls/SMESH_Controls.cxx
In file included from ${PREFIX}/_build_env/x86_64-conda-linux-gnu/include/c++/9.4.0/memory:65,
from ${PREFIX}/_h_env/include/boost/smart_ptr/detail/sp_counted_impl.hpp:35,
from ${PREFIX}/_h_env/include/boost/smart_ptr/detail/shared_count.hpp:27,
from ${PREFIX}/_h_env/include/boost/smart_ptr/shared_ptr.hpp:17,
from ${PREFIX}/_h_env/include/boost/shared_ptr.hpp:17,
from ${PREFIX}/work/SMESH/src/SMESH/src/SMESHDS/SMESH_Controls.hxx:32,
from ${PREFIX}/work/SMESH/src/SMESH/src/Controls/SMESH_ControlsDef.hxx:26,
from ${PREFIX}/work/SMESH/src/SMESH/src/Controls/SMESH_Controls.cxx:23:
${PREFIX}/_build_env/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/stl_uninitialized.h: In instantiation of '_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = std::move_iterator<SMESH::Controls::ElementsOnShape::Classifier*>; _ForwardIterator = SMESH::Controls::ElementsOnShape::Classifier*]':
${PREFIX}/_build_env/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/stl_uninitialized.h:307:37: required from '_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, std::allocator<_Tp>&) [with _InputIterator = std::move_iterator<SMESH::Controls::ElementsOnShape::Classifier*>; _ForwardIterator = SMESH::Controls::ElementsOnShape::Classifier*; _Tp = SMESH::Controls::ElementsOnShape::Classifier]'
${PREFIX}/_build_env/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/stl_uninitialized.h:329:2: required from '_ForwardIterator std::__uninitialized_move_if_noexcept_a(_InputIterator, _InputIterator, _ForwardIterator, _Allocator&) [with _InputIterator = SMESH::Controls::ElementsOnShape::Classifier*; _ForwardIterator = SMESH::Controls::ElementsOnShape::Classifier*; _Allocator = std::allocator<SMESH::Controls::ElementsOnShape::Classifier>]'
${PREFIX}/_build_env/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/vector.tcc:659:48: required from 'void std::vector<_Tp, _Alloc>::_M_default_append(std::vector<_Tp, _Alloc>::size_type) [with _Tp = SMESH::Controls::ElementsOnShape::Classifier; _Alloc = std::allocator<SMESH::Controls::ElementsOnShape::Classifier>; std::vector<_Tp, _Alloc>::size_type = long unsigned int]'
${PREFIX}/_build_env/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/stl_vector.h:937:4: required from 'void std::vector<_Tp, _Alloc>::resize(std::vector<_Tp, _Alloc>::size_type) [with _Tp = SMESH::Controls::ElementsOnShape::Classifier; _Alloc = std::allocator<SMESH::Controls::ElementsOnShape::Classifier>; std::vector<_Tp, _Alloc>::size_type = long unsigned int]'
${PREFIX}/work/SMESH/src/SMESH/src/Controls/SMESH_Controls.cxx:4442:51: required from here
${PREFIX}/_build_env/x86_64-conda-linux-gnu/include/c++/9.4.0/bits/stl_uninitialized.h:127:72: error: static assertion failed: result type must be constructible from value type of input range
127 | static_assert(is_constructible<_ValueType2, decltype(*__first)>::value,
| ^~~~~
[140/265] Building CXX object src/SMESH/CMakeFiles/SMDS.dir/src/SMDS/SMDS_Mesh.cxx.o
ninja: build stopped: subcommand failed.
@wwmayer do you run into the same issue when trying to port smesh to occt7.6?
@trelau
from smesh.
But now I am stuck with this:
Fails for me, too. The problem is the struct ElementsOnShape::Classifier in SMESH_Controls.cxx because it has a member variable of the type GeomAPI_ProjectPointOnSurf and that has a member of type Extrema_GenExtPS. For Extrema_GenExtPS the copy-constructor is disabled so that it's not possible to make a copy of GeomAPI_ProjectPointOnSurf and thus no copy of ElementsOnShape::Classifier.
But somewhere in SMESH_Controls.cxx this is requested and thus leads to the compiler error. The trick to solve the issue is a hand-written copy-constructor of ElementsOnShape::Classifier the omits the GeomAPI_ProjectPointOnSurf member.
from smesh.
Thanks, did you make these changes to the freecad internal smesh? If so can you share the commit?
@wwmayer
from smesh.
Thanks, did you make these changes to the freecad internal smesh? If so can you share the commit?
No, because it's too old and doesn't have that file. But I prepared a patch file with all my changes. It was a bit tricky to create the patch because for the build I didn't have to change the files that are under git control but a free copy.
port_occ76.patch.txt
from smesh.
Thanks a lot, I will have a look in the next days.
from smesh.
@trelau what is the best workflow to create the patches?
from smesh.
been out of the loop for a bit now, but if i understand the question, i remember editing files, checking the patch difference in git GUI, then copy/pasting that into a patch file and trying it out locally (i think there is a python file that attempts to apply patch files). there is surely a better way to make patch files that is what i remember doing
from smesh.
I got a chance to work on this project a bit and got updated to:
- Salome 9.8.0
- Netgen 6.2
- OCCT 7.5.3
I have a local branch for OCCT 7.6 but I'm battling one last compiler error on windows. I'll share that branch in the next day or so.
from smesh.
Branch is here https://github.com/trelau/SMESH/tree/occt76
But, failing due to one issue with "SMESH::Controls::ElementsOnShape::Classifier". one example here https://github.com/trelau/SMESH/runs/6290166835?check_suite_focus=true#step:8:737
from smesh.
Related Issues (20)
- vtk9 HOT 1
- python prepare.py fails HOT 2
- Cut 9.6.0 release HOT 2
- Tests not passing on OSX HOT 27
- Required submodules should be included in archive HOT 12
- error: ISO C++17 does not allow dynamic exception specifications HOT 5
- MEFISTO2 trte.f/.c HOT 3
- Support for SMESH 9.7 HOT 1
- SMESH Dependencies HOT 1
- SMESH fails to build with GCC 12 HOT 5
- Support for Salome Platform 9.8 HOT 1
- Missing option to build smesh without VTK HOT 2
- Support for Netgen 6.2
- SMESH fails to export "*.med" HOT 1
- is support mingw officially? HOT 2
- trying to compile latest sources fails with: HOT 1
- SALOME_USE_64BIT_IDS should be stored in a cmake config for other projects
- Diffference from https://github.com/tpaviot/smesh ? HOT 1
- Update to SMESH 9.11? HOT 3
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 smesh.