References:
- https://stackoverflow.com/questions/68714618/compile-freecad-on-macos-big-sur-11-5-1-with-homebrew-error-finding-xercesc-fil/68714858#68714858
- https://wiki.freecadweb.org/Compile_on_MacOS/en
- https://github.com/FreeCAD/homebrew-freecad/blob/master/Formula/freecad.rb
- https://github.com/ipatch/homebrew-us-05/tree/dev/freecad#building-freecad-for-macos-by-macos
- https://blog.kitware.com/cmake-building-with-all-your-cores/
# install freecad dependencies via homebrew
brew update
brew tap freecad/freecad
brew install eigen
brew install --only-dependencies freecad --with-packaging-utils
# Freecad source is located in folder FreeCAD/
# setup the build folder and change into newly created folder
mkdir freecad; cd freecad
git clone [email protected]:FreeCAD/FreeCAD.git
mkdir -p freecad-build
cd freecad-build
Create shell var $PREFIX_PATH
with paths to required libraries for cmake CMAKE_PREFIX_PATH
option
# export path to installed dependencies
`export PREFIX_PATH="\
/usr/local/opt/qt@5/lib/cmake;\
/usr/local/opt/nglib/Contents/Resources;\
/usr/local/opt/[email protected]/lib/cmake;\
/usr/local/opt/[email protected]/lib/cmake;\
/usr/local/opt/med-file/share/cmake;\
/usr/local/opt/shiboken2/lib/cmake;\
/usr/local/opt/pyside2/lib/cmake;\
/usr/local/opt/[email protected];\
/usr/local/opt/[email protected]/lib/cmake;\
/usr/local/opt/[email protected]/lib/cmake"
generate cmake files
# initiate build instructions
cmake \
-DCMAKE_INSTALL_LIBDIR=lib \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_FIND_FRAMEWORK=LAST \
-DCMAKE_VERBOSE_MAKEFILE=OFF \
-Wno-dev \
-DBUILD_TESTING=OFF \
-DCMAKE_OSX_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk \
-DBUILD_QT5=ON \
-DUSE_PYTHON3=1 \
-DCMAKE_CXX_STANDARD=17 \
-DBUILD_ENABLE_CXX_STD:STRING=C++17 \
-DBUILD_FEM_NETGEN=1 \
-DBUILD_FEM=1 \
-DBUILD_FEM_NETGEN:BOOL=ON \
-DBUILD_WEB=ON \
-DFREECAD_USE_EXTERNAL_KDL=ON \
-DPYTHON_EXECUTABLE=/usr/local/opt/[email protected]/bin/python3 \
-DPYTHON_INCLUDE_DIR=/usr/local/opt/[email protected]/Frameworks/Python.framework/Headers \
-DCMAKE_PREFIX_PATH="$PREFIX_PATH" \
-DFREECAD_CREATE_MAC_APP=1 \
-DCMAKE_INSTALL_PREFIX="./.." \
../FreeCAD
shell output:
$ cmake -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_BUILD_TYPE="Release" -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=OFF -Wno-dev -DBUILD_TESTING=OFF -DCMAKE_OSX_SYSROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk -DBUILD_QT5=ON -DUSE_PYTHON3=1 -DCMAKE_CXX_STANDARD=17 -DBUILD_ENABLE_CXX_STD:STRING=C++17 -DBUILD_FEM_NETGEN=1 -DBUILD_FEM=1 -DBUILD_FEM_NETGEN:BOOL=ON -DBUILD_WEB=ON -DFREECAD_USE_EXTERNAL_KDL=ON -DPYTHON_EXECUTABLE=/usr/local/opt/[email protected]/bin/python3 -DPYTHON_INCLUDE_DIR=/usr/local/opt/[email protected]/Frameworks/Python.framework/Headers -DCMAKE_PREFIX_PATH="$PREFIX_PATH" -DFREECAD_CREATE_MAC_APP=1 -DCMAKE_INSTALL_PREFIX="./.." ../FreeCAD
-- Compiler: AppleClang, version: 13.0.0.13000029
-- Force BOOST_PP_VARIADICS=1 for clang
-- prefix: /Users/stephen/dev/freecad
-- bindir: bin
-- datadir: share
-- docdir: share/doc/FreeCAD
-- includedir: include
-- libdir: lib
-- cmake: 3.21.4
-- Detected Homebrew install at /usr/local
-- PyCXX found:
-- Headers: /Users/stephen/dev/freecad/FreeCAD/src
-- Sources: /Users/stephen/dev/freecad/FreeCAD/src/CXX
-- Version: 6.2.8
-- -- Found OCE/OpenCASCADE version: 7.5.0
-- -- OCE/OpenCASCADE include directory: /usr/local/opt/[email protected]/include/opencascade
-- -- OCE/OpenCASCADE shared libraries directory: /usr/local/opt/[email protected]/lib
-- VTK components: vtkCommonCore;vtkCommonDataModel;vtkFiltersVerdict;vtkIOXML;vtkFiltersCore;vtkFiltersGeneral;vtkIOLegacy;vtkFiltersExtraction;vtkFiltersSources;vtkFiltersGeometry;vtkhdf5;vtkRenderingCore;vtkInteractionStyle;vtkRenderingFreeType;vtkRenderingOpenGL2
-- Check for medfile (libmed and libmedc) ...
-- We guess that libmed was built using hdf5-serial version
-- Checking for one of the modules 'hdf5-serial'
-- Found Boost: /usr/local/opt/[email protected]/lib/cmake/Boost-1.75.0/BoostConfig.cmake (found suitable version "1.75.0", minimum required is "1.55") found components: filesystem program_options regex system thread date_time
-- Found Netgen: /usr/local/opt/nglib/Contents/Resources/CMake
-- Found NETGEN version 6.2, calculated: 395829
-- Coin3D libraries found
-- Shiboken2Config: Using default python: .cpython-39-darwin
-- SHIBOKEN_PYTHON_INCLUDE_DIRS computed to value: '/usr/local/opt/[email protected]/Frameworks/Python.framework/Headers'
-- SHIBOKEN_PYTHON_LIBRARIES computed to value: '-undefined dynamic_lookup'
-- libshiboken built for Release
-- PYTHON_CONFIG_SUFFIX: .cpython-39-darwin
-- libshiboken built for Release
-- ===============================================
PySide2 Python module found at /usr/local/lib/python3.9/site-packages/PySide2.
===============================================
-- Found Matplotlib: /usr/local/lib/python3.9/site-packages/matplotlib (found version "3.3.3")
-- Platform is 64-bit, set -D_OCC64
-- Performing Test _flag_found
-- Performing Test _flag_found - Success
-- Performing Test _flag_found
-- Performing Test _flag_found - Success
-- Performing Test _flag_found
-- Performing Test _flag_found - Success
-- Performing Test _flag_found
-- Performing Test _flag_found - Success
-- Performing Test _flag_found
-- Performing Test _flag_found - Success
-- setting gcc options: -Wall -Werror -Wno-deprecated -pedantic-errors
-- Found Boost: /usr/local/opt/[email protected]/lib/cmake/Boost-1.75.0/BoostConfig.cmake (found version "1.75.0") found components: python39
-- found Boost: 1_75
-- boost-incude dirs are: /usr/local/Cellar/[email protected]/1.75.0_1/include
-- boost-python lib is:
-- boost_LIBRARY_DIRS is: /usr/local/Cellar/[email protected]/1.75.0_1/lib
-- Boost_LIBRARIES is: Boost::python
-- area module (for Path Workbench) will be installed to: /Users/stephen/dev/freecad/FreeCAD.app/Contents/lib
-- Checking for module 'icu-uc'
-- No package 'icu-uc' found
--
==============
Summary report
==============
-- Build type: Release
-- Compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ (13.0.0.13000029)
-- Flags: -Wall -Wextra -Wpedantic -Wno-write-strings -Wno-undefined-var-template
-- Standard: Requires C++17
-- Python: 3.9.7 [/usr/local/bin/python3.9] [.cpython-39-darwin]
-- PCL: not enabled
-- pybind11: not enabled
-- Boost: 1.75.0 (1.75.0)
-- XercesC: 3.2.3 [/usr/local/lib/libxerces-c.dylib] [/usr/local/include]
-- ZLIB: 1.2.11
-- PyCXX: 6.2.8 [/Users/stephen/dev/freecad/FreeCAD/src]
-- OCC: 7.5.0 [TKFillet;TKMesh;TKernel;TKG2d;TKG3d;TKMath;TKIGES;TKSTL;TKShHealing;TKXSBase;TKBool;TKBO;TKBRep;TKTopAlgo;TKGeomAlgo;TKGeomBase;TKOffset;TKPrim;TKSTEPBase;TKSTEPAttr;TKSTEP209;TKSTEP;TKHLR;TKFeat] [/usr/local/opt/[email protected]/lib] [/usr/local/opt/[email protected]/include/opencascade]
-- SMESH: build internal
-- MEDFile: 4.0.0 [/usr/local/lib/libmedC.dylib;/usr/local/lib/libmed.dylib] [/usr/local/include]
-- HDF5: 1.12.1
-- VTK: 8.2.0
-- NETGEN: 6.2.2101 (6.2.2101) [-DNO_PARALLEL_THREADS;-DOCCGEOMETRY;-DNETGEN_VERSION=395829] [] [/usr/local/opt/nglib/Contents/Resources/include/include;/usr/local/opt/nglib/Contents/Resources/include] [nglib] [/usr/local/opt/nglib/Contents/Resources/include/include;/usr/local/opt/nglib/Contents/Resources/include]
-- SWIG: 4.0.2
-- Eigen3 3.4.0
-- Qt5Core: 5.15.2
-- Qt5Network: 5.15.2
-- Qt5Xml: 5.15.2
-- Qt5XmlPatterns: 5.15.2
-- Qt5Widgets: 5.15.2
-- Qt5PrintSupport: 5.15.2
-- Qt5OpenGL: 5.15.2
-- Qt5Svg: 5.15.2
-- Qt5UiTools: 5.15.2
-- Qt5Concurrent: 5.15.2
-- Qt5WebEngineWidgets: 5.15.2
-- Shiboken2: 5.15.2 [/usr/local/opt/shiboken2/lib/cmake/Shiboken2-5.15.2] [/usr/local/opt/shiboken2/include/shiboken2;/usr/local/opt/[email protected]/Frameworks/Python.framework/Headers]
-- PySide2: 5.15.2 [/usr/local/opt/pyside2/include/PySide2]
-- PySide2Tools: [/usr/local/bin/uic] [/usr/local/bin/rcc]
-- Freetype: 2.11.0
-- OpenGL: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework
-- OpenGLU: [/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework][/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/OpenGL.framework]
-- Coin3D: 4.0.0 [/usr/local/opt/[email protected]/lib/libCoin.dylib] [/usr/local/opt/[email protected]/include]
-- Pivy: 0.6.5
-- SPNAV: [/usr/local/lib/libspnav.dylib] [/usr/local/include]
-- Matplotlib: 3.3.3
-- Rift: not enabled (BUILD_VR)
-- Doxygen: 1.9.2
-- Language: English
-- Coin3D_DOC: not found
=================================================
Now run 'cmake --build /Users/stephen/dev/freecad/freecad-build' to build FreeCAD
=================================================
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/stephen/dev/freecad/freecad-build
building needs icu4c
in LIBRARY_PATH
# set path to icu4c
# see https://forum.freecadweb.org/viewtopic.php?p=507588#p507588
export LIBRARY_PATH="/usr/local/opt/icu4c/lib"
start the build process
#start the build according to the last line of the cmake summary report
cmake --build /Users/stephen/dev/freecad/freecad-build
shell output
$ cmake --build /Users/stephen/dev/freecad/freecad-build
Consolidate compiler generated dependencies of target Driver
[ 0%] Linking CXX shared library ../../../lib/libDriver.dylib
[ 0%] Built target Driver
Consolidate compiler generated dependencies of target SMDS
[ 0%] Linking CXX shared library ../../../lib/libSMDS.dylib
[ 1%] Built target SMDS
Consolidate compiler generated dependencies of target DriverDAT
[ 1%] Linking CXX shared library ../../../lib/libDriverDAT.dylib
[ 1%] Built target DriverDAT
Consolidate compiler generated dependencies of target MEFISTO2
[ 1%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/MEFISTO2.dir/src/MEFISTO2/aptrte.cpp.o
[ 1%] Building C object src/3rdParty/salomesmesh/CMakeFiles/MEFISTO2.dir/src/MEFISTO2/trte.c.o
[ 1%] Linking CXX shared library ../../../lib/libMEFISTO2.dylib
[ 1%] Built target MEFISTO2
Consolidate compiler generated dependencies of target SMESHDS
[ 2%] Linking CXX shared library ../../../lib/libSMESHDS.dylib
[ 2%] Built target SMESHDS
Consolidate compiler generated dependencies of target DriverSTL
[ 2%] Linking CXX shared library ../../../lib/libDriverSTL.dylib
[ 2%] Built target DriverSTL
Consolidate compiler generated dependencies of target DriverUNV
[ 2%] Linking CXX shared library ../../../lib/libDriverUNV.dylib
[ 3%] Built target DriverUNV
Consolidate compiler generated dependencies of target SMESH
[ 3%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/Controls/SMESH_Controls.cpp.o
[ 3%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/DriverGMF.cpp.o
[ 3%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/DriverGMF_Read.cpp.o
[ 3%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/DriverGMF_Write.cpp.o
[ 3%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/DriverMED_Family.cpp.o
[ 3%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/DriverMED_R_SMESHDS_Mesh.cpp.o
[ 3%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/DriverMED_W_Field.cpp.o
[ 3%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/DriverMED_W_SMESHDS_Mesh.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/GEOMUtils.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/MED_Algorithm.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/MED_CoordUtils.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/MED_Factory.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/MED_GaussDef.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/MED_GaussUtils.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/MED_Structures.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/MED_Utilities.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/MED_V2_2_Wrapper.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/MED_Wrapper.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Algo.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Block.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Exception.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Gen.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Group.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_HypoFilter.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Hypothesis.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Mesh.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_MeshAlgos.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_MeshEditor.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_MeshVSLink.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_MesherHelper.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Octree.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_OctreeNode.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_Pattern.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_ProxyMesh.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_TryCatch.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/SMESH_subMesh.cpp.o
[ 4%] Building CXX object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/Utils_ExceptHandlers.cpp.o
[ 4%] Building C object src/3rdParty/salomesmesh/CMakeFiles/SMESH.dir/src/SMESH/libmesh.c.o
[ 4%] Linking CXX shared library ../../../lib/libSMESH.dylib
[ 4%] Built target SMESH
Consolidate compiler generated dependencies of target StdMeshers
[ 4%] Linking CXX shared library ../../../lib/libStdMeshers.dylib
[ 5%] Built target StdMeshers
Consolidate compiler generated dependencies of target NETGENPlugin
[ 5%] Linking CXX shared library ../../../lib/libNETGENPlugin.dylib
[ 5%] Built target NETGENPlugin
[ 6%] Built target lazy_loader
[ 7%] Automatic MOC for target FreeCADBase
[ 7%] Built target FreeCADBase_autogen
Consolidate compiler generated dependencies of target FreeCADBase
[ 7%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/FreeCADBase_autogen/mocs_compilation.cpp.o
[ 7%] Building C object src/Base/CMakeFiles/FreeCADBase.dir/__/CXX/cxxextensions.c.o
[ 7%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/__/CXX/cxx_extensions.cxx.o
[ 7%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/__/CXX/cxxsupport.cxx.o
[ 7%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/__/CXX/IndirectPythonInterface.cxx.o
[ 7%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/Axis.cpp.o
[ 7%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/AxisPyImp.cpp.o
[ 7%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/Base64.cpp.o
[ 7%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/BaseClass.cpp.o
[ 7%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/BaseClassPyImp.cpp.o
[ 7%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/BoundBoxPyImp.cpp.o
[ 7%] Building CXX object src/Base/CMakeFiles/FreeCADBase.dir/Builder3D.cpp.o
In file included from /Users/stephen/dev/freecad/FreeCAD/src/Base/Builder3D.cpp:39:
In file included from /Users/stephen/dev/freecad/FreeCAD/src/Base/Tools.h:37:
In file included from /usr/local/opt/qt@5/lib/QtCore.framework/Headers/QString:1:
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:78:7: error: definition of type 'QStringList' conflicts with type alias of the same name
class QStringList;
^
/usr/local/include/QtCore/qcontainerfwd.h:64:7: note: 'QStringList' declared here
using QStringList = QList<QString>;
^
In file included from /Users/stephen/dev/freecad/FreeCAD/src/Base/Builder3D.cpp:39:
In file included from /Users/stephen/dev/freecad/FreeCAD/src/Base/Tools.h:37:
In file included from /usr/local/opt/qt@5/lib/QtCore.framework/Headers/QString:1:
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:81:29: error: redefinition of 'QVector' as different kind of symbol
template <typename T> class QVector;
^
/usr/local/include/QtCore/qcontainerfwd.h:63:22: note: previous definition is here
template<typename T> using QVector = QList<T>;
^
In file included from /Users/stephen/dev/freecad/FreeCAD/src/Base/Builder3D.cpp:39:
In file included from /Users/stephen/dev/freecad/FreeCAD/src/Base/Tools.h:37:
In file included from /usr/local/opt/qt@5/lib/QtCore.framework/Headers/QString:1:
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:261:13: error: unknown type name 'QStringData'
typedef QStringData Data;
^
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:967:37: error: unknown type name 'QStringDataPtr'
Q_DECL_CONSTEXPR inline QString(QStringDataPtr dd) : d(dd.ptr) {}
^
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:273:72: error: 'QString::Data' (aka 'int') is not a class, namespace, or enumeration
inline QString(QString && other) noexcept : d(other.d) { other.d = Data::sharedNull(); }
^
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:277:39: error: member reference base type 'QString::Data' (aka 'int') is not a structure or union
inline int size() const { return d->size; }
~^ ~~~~
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:278:40: error: member reference base type 'QString::Data' (aka 'int') is not a structure or union
inline int count() const { return d->size; }
~^ ~~~~
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:561:14: error: member reference base type 'QString::Data' (aka 'int') is not a structure or union
if (d->ref.isShared() || uint(d->size) + 2u > d->alloc)
~^ ~~~
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:561:40: error: member reference base type 'QString::Data' (aka 'int') is not a structure or union
if (d->ref.isShared() || uint(d->size) + 2u > d->alloc)
~^ ~~~~
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:561:56: error: member reference base type 'QString::Data' (aka 'int') is not a structure or union
if (d->ref.isShared() || uint(d->size) + 2u > d->alloc)
~^ ~~~~~
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:562:31: error: member reference base type 'QString::Data' (aka 'int') is not a structure or union
reallocData(uint(d->size) + 2u, true);
~^ ~~~~
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:563:10: error: member reference base type 'QString::Data' (aka 'int') is not a structure or union
d->data()[d->size++] = c.unicode();
~^ ~~~~
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:563:20: error: member reference base type 'QString::Data' (aka 'int') is not a structure or union
d->data()[d->size++] = c.unicode();
~^ ~~~~
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:564:10: error: member reference base type 'QString::Data' (aka 'int') is not a structure or union
d->data()[d->size] = '\0';
~^ ~~~~
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:564:20: error: member reference base type 'QString::Data' (aka 'int') is not a structure or union
d->data()[d->size] = '\0';
~^ ~~~~
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:701:9: error: unknown type name 'QStringDataPtr'
QStringDataPtr dataPtr = { fromLatin1_helper(str, (str && size == -1) ? int(strlen(str)) : size) };
^
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:955:37: error: 'QString::Data' (aka 'int') is not a class, namespace, or enumeration
inline QString(const Null &): d(Data::sharedNull()) {}
^
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:958:46: error: 'QString::Data' (aka 'int') is not a class, namespace, or enumeration
inline bool isNull() const { return d == Data::sharedNull(); }
^
/usr/local/opt/qt@5/lib/QtCore.framework/Headers/qstring.h:1070:11: error: member reference base type 'QString::Data' (aka 'int') is not a structure or union
{ return d->size; }
~^ ~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[2]: *** [src/Base/CMakeFiles/FreeCADBase.dir/Builder3D.cpp.o] Error 1
make[1]: *** [src/Base/CMakeFiles/FreeCADBase.dir/all] Error 2
make: *** [all] Error 2