Open ipatch opened 2 months ago
currently running into the below issue because upstream pyside@6 has the force limited api set within the formula.
a workaround for the above issue is to install a versioned formula of pyside that sets the below cmake var,
-DFORCE_LIMITED_API=no
it appears a patch may be required to fix the below error,
[ 57%] Building CXX object src/Mod/Surface/App/CMakeFiles/Surface.dir/Blending/FeatureBlendCurve.cpp.o
[ 57%] Built target Import
[ 57%] Building CXX object src/Mod/Robot/App/CMakeFiles/Robot.dir/TrajectoryObject.cpp.o
/Users/ipatch/code/freecad-git/freecad-src/src/Mod/MeshPart/App/MeshFlatteningPy.cpp:39:10: fatal error: 'pybind11/eigen.h' file not found
#include <pybind11/eigen.h>
^~~~~~~~~~~~~~~~~~
[ 58%] Built target Sketche
using the patch supplied within this repo does bump my build further without encourting this fatal error message.
the current error i'm getting when using my versioned version of pyside@6 and applying several patches to the freecad source, and using the below cmake command to configure my build directory,
cmake \
-DFREECAD_QT_VERSION=6 \
-DCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH=FALSE \
-DCMAKE_FIND_USE_CMAKE_SYSTEM_PATH=FALSE \
-DCMAKE_PREFIX_PATH=\
"$pthymlcpp;$pthxercesc;$pthzlib;$pthocc;$pthqt6;$pthboost;$pthvtk;$pthmed;$ptheigen;$pthswig;$pthcups;$pthhdf5mpi;$pthfreetype;$pthexpat;$pthdoubleconversion;$pthlz4;$pthlzma;$pthlibjpeg;$pthpkgconfig;$pthutf8cpp;$pthdoxygen;$pthpugixml;$pthglew;$pthlibpng;$pthlibtiff;$pthcoin;$pthfmt;$pthpybind;$pthhbfcpyside6;$pthvlknhdrs;" \
-DOPENGL_INCLUDE_DIR=/System/Library/Frameworks/OpenGL.framework \
-DOPENGL_gl_LIBRARY=/System/Library/Frameworks/OpenGL.framework \
-DINSTALL_TO_SITEPACKAGES=0 \
-DOPENGL_GLU_INCLUDE_DIR=/System/Library/Frameworks/OpenGL.framework \
-DOPENGL_glu_LIBRARY=/System/Library/Frameworks/OpenGL.framework \
-DHDF5_DIR=$bp/opt/hdf5-mpi \
-DQT_DEBUG_FIND_PACKAGE=ON \
-DFREECAD_USE_PYBIND11=1 \
-DHOMEBREW_PREFIX=$bp \
-L \
../../freecad-src
error message,
[ 87%] Generating qrc_Assembly.cpp
[ 87%] Generating qrc_Assembly_translation.cpp
In file included from /Users/ipatch/code/freecad-git/freecad-src/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.cpp:27:
/Users/ipatch/code/freecad-git/freecad-src/src/Mod/TechDraw/App/LineGenerator.h:84:45: error: implicit instantiation of undefined template 'std::vector<std::vector<std::string>>'
std::vector< std::vector<std::string> > m_lineDefs;
^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/c++/v1/iosfwd:259:28: note: template is declared here
class _LIBCPP_TEMPLATE_VIS vector;
^
In file included from /Users/ipatch/code/freecad-git/freecad-src/src/Mod/TechDraw/Gui/TaskSelectLineAttributes.cpp:27:
/Users/ipatch/code/freecad-git/freecad-src/src/Mod/TechDraw/App/LineGenerator.h:85:32: error: implicit instantiation of undefined template 'std::vector<std::string>'
std::vector< std::string > m_lineDescs;
^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include/c++/v1/iosfwd:259:28: note: template is declared here
class _LIBCPP_TEMPLATE_VIS vector;
^
^Cmake[2]: *** Deleting file `src/Mod/Assembly/Gui/qrc_Assembly_translation.cpp'
it seems the above error message is related to the macos toolchain (possibly) and workaround / fix is to add the missing include for <vector>
to the LineGenerator.h
file. see the below link for more information.
doing work within this branch of my local fork
https://github.com/ipatch/homebrew-freecad/tree/freecad-0.21.2_qt6
current cmake issue i'm presently running into,
CMake Error at src/3rdParty/CMakeLists.txt:11 (message):
The OndselSolver git submodule is not available. Please run
git submodule update --init
CMake Error at src/3rdParty/CMakeLists.txt:14 (add_subdirectory):
The source directory
/Volumes/STORAGE/ipatch/homebrew/tmp/freecadA0.21.2_py312_qt6-20240722-585-oxws0d/FreeCAD-ec586668d9794afdfe574887f16c215f744ee8c0/src/3rdParty/OndselSolver
does not contain a CMakeLists.txt file.
either need a new formula file for the ondselsolver or i need to figure out how i can add it as a resource to the current formula 🤔
attempted to add the ondselsolver as a resource but unfortunately that currently is not working,
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
CMake Error at src/3rdParty/CMakeLists.txt:11 (message):
The OndselSolver git submodule is not available. Please run
git submodule update --init
CMake Error at src/3rdParty/CMakeLists.txt:14 (add_subdirectory):
The source directory
/Volumes/STORAGE/ipatch/homebrew/tmp/freecadA0.21.2_py312_qt6-20240722-9304-25alia/FreeCAD-ec586668d9794afdfe574887f16c215f744ee8c0/src/3rdParty/OndselSolver
does not contain a CMakeLists.txt file.
-- /Volumes/STORAGE/ipatch/homebrew/tmp/freecadA0.21.2_py312_qt6-20240722-9304-25alia/build/src/Base/TypePy.cpp
setup a tap formula for the ondselsolver see new pr #549
it seems using the below cmake var does not prevent the cmake process from searching for the ondsel solver
FREECAD_USE_EXTERNAL_ONDSELSOLVER:BOOL=OFF
from what i can tell because i'm still getting the above cmake warnings/errors.
/Volumes/STORAGE/ipatch/homebrew/tmp/freecadA0.21.2_py312_qt6-20240725-45539-m01701/FreeCAD-ec586668d9794afdfe574887f16c215f744ee8c0/src/3rdParty/OndselSolver/OndselSolver/FullVector.h:183:57: warning: unused parameter 'tol' [-Wunused-parameter]
inline void FullVector<T>::conditionSelfWithTol(double tol)
^
In file included from /Volumes/STORAGE/ipatch/homebrew/tmp/freecadA0.21.2_py312_qt6-20240725-45539-m01701/FreeCAD-ec586668d9794afdfe574887f16c215f744ee8c0/src/Base/Builder3D.cpp:45:
In file included from /Volumes/STORAGE/ipatch/homebrew/tmp/freecadA0.21.2_py312_qt6-20240725-45539-m01701/FreeCAD-ec586668d9794afdfe574887f16c215f744ee8c0/src/Base/Tools.h:37:
In file included from /Users/ipatch/homebrew/opt/qt/lib/QtCore.framework/Headers/QString:1:
In file included from /Users/ipatch/homebrew/opt/qt/lib/QtCore.framework/Headers/qstring.h:22:
In file included from /Users/ipatch/homebrew/opt/qt/include/QtCore/qanystringview.h:9:
/Users/ipatch/homebrew/opt/qt/include/QtCore/qutf8stringview.h:278:19: error: unknown type name 'Q_IMPLICIT'
[[nodiscard]] Q_IMPLICIT operator std::basic_string_view<storage_type>() const noexcept
^
/Users/ipatch/homebrew/opt/qt/include/QtCore/qutf8stringview.h:303:16: error: no matching function for call to 'compareStrings'
return QtPrivate::compareStrings(QBasicUtf8StringView<false>(lhs.data(), lhs.size()),
^~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ipatch/homebrew/opt/qt@5/include/QtCore/qstringalgorithms.h:62:58: note: candidate function not viable: no known conversion from 'QBasicUtf8StringView<false>' to 'QStringView' for 1st argument
Q_REQUIRED_RESULT Q_CORE_EXPORT Q_DECL_PURE_FUNCTION int compareStrings(QStringView lhs, QStringView rhs, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept;
^
/Users/ipatch/homebrew/opt/qt@5/include/QtCore/qstringalgorithms.h:63:58: note: candidate function not viable: no known conversion from 'QBasicUtf8StringView<false>' to 'QStringView' for 1st argument
Q_REQUIRED_RESULT Q_CORE_EXPORT Q_DECL_PURE_FUNCTION int compareStrings(QStringView lhs, QLatin1String rhs, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept;
^
/Users/ipatch/homebrew/opt/qt@5/include/QtCore/qstringalgorithms.h:64:58: note: candidate function not viable: no known conversion from 'QBasicUtf8StringView<false>' to 'QLatin1String' for 1st argument
Q_REQUIRED_RESULT Q_CORE_EXPORT Q_DECL_PURE_FUNCTION int compareStrings(QLatin1String lhs, QStringView rhs, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept;
^
/Users/ipatch/homebrew/opt/qt@5/include/QtCore/qstringalgorithms.h:65:58: note: candidate function not viable: no known conversion from 'QBasicUtf8StringView<false>' to 'QLatin1String' for 1st argument
Q_REQUIRED_RESULT Q_CORE_EXPORT Q_DECL_PURE_FUNCTION int compareStrings(QLatin1String lhs, QLatin1String rhs, Qt::CaseSensitivity cs = Qt::CaseSensitive) noexcept;
cmake appears to be picking qt@5 installation
successfully built freecad from git main this afternoon using cmake with homebrew provided libaries, the below cmake command allowed me build fc from the below commit,
https://github.com/FreeCAD/FreeCAD/commit/58241e027e7187a1ecaeeb75668ef9a497437c68
cmake \ 1 (0.001s)
-DHOMEBREW_PREFIX=$bp \
-DCMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH=FALSE \
-DCMAKE_FIND_USE_CMAKE_SYSTEM_PATH=FALSE \
-DOPENGL_INCLUDE_DIR=$pthmacfrmwkgl/Headers \
-DOPENGL_gl_LIBRARY=$pthmacfrmwkgl/OpenGL.tbd \
-DOPENGL_GLU_INCLUDE_DIR=$pthmacfrmwkgl/Headers \
-DOPENGL_glu_LIBRARY=$pthmacfrmwkgl/Libraries/libGLU.tbd \
-DFREECAD_USE_PYBIND11=1 \
-DCMAKE_AR=/usr/bin/ar \
-DCMAKE_PREFIX_PATH="$pthqt6;$pthdoxygen;$pthymlcpp;$pthxercesc;$pthzlib;$pthocc;$pthboost;$pthvtk;$pthhdf5mpi;\
$pthmed;$ptheigen;$pthcups;$pthcoin3dpy312;$pthpybind;$pthfmt;$pthswig;$pthfreetype;$pthglew;$pthpugixml;$pthpyside6;\
$pthninja;$pthmpi;" \
-G Ninja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_INSTALL_PREFIX=$HOME/.local/fc-git \
-L \
../../fcsrc
that above cmake does require setting up env vars for the path to the libaries and setting a env var of bp
to the output of $(brew --prefix)
also i still have to apply the xerces-c patch, and the pybind11 patch contained within this repo or build errors will occur.
also i set the compilers to use the open-mpi compiler wrappers ie. as the hdf5 wrapper utility is broken due to upstream homebrew-core switching the build of hdf5 from gnu autotools / autoconfigure to cmake 🤦♂️, so a work around is to use the hdf5-mpi library provided by upstream homebrew-core thus allowing cmake properly find and setup hdf5
export CC=$bp/opt/open-mpi/bin/mpicc
export CXX=$bp/opt/open-mpi/bin/mpic++
all that said, freecad does launch, but
can not create a body because i'm getting the below error,
File "<string>", line 1, in <module>
<class 'RuntimeError'>: {'sclassname': 'N4Base12RuntimeErrorE', 'sErrMsg': 'GeoFeatureGroupExtension can only be applied to GeoFeatures', 'sfile': '', 'iline': 0, 'sfunction': '', 'swhat': 'GeoFeatureGroupExtension can only be applied to GeoFeatures', 'btranslatable': False, 'breported': False}
"
PySide
which opening a python repl ie.$bp/opt/python@3.12/bin/python3
and running,
import PySide
will produce the below error,
Python 3.12.4 (main, Jun 6 2024, 18:26:44) [Clang 15.0.0 (clang-1500.1.0.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import PySide
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'PySide'
i can import the python module with the name PySide6
so further investigation is required to figure out how to get PySide working when building and linking against qt6
https://github.com/FreeCAD/FreeCAD/issues/13303 https://github.com/FreeCAD/FreeCAD/issues/6992 https://github.com/FreeCAD/FreeCAD/pull/13611#issuecomment-2085709968
For the record, FREECAD_USE_EXTERNAL_ONDSELSOLVER is considered an advanced option designed for developers who are working on OndselSolver itself. In most cases self-compilers should be using git submodule update --init
to get OndselSolver as part of the main FreeCAD source tree.
my bad i see it there 🤦♂️
running cmake -L
in my build directory isn't even listing the FREECAD_USE_EXTERNAL_ONDSELSOLVER
option being available.
-- Generating done (1.7s)
-- Build files have been written to: /Users/chris/code/freecad-git/builds/git002
-- Cache values
3DCONNEXIONCLIENT_FRAMEWORK:FILEPATH=3DCONNEXIONCLIENT_FRAMEWORK-NOTFOUND
BUILD_ADDONMGR:BOOL=ON
BUILD_ASSEMBLY:BOOL=ON
BUILD_BIM:BOOL=ON
BUILD_CLOUD:BOOL=OFF
BUILD_DESIGNER_PLUGIN:BOOL=OFF
BUILD_DRAFT:BOOL=ON
BUILD_DRAWING:BOOL=OFF
BUILD_DYNAMIC_LINK_PYTHON:BOOL=ON
BUILD_ENABLE_CXX_STD:STRING=C++17
BUILD_FEM:BOOL=ON
BUILD_FEM_NETGEN:BOOL=OFF
BUILD_FLAT_MESH:BOOL=ON
BUILD_FORCE_DIRECTORY:BOOL=OFF
BUILD_GMOCK:BOOL=ON
BUILD_GUI:BOOL=ON
BUILD_HELP:BOOL=ON
BUILD_IDF:BOOL=ON
BUILD_IMPORT:BOOL=ON
BUILD_INSPECTION:BOOL=ON
BUILD_JTREADER:BOOL=OFF
BUILD_MATERIAL:BOOL=ON
BUILD_MEASURE:BOOL=ON
BUILD_MESH:BOOL=ON
BUILD_MESH_PART:BOOL=ON
BUILD_OPENSCAD:BOOL=ON
BUILD_PART:BOOL=ON
BUILD_PART_DESIGN:BOOL=ON
BUILD_PATH:BOOL=ON
BUILD_PLOT:BOOL=ON
BUILD_POINTS:BOOL=ON
BUILD_REVERSEENGINEERING:BOOL=ON
BUILD_ROBOT:BOOL=ON
BUILD_SANDBOX:BOOL=OFF
BUILD_SHOW:BOOL=ON
BUILD_SKETCHER:BOOL=ON
BUILD_SPREADSHEET:BOOL=ON
BUILD_START:BOOL=ON
BUILD_SURFACE:BOOL=ON
BUILD_TECHDRAW:BOOL=ON
BUILD_TEMPLATE:BOOL=OFF
BUILD_TEST:BOOL=ON
BUILD_TESTING:BOOL=ON
BUILD_TUX:BOOL=ON
BUILD_VR:BOOL=OFF
BUILD_WEB:BOOL=ON
BUILD_WITH_CONDA:BOOL=OFF
Boost_DATE_TIME_LIBRARY_RELEASE:STRING=/Users/chris/homebrew/Cellar/boost/1.85.0/lib/libboost_date_time-mt.dylib
Boost_FILESYSTEM_LIBRARY_RELEASE:STRING=/Users/chris/homebrew/Cellar/boost/1.85.0/lib/libboost_filesystem-mt.dylib
Boost_INCLUDE_DIR:PATH=/Users/chris/homebrew/Cellar/boost/1.85.0/include
Boost_PROGRAM_OPTIONS_LIBRARY_RELEASE:STRING=/Users/chris/homebrew/Cellar/boost/1.85.0/lib/libboost_program_options-mt.dylib
Boost_REGEX_LIBRARY_RELEASE:STRING=/Users/chris/homebrew/Cellar/boost/1.85.0/lib/libboost_regex-mt.dylib
Boost_SYSTEM_LIBRARY_RELEASE:STRING=/Users/chris/homebrew/Cellar/boost/1.85.0/lib/libboost_system-mt.dylib
Boost_THREAD_LIBRARY_RELEASE:STRING=/Users/chris/homebrew/Cellar/boost/1.85.0/lib/libboost_thread-mt.dylib
CCACHE_PROGRAM:FILEPATH=CCACHE_PROGRAM-NOTFOUND
CMAKE_BUILD_TYPE:STRING=RelWithDebInfo
CMAKE_INSTALL_PREFIX:PATH=/Users/chris/.local/fc-git
CMAKE_OSX_ARCHITECTURES:STRING=
CMAKE_OSX_DEPLOYMENT_TARGET:STRING=
CMAKE_OSX_SYSROOT:PATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.2.sdk
COIN3D_DOC_FOUND:BOOL=NO
E57_BUILD_SHARED:BOOL=OFF
E57_CLANG_FORMAT_EXE:FILEPATH=E57_CLANG_FORMAT_EXE-NOTFOUND
E57_DEBUG:BOOL=ON
E57_MAX_DEBUG:BOOL=OFF
E57_MAX_VERBOSE:BOOL=OFF
E57_VERBOSE:BOOL=OFF
E57_WRITE_CRAZY_PACKET_MODE:BOOL=OFF
ENABLE_DEVELOPER_TESTS:BOOL=ON
FREECAD_BUILD_DEBIAN:BOOL=OFF
FREECAD_CREATE_MAC_APP:BOOL=OFF
FREECAD_QT_VERSION:STRING=Auto
FREECAD_USE_3DCONNEXION:BOOL=OFF
FREECAD_USE_CCACHE:BOOL=ON
FREECAD_USE_EXTERNAL_FMT:BOOL=ON
FREECAD_USE_EXTERNAL_KDL:BOOL=OFF
FREECAD_USE_EXTERNAL_ONDSELSOLVER:BOOL=OFF
FREECAD_USE_EXTERNAL_SMESH:BOOL=OFF
FREECAD_USE_EXTERNAL_ZIPIOS:BOOL=OFF
FREECAD_USE_FREETYPE:BOOL=ON
FREECAD_USE_OCC_VARIANT:STRING=Community Edition
FREECAD_USE_PCL:BOOL=OFF
FREECAD_USE_PYBIND11:BOOL=1
FREECAD_USE_PYSIDE:BOOL=ON
FREECAD_USE_QT_FILEDIALOG:BOOL=OFF
FREECAD_USE_SHIBOKEN:BOOL=ON
FREECAD_WARN_ERROR:BOOL=OFF
GTEST_HAS_ABSL:BOOL=OFF
HDF5_C_LIBRARY_dl:FILEPATH=HDF5_C_LIBRARY_dl-NOTFOUND
HDF5_C_LIBRARY_hdf5:FILEPATH=/Users/chris/homebrew/opt/hdf5-mpi/lib/libhdf5.dylib
HDF5_C_LIBRARY_hdf5_hl:FILEPATH=/Users/chris/homebrew/opt/hdf5-mpi/lib/libhdf5_hl.dylib
HDF5_C_LIBRARY_m:FILEPATH=HDF5_C_LIBRARY_m-NOTFOUND
HDF5_C_LIBRARY_sz:FILEPATH=/Users/chris/homebrew/opt/libaec/lib/libsz.dylib
HDF5_C_LIBRARY_z:FILEPATH=/Users/chris/homebrew/opt/zlib/lib/libz.dylib
INSTALL_GTEST:BOOL=ON
INSTALL_TO_SITEPACKAGES:BOOL=ON
LZMA_INCLUDE_DIR:PATH=LZMA_INCLUDE_DIR-NOTFOUND
LZMA_LIBRARY:FILEPATH=LZMA_LIBRARY-NOTFOUND
MACDEPLOYQT_EXECUTABLE:FILEPATH=/Users/chris/homebrew/opt/qt6/bin/macdeployqt
MEDFILE_C_LIBRARIES:FILEPATH=/Users/chris/homebrew/opt/med-file@4.1.1/lib/libmedC.dylib
MEDFILE_F_LIBRARIES:FILEPATH=/Users/chris/homebrew/opt/med-file@4.1.1/lib/libmed.dylib
MEDFILE_INCLUDE_DIRS:PATH=/Users/chris/homebrew/opt/med-file@4.1.1/include
MEDFILE_ROOT_DIR:PATH=
OCCT_CMAKE_FALLBACK:BOOL=OFF
OCE_DIR:PATH=OCE_DIR-NOTFOUND
OpenCASCADE_DIR:PATH=/Users/chris/homebrew/opt/opencascade/lib/cmake/opencascade
PYCXX_INCLUDE_DIR:PATH=/Users/chris/code/freecad-git/fcsrc/src
PYCXX_SOURCE_DIR:PATH=/Users/chris/code/freecad-git/fcsrc/src/CXX
PySide6_DIR:PATH=/Users/chris/homebrew/opt/pyside6_py312/lib/cmake/PySide6
QT_ADDITIONAL_HOST_PACKAGES_PREFIX_PATH:STRING=
QT_ADDITIONAL_PACKAGES_PREFIX_PATH:STRING=
Qt5_DIR:PATH=Qt5_DIR-NOTFOUND
Qt6Concurrent_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6Concurrent
Qt6CoreTools_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6CoreTools
Qt6Core_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6Core
Qt6DBusTools_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6DBusTools
Qt6DBus_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6DBus
Qt6GuiTools_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6GuiTools
Qt6Gui_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6Gui
Qt6LinguistTools_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6LinguistTools
Qt6Network_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6Network
Qt6OpenGLWidgets_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6OpenGLWidgets
Qt6OpenGL_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6OpenGL
Qt6PrintSupport_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6PrintSupport
Qt6SvgWidgets_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6SvgWidgets
Qt6Svg_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6Svg
Qt6Test_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6Test
Qt6UiPlugin_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6UiPlugin
Qt6UiTools_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6UiTools
Qt6WidgetsTools_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6WidgetsTools
Qt6Widgets_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6Widgets
Qt6Xml_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6Xml
Qt6_DIR:PATH=/Users/chris/homebrew/opt/qt6/lib/cmake/Qt6
SHIBOKEN_FOUND:BOOL=ON
SHIBOKEN_INCLUDE_DIR:PATH=
Shiboken6_DIR:PATH=/Users/chris/homebrew/opt/pyside6_py312/lib/cmake/Shiboken6
Tiff_DIR:PATH=Tiff_DIR-NOTFOUND
VTK_DIR:PATH=/Users/chris/homebrew/opt/vtk/lib/cmake/vtk-9.3
WrapOpenGL_AGL:FILEPATH=WrapOpenGL_AGL-NOTFOUND
fmt_DIR:PATH=/Users/chris/homebrew/opt/fmt/lib/cmake/fmt
meddotH:FILEPATH=/Users/chris/homebrew/opt/med-file@4.1.1/include/med.h
pugixml_DIR:PATH=/Users/chris/homebrew/opt/pugixml/lib/cmake/pugixml
yaml-cpp_DIR:PATH=/Users/chris/homebrew/opt/yaml-cpp/lib/cmake/yaml-cpp
i think the issue related to PySide can be seen in the below freecadcmd
repl session, i think a possilbe patch file will be required to properly set things up.
╰─λ freecadcmd 0 (0.021s)
FreeCAD 0.21.2, Libs: 0.21.2RUnknown
(c) Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2023
FreeCAD is free and open-source software licensed under the terms of LGPL2+ license.
FreeCAD wouldn't be possible without FreeCAD community.
##### #### ### ####
# # # # # #
# ## #### #### # # # # #
#### # # # # # # # ##### # #
# # #### #### # # # # #
# # # # # # # # # ## ## ##
# # #### #### ### # # #### ## ## ##
[FreeCAD Console mode <Use Ctrl-D (i.e. EOF) to exit.>]
>>> sys.path
['/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Material', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Import', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Part', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Tux', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/PartDesign', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Measure', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Points', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/AddonManager', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Arch', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Idf', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Inspection', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Robot', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Surface', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/OpenSCAD', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Start', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Sketcher', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Show', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/MeshPart', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Path', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/TechDraw', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Web', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Spreadsheet', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Fem', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Test', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Plot', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/ReverseEngineering', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Draft', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Mesh', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/lib', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Ext', '', '/Users/chris/homebrew/Cellar/python@3.10/3.10.14_1/Frameworks/Python.framework/Versions/3.10/lib/python310.zip', '/Users/chris/homebrew/Cellar/python@3.10/3.10.14_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10', '/Users/chris/homebrew/Cellar/python@3.10/3.10.14_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload', '/Users/chris/homebrew/Cellar/python@3.10/3.10.14_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages', '/Users/chris/homebrew/Cellar/pyside2@5.15.11_py310/5.15.11/lib/python3.10/site-packages', '/Users/chris/homebrew/Cellar/coin3d_py310/4.0.2/lib/python3.10/site-packages', '/Users/chris/homebrew/Cellar/numpy@1.26.4_py310/1.26.4/lib/python3.10/site-packages', '/Users/chris/homebrew/Cellar/fc_bundle/0.21.1/libexec/vendor/lib/python3.10/site-packages', '/Users/chris/Library/Application Support/FreeCAD/Macro/', '/Users/chris/Library/Application Support/FreeCAD/Macro', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Macro', '/Users/chris/Library/Application Support/FreeCAD/Mod']
>>> import sys
>>> sys.path.apped(' ^C
KeyboardInterrupt
>>> import readline
>>> import rlcompleter
>>> readline.parse_and_bind("tab: complete")
>>> sys.path.append('/Users/chris/homebrew/freecad@0.21.2_py310/MacOS/PySide')
>>> import Draft
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Draft/Draft.py", line 53, in <module>
from draftutils.utils import ARROW_TYPES as arrowtypes
File "/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Draft/draftutils/utils.py", line 39, in <module>
import PySide.QtCore as QtCore
ModuleNotFoundError: No module named 'PySide'
>>> import PySide
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'PySide'
>>> sys.path
['/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Material', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Import', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Part', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Tux', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/PartDesign', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Measure', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Points', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/AddonManager', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Arch', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Idf', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Inspection', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Robot', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Surface', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/OpenSCAD', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Start', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Sketcher', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Show', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/MeshPart', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Path', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/TechDraw', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Web', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Spreadsheet', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Fem', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Test', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Plot', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/ReverseEngineering', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Draft', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Mesh', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/lib', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Ext', '', '/Users/chris/homebrew/Cellar/python@3.10/3.10.14_1/Frameworks/Python.framework/Versions/3.10/lib/python310.zip', '/Users/chris/homebrew/Cellar/python@3.10/3.10.14_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10', '/Users/chris/homebrew/Cellar/python@3.10/3.10.14_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/lib-dynload', '/Users/chris/homebrew/Cellar/python@3.10/3.10.14_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages', '/Users/chris/homebrew/Cellar/pyside2@5.15.11_py310/5.15.11/lib/python3.10/site-packages', '/Users/chris/homebrew/Cellar/coin3d_py310/4.0.2/lib/python3.10/site-packages', '/Users/chris/homebrew/Cellar/numpy@1.26.4_py310/1.26.4/lib/python3.10/site-packages', '/Users/chris/homebrew/Cellar/fc_bundle/0.21.1/libexec/vendor/lib/python3.10/site-packages', '/Users/chris/Library/Application Support/FreeCAD/Macro/', '/Users/chris/Library/Application Support/FreeCAD/Macro', '/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Macro', '/Users/chris/Library/Application Support/FreeCAD/Mod', '/Users/chris/homebrew/freecad@0.21.2_py310/MacOS/PySide']
>>> sys.path.append('/Users/chris/homebrew/opt/freecad@0.21.2_py310/MacOS/PySide')
>>> import Draft
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Draft/Draft.py", line 53, in <module>
from draftutils.utils import ARROW_TYPES as arrowtypes
File "/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/Mod/Draft/draftutils/utils.py", line 39, in <module>
import PySide.QtCore as QtCore
ModuleNotFoundError: No module named 'PySide'
>>> import Draft
KeyboardInterrupt
>>> sys.path.append('/Users/chris/homebrew/Cellar/freecad@0.21.2_py310/0.21.2/MacOS')
>>> import PySide
>>> import Draft
>>>
building freecad from git source with cmake, and attempting to import Draft module i get the below error with my py312 + qt6 build.
╰─λ ~/.local/fc-git/MacOS/FreeCADCmd 130 (01:19.594)
FreeCAD 0.22.0, Libs: 0.22.0devR38385 (Git)
(c) Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2024
FreeCAD is free and open-source software licensed under the terms of LGPL2+ license.
FreeCAD wouldn't be possible without FreeCAD community.
##### #### ### ####
# # # # # #
# ## #### #### # # # # #
#### # # # # # # # ##### # #
# # #### #### # # # # #
# # # # # # # # # ## ## ##
# # #### #### ### # # #### ## ## ##
[FreeCAD Console mode <Use Ctrl-D (i.e. EOF) to exit.>]
>>> sys.path
['/Users/chris/.local/fc-git/Mod/Help', '/Users/chris/.local/fc-git/Mod/Material', '/Users/chris/.local/fc-git/Mod/Import', '/Users/chris/.local/fc-git/Mod/Part', '/Users/chris/.local/fc-git/Mod/Tux', '/Users/chris/.local/fc-git/Mod/PartDesign', '/Users/chris/.local/fc-git/Mod/BIM', '/Users/chris/.local/fc-git/Mod/Measure', '/Users/chris/.local/fc-git/Mod/Points', '/Users/chris/.local/fc-git/Mod/AddonManager', '/Users/chris/.local/fc-git/Mod/CAM', '/Users/chris/.local/fc-git/Mod/Idf', '/Users/chris/.local/fc-git/Mod/Inspection', '/Users/chris/.local/fc-git/Mod/Robot', '/Users/chris/.local/fc-git/Mod/Surface', '/Users/chris/.local/fc-git/Mod/OpenSCAD', '/Users/chris/.local/fc-git/Mod/Start', '/Users/chris/.local/fc-git/Mod/Sketcher', '/Users/chris/.local/fc-git/Mod/Show', '/Users/chris/.local/fc-git/Mod/MeshPart', '/Users/chris/.local/fc-git/Mod/Assembly', '/Users/chris/.local/fc-git/Mod/TechDraw', '/Users/chris/.local/fc-git/Mod/Web', '/Users/chris/.local/fc-git/Mod/Spreadsheet', '/Users/chris/.local/fc-git/Mod/Fem', '/Users/chris/.local/fc-git/Mod/Test', '/Users/chris/.local/fc-git/Mod/Plot', '/Users/chris/.local/fc-git/Mod/ReverseEngineering', '/Users/chris/.local/fc-git/Mod/Draft', '/Users/chris/.local/fc-git/Mod/Mesh', '/Users/chris/.local/fc-git/Mod', '/Users/chris/.local/fc-git/lib', '/Users/chris/.local/fc-git/Ext', '/Users/chris/homebrew/Cellar/python@3.12/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python312.zip', '/Users/chris/homebrew/Cellar/python@3.12/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12', '/Users/chris/homebrew/Cellar/python@3.12/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload', '/Users/chris/homebrew/Cellar/python@3.12/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages', '/Users/chris/homebrew/Cellar/coin3d_py312/4.0.2/lib/python3.12/site-packages', '/Users/chris/homebrew/Cellar/openvino/2024.2.0_1/libexec/lib/python3.12/site-packages', '/Users/chris/homebrew/Cellar/pybind11/2.13.1/libexec/lib/python3.12/site-packages', '/Users/chris/Library/Application Support/FreeCAD/Macro/', '/Users/chris/Library/Application Support/FreeCAD/Macro', '/Users/chris/.local/fc-git/Macro', '/Users/chris/Library/Application Support/FreeCAD/Mod']
>>> import PySide
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'PySide'
>>> sys.path.append('/Users/chris/.local/fc-git/MacOS')
>>> import PySide
>>> import Draft
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/chris/.local/fc-git/Mod/Draft/Draft.py", line 53, in <module>
from draftutils.utils import ARROW_TYPES as arrowtypes
File "/Users/chris/.local/fc-git/Mod/Draft/draftutils/utils.py", line 42, in <module>
from draftutils import params
File "/Users/chris/.local/fc-git/Mod/Draft/draftutils/params.py", line 584, in <module>
PARAM_DICT = _get_param_dictionary()
^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/chris/.local/fc-git/Mod/Draft/draftutils/params.py", line 526, in _get_param_dictionary
if fd.open(QtCore.QIODevice.ReadOnly | QtCore.QFile.Text):
~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~
TypeError: unsupported operand type(s) for |: 'OpenModeFlag' and 'OpenModeFlag'
>>>
➜ site-packages git:(master) ~/.local/fc-git/MacOS/FreeCADCmd
FreeCAD 0.22.0, Libs: 0.22.0devR38385 (Git)
(c) Juergen Riegel, Werner Mayer, Yorik van Havre and others 2001-2024
FreeCAD is free and open-source software licensed under the terms of LGPL2+ license.
FreeCAD wouldn't be possible without FreeCAD community.
##### #### ### ####
# # # # # #
# ## #### #### # # # # #
#### # # # # # # # ##### # #
# # #### #### # # # # #
# # # # # # # # # ## ## ##
# # #### #### ### # # #### ## ## ##
[FreeCAD Console mode <Use Ctrl-D (i.e. EOF) to exit.>]
>>> sys.path
['/Users/chris/.local/fc-git/Mod/Help', '/Users/chris/.local/fc-git/Mod/Material', '/Users/chris/.local/fc-git/Mod/Import', '/Users/chris/.local/fc-git/Mod/Part', '/Users/chris/.local/fc-git/Mod/Tux', '/Users/chris/.local/fc-git/Mod/PartDesign', '/Users/chris/.local/fc-git/Mod/BIM', '/Users/chris/.local/fc-git/Mod/Measure', '/Users/chris/.local/fc-git/Mod/Points', '/Users/chris/.local/fc-git/Mod/AddonManager', '/Users/chris/.local/fc-git/Mod/CAM', '/Users/chris/.local/fc-git/Mod/Idf', '/Users/chris/.local/fc-git/Mod/Inspection', '/Users/chris/.local/fc-git/Mod/Robot', '/Users/chris/.local/fc-git/Mod/Surface', '/Users/chris/.local/fc-git/Mod/OpenSCAD', '/Users/chris/.local/fc-git/Mod/Start', '/Users/chris/.local/fc-git/Mod/Sketcher', '/Users/chris/.local/fc-git/Mod/Show', '/Users/chris/.local/fc-git/Mod/MeshPart', '/Users/chris/.local/fc-git/Mod/Assembly', '/Users/chris/.local/fc-git/Mod/TechDraw', '/Users/chris/.local/fc-git/Mod/Web', '/Users/chris/.local/fc-git/Mod/Spreadsheet', '/Users/chris/.local/fc-git/Mod/Fem', '/Users/chris/.local/fc-git/Mod/Test', '/Users/chris/.local/fc-git/Mod/Plot', '/Users/chris/.local/fc-git/Mod/ReverseEngineering', '/Users/chris/.local/fc-git/Mod/Draft', '/Users/chris/.local/fc-git/Mod/Mesh', '/Users/chris/.local/fc-git/Mod', '/Users/chris/.local/fc-git/lib', '/Users/chris/.local/fc-git/Ext', '/Users/chris/homebrew/Cellar/python@3.12/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python312.zip', '/Users/chris/homebrew/Cellar/python@3.12/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12', '/Users/chris/homebrew/Cellar/python@3.12/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/lib-dynload', '/Users/chris/homebrew/Cellar/python@3.12/3.12.4/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages', '/Users/chris/homebrew/Cellar/coin3d_py312/4.0.2/lib/python3.12/site-packages', '/Users/chris/homebrew/Cellar/openvino/2024.2.0_1/libexec/lib/python3.12/site-packages', '/Users/chris/homebrew/Cellar/pybind11/2.13.1/libexec/lib/python3.12/site-packages', '/Users/chris/Library/Application Support/FreeCAD/Macro/', '/Users/chris/Library/Application Support/FreeCAD/Macro', '/Users/chris/.local/fc-git/Macro', '/Users/chris/Library/Application Support/FreeCAD/Mod']
>>> import Tux
>>> import BIM
>>> import AddonManager
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/chris/.local/fc-git/Mod/AddonManager/AddonManager.py", line 35, in <module>
from PySide import QtGui, QtCore, QtWidgets
ModuleNotFoundError: No module named 'PySide'
>>> sys.path.append('/Users/chris/.local/fc-git/MacOS')
>>> import AddonManager
>>>
need to setup a new formula that builds and links against qt@6 upstream homebrew-core formula.