Comments (15)
Yes, at this point building with EXPERIMENTAL=OFF is not in focus. In theory it should always work but with the big changes going on and no CI verifying that, it' not feasible to maintain. It's likely going to be setup once some of the transitions conclude.
from openscad.
Yes, @cjmayo has, specifically regarding Qt6. If that covers everything, I don't know.
from openscad.
Not likely an OpenSCAD issue. All CI builds are fine and manual build just now (after fresh git clone --recursive
- cc546b3) had no issues either. That is on Debian/Testing though.
The mentioned file is at: ./submodules/manifold/src/manifold/include/manifold.h
from openscad.
cmake is doing
/usr/bin/c++ -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_FILESYSTEM_DYN_LINK -DBOOST_FILESYSTEM_NO_LIB -DBOOST_PROGRAM_OPTIONS_DYN_LINK -DBOOST_PROGRAM_OPTIONS_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DCGAL_DEBUG -DCGAL_USE_CORE=1 -DCGAL_USE_GMPXX -DCGAL_USE_GMPXX=1 -DEIGEN_DONT_ALIGN -DENABLE_CAIRO -DENABLE_CGAL -DENABLE_DBUS -DENABLE_EGL -DENABLE_GLX -DENABLE_HIDAPI -DENABLE_JOYSTICK -DENABLE_LIB3MF -DENABLE_LIBZIP -DENABLE_OPENCSG -DENABLE_SPNAV -DLIB3MF_API_2 -DMI_LINK_SHARED -DOPENSCAD_DAY=19 -DOPENSCAD_MONTH=4 -DOPENSCAD_OS=\"Unix\" -DOPENSCAD_SHORTVERSION=2024.04.19 -DOPENSCAD_VERSION=2024.04.19 -DOPENSCAD_YEAR=2024 -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DSTACKSIZE=8388608 -DUNICODE -DUSE_GLAD -DUSE_MIMALLOC -DUSE_QOPENGLWIDGET -D_REENTRANT -D_UNICODE -D__GCC -I/home/cJ/dev/media/media-gfx/openscad/build -I/home/cJ/dev/media/media-gfx/openscad -I/home/cJ/dev/media/media-gfx/openscad/build/OpenSCAD_autogen/include -I/home/cJ/dev/media/media-gfx/openscad/src -I/home/cJ/dev/media/media-gfx/openscad/src/core -I/home/cJ/dev/media/media-gfx/openscad/src/core/customizer -I/home/cJ/dev/media/media-gfx/openscad/src/ext -I/home/cJ/dev/media/media-gfx/openscad/src/ext/json -I/home/cJ/dev/media/media-gfx/openscad/src/ext/lexertl/include -I/home/cJ/dev/media/media-gfx/openscad/src/ext/libtess2/Include -I/home/cJ/dev/media/media-gfx/openscad/src/geometry -I/home/cJ/dev/media/media-gfx/openscad/src/geometry/cgal -I/home/cJ/dev/media/media-gfx/openscad/src/geometry/manifold -I/home/cJ/dev/media/media-gfx/openscad/src/glview -I/home/cJ/dev/media/media-gfx/openscad/src/glview/preview -I/home/cJ/dev/media/media-gfx/openscad/src/glview/cgal -I/home/cJ/dev/media/media-gfx/openscad/src/gui -I/home/cJ/dev/media/media-gfx/openscad/src/io -I/home/cJ/dev/media/media-gfx/openscad/src/platform -I/home/cJ/dev/media/media-gfx/openscad/src/utils -isystem /usr/include/eigen3 -isystem /usr/include/harfbuzz -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/freetype2 -isystem /usr/include/libxml2 -isystem /usr/include/hidapi -isystem /usr/include/cairo -isystem /usr/include/libpng16 -isystem /usr/include/pixman-1 -isystem /usr/include/lib3mf/Bindings/Cpp -isystem /usr/include/qt5 -isystem /usr/include/qt5/QtCore -isystem /usr/lib64/qt5/mkspecs/linux-g++ -isystem /usr/include/qt5/QtWidgets -isystem /usr/include/qt5/QtGui -isystem /usr/include/qt5/QtMultimedia -isystem /usr/include/qt5/QtNetwork -isystem /usr/include/qt5/QtOpenGL -isystem /usr/include/qt5/QtConcurrent -isystem /usr/include/qt5/QtSvg -isystem /usr/include/qt5/QtDBus -frounding-math -std=c++17 -fPIE -frounding-math -fPIC -MD -MT CMakeFiles/OpenSCAD.dir/src/geometry/GeometryUtils.cc.o -MF CMakeFiles/OpenSCAD.dir/src/geometry/GeometryUtils.cc.o.d -o CMakeFiles/OpenSCAD.dir/src/geometry/GeometryUtils.cc.o -c /home/cJ/dev/media/media-gfx/openscad/src/geometry/GeometryUtils.cc
However manifold.h is in submodules/manifold/src/manifold/include/manifold.h (not in include path)
from openscad.
Other issue:
In file included from /home/cJ/dev/media/media-gfx/openscad/src/geometry/cgal/CGALCache.cc:5:
/home/cJ/dev/media/media-gfx/openscad/src/geometry/manifold/ManifoldGeometry.h: In member function ‘virtual void ManifoldGeometry::accept(GeometryVisitor&) const’:
/home/cJ/dev/media/media-gfx/openscad/src/geometry/manifold/ManifoldGeometry.h:16:71: error: no matching function for call to ‘GeometryVisitor::visit(const ManifoldGeometry&)’
from openscad.
Other issue:
In file included from /home/cJ/dev/media/media-gfx/openscad/src/geometry/cgal/CGALCache.h:5,
from /home/cJ/dev/media/media-gfx/openscad/src/geometry/cgal/CGALCache.cc:1:
/home/cJ/dev/media/media-gfx/openscad/src/geometry/Geometry.h:58:16: note: candidate: ‘virtual void GeometryVisitor::visit(const GeometryList&)’
/home/cJ/dev/media/media-gfx/openscad/src/geometry/Geometry.h:58:42: note: no known conversion for argument 1 from ‘const ManifoldGeometry’ to ‘const GeometryList&’
/home/cJ/dev/media/media-gfx/openscad/src/geometry/Geometry.h:59:16: note: candidate: ‘virtual void GeometryVisitor::visit(const PolySet&)’
/home/cJ/dev/media/media-gfx/openscad/src/geometry/Geometry.h:59:37: note: no known conversion for argument 1 from ‘const ManifoldGeometry’ to ‘const PolySet&’
/home/cJ/dev/media/media-gfx/openscad/src/geometry/Geometry.h:60:16: note: candidate: ‘virtual void GeometryVisitor::visit(const Polygon2d&)’
/home/cJ/dev/media/media-gfx/openscad/src/geometry/Geometry.h:60:39: note: no known conversion for argument 1 from ‘const ManifoldGeometry’ to ‘const Polygon2d&’
/home/cJ/dev/media/media-gfx/openscad/src/geometry/Geometry.h:62:16: note: candidate: ‘virtual void GeometryVisitor::visit(const CGAL_Nef_polyhedron&)’
/home/cJ/dev/media/media-gfx/openscad/src/geometry/Geometry.h:62:49: note: no known conversion for argument 1 from ‘const ManifoldGeometry’ to ‘const CGAL_Nef_polyhedron&’
/home/cJ/dev/media/media-gfx/openscad/src/geometry/Geometry.h:63:16: note: candidate: ‘virtual void GeometryVisitor::visit(const CGALHybridPolyhedron&)’
/home/cJ/dev/media/media-gfx/openscad/src/geometry/Geometry.h:63:50: note: no known conversion for argument 1 from ‘const ManifoldGeometry’ to ‘const CGALHybridPolyhedron&’
from openscad.
Other issue:
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/memory:80,
from /home/cJ/dev/media/media-gfx/openscad/src/core/AST.h:4,
from /home/cJ/dev/media/media-gfx/openscad/src/core/node.h:9,
from /home/cJ/dev/media/media-gfx/openscad/src/core/NodeVisitor.h:4,
from /home/cJ/dev/media/media-gfx/openscad/src/geometry/GeometryEvaluator.h:3,
from /home/cJ/dev/media/media-gfx/openscad/src/geometry/GeometryEvaluator.cc:1:
/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/shared_ptr.h: In instantiation of ‘std::shared_ptr<_Tp> std::dynamic_pointer_cast(const shared_ptr<_Tp>&) [with _Tp = const ManifoldGeometry; _Up = const Geometry]’:
/home/cJ/dev/media/media-gfx/openscad/src/geometry/GeometryEvaluator.cc:74:58: required from here
/usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/shared_ptr.h:721:23: error: cannot ‘dynamic_cast’ ‘(& __r)->std::shared_ptr<const Geometry>::<anonymous>.std::__shared_ptr<const Geometry, __gnu_cxx::_S_atomic>::get()’ (of type ‘using std::__shared_ptr<const Geometry, __gnu_cxx::_S_atomic>::element_type = std::remove_extent<const Geometry>::type*’ {aka ‘const class Geometry*’}) to type ‘using std::shared_ptr<const ManifoldGeometry>::element_type = using std::__shared_ptr<const ManifoldGeometry, __gnu_cxx::_S_atomic>::element_type = std::remove_extent<const ManifoldGeometry>::type*’ {aka ‘const class ManifoldGeometry*’} (target is not pointer or reference to complete type)
721 | if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
from openscad.
@t-paul Yeah I have a different build environment... I'll check if I can find the time to fix the issues.
from openscad.
@t-paul target_link_libraries(OpenSCAD PRIVATE manifold)
however there's no include to it?
from openscad.
My bad, it's
@t-paul
target_link_libraries(OpenSCAD PRIVATE manifold)
however there's no include to it?
Oh, are we supposed to build with EXPERIMENTAL=ON ? manifold isn't included if EXPERIMENTAL is off.
from openscad.
Side note, I've been pointed to gentoo/gentoo#35936 which has de-vendoring CMake patches to OpenSCAD, perhaps you've not seen this and it could be of interest.
from openscad.
See also #4875
from openscad.
Once every few months, I do a non-experimental build locally and fix stuff up, but as t-paul says, it's not really maintained. Also, it kind of makes sense that HEAD is experimental as that's our main dev branch.
Setting up builds with Manifold working would be great, as that will at some point become a requirement.
from openscad.
Thank you! Off-topic but I think you'll find in that gentoo PR above some interesting cmake additions, I'm not sure if the contributors reached out to you already.
from openscad.
Fixed via #5095, CI via #5097.
from openscad.
Related Issues (20)
- Release Policy HOT 2
- Viewport-Control widget can be made too narrow; tab order broken. HOT 6
- simple helper (add one button) to reset time HOT 7
- slicer integration and parameters HOT 11
- OpenScad as library HOT 3
- macOS: Dependencies don't build on Xcode 15.2
- Named groups, or other ways to identify components.
- macOS: Improve deployment target management for universal binaries
- Character "degrees" not rendering HOT 5
- Selection of line thickness for SVG/PDF export HOT 1
- Unable to launch HOT 8
- More pdf formats
- NotManifold error in difference() example, but works in CGAL HOT 15
- Downgrade WARNING: PolySet -> Manifold conversion failed HOT 31
- Crash when rendering examples/Advanced/GEB.scad with Manifold HOT 7
- Automatically test all examples HOT 1
- Windows CI fails to build
- Disable hardware GPU acceleration HOT 6
- ERROR: The given mesh is not closed! HOT 1
- Customizer precision syntax causes default value to be changed HOT 1
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 openscad.