MSYS2 build error help: "missing" file

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
Forum rules
Be nice to others! Respect the FreeCAD code of conduct!
wmayer
Founder
Posts: 20202
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: MSYS2 build error help: "missing" file

Post by wmayer »

chennes wrote: Sat Sep 18, 2021 6:49 pm Did you resolve the bad cast in src/Base/TimeInfo.cpp +69?

Code: Select all


void TimeInfo::setCurrent(void)
{
#if defined (FC_OS_BSD) || defined(FC_OS_LINUX)
    struct timeval t;
    gettimeofday(&t, NULL);
    timebuffer.time = t.tv_sec;
    timebuffer.millitm = t.tv_usec / 1000;
#elif defined(__MINGW32__)
    ftime(&timebuffer); // deprecated
#elif defined(FC_OS_WIN32)
    _ftime(&timebuffer);
#else
    ftime(&timebuffer); // deprecated
#endif
}
But it seems that there exists a special version of gettimeofday for MinGW but I haven't looked at this yet.

So far I succeeded to build almost all App modules but it failed for FreeCADGui since it raised a weird linker error with the static QtUiTools lib.
To build the Part module I had to cheat a bit with the class GeometryDefaultExtension. To make the compiler accept it I had to comment out the line

Code: Select all

TYPESYSTEM_HEADER_WITH_OVERRIDE();
and all the lines

Code: Select all

TYPESYSTEM_SOURCE_TEMPLATE_T
of the source file.

Note: I have used clang instead of gcc because the latter raised hundreds of linker errors for FreeCADApp. If you want to use clang too you must set these two variables before running cmake:

Code: Select all

export CC=clang
export CXX=clang++
User avatar
chennes
Veteran
Posts: 3868
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: MSYS2 build error help: "missing" file

Post by chennes »

Odd, my build is hanging after "Linking CXX shared library Mod\Path\area.pyd" -- did you experience that?
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3868
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: MSYS2 build error help: "missing" file

Post by chennes »

Switching to clang seems to have fixed the hang. Now I'm stuck where you are (I think), with the weird

Code: Select all

[3/832] Linking CXX shared library bin\libFreeCADGui.dll
FAILED: bin/libFreeCADGui.dll src/Gui/libFreeCADGui.dll.a
cmd.exe /C "cd . && E:\msys64\mingw64\bin\clang++.exe -Wall -Wextra -Wpedantic -Wno-write-strings  -mthreads -Wno-attributes  -mthreads -Wl,--export-all-symbols -shared -o bin\libFreeCADGui.dll -Wl,--out-implib,src\Gui\libFreeCADGui.dll.a -Wl,--major-image-version,0,--minor-image-version,0 @CMakeFiles\FreeCADGui.rsp  && cd ."
E:/msys64/mingw64/lib/libQt5UiTools.a(quiloader.o): duplicate section `.rdata$_ZTS7QObject[_ZTS7QObject]' has different size
E:/msys64/mingw64/lib/libQt5UiTools.a(moc_quiloader.o): duplicate section `.rdata$_ZTS7QObject[_ZTS7QObject]' has different size
E:/msys64/mingw64/lib/libQt5UiTools.a(moc_quiloader.o): duplicate section `.rdata$_ZTS9QUiLoader[_ZTS9QUiLoader]' has different size
E:/msys64/mingw64/lib/libQt5UiTools.a(moc_quiloader.o): duplicate section `.rdata$_ZTI9QUiLoader[_ZTI9QUiLoader]' has different size
E:/msys64/mingw64/bin/ld: E:/msys64/mingw64/lib/libQt5UiTools.a(abstractformbuilder.o):abstractformbuilder.cpp:(.data$_ZZN18QMetaTypeIdQObjectIP7QWidgetLi8EE14qt_metatype_idEvE11metatype_id[_ZZN18QMetaTypeIdQObjectIP7QWidgetLi8EE14qt_metatype_idEvE11metatype_id]+0x0): multiple definition of `QMetaTypeIdQObject<QWidget*, 8>::qt_metatype_id()::metatype_id'; src/Gui/CMakeFiles/FreeCADGui.dir/ToolBox.cpp.obj:ToolBox.cpp:(.bss$_ZZN18QMetaTypeIdQObjectIP7QWidgetLi8EE14qt_metatype_idEvE11metatype_id[_ZZN18QMetaTypeIdQObjectIP7QWidgetLi8EE14qt_metatype_idEvE11metatype_id]+0x0): first defined here
E:/msys64/mingw64/bin/ld: E:/msys64/mingw64/lib/libQt5UiTools.a(abstractformbuilder.o):abstractformbuilder.cpp:(.data$_ZZN11QMetaTypeIdIN17QtMetaTypePrivate23QSequentialIterableImplEE14qt_metatype_idEvE11metatype_id[_ZZN11QMetaTypeIdIN17QtMetaTypePrivate23QSequentialIterableImplEE14qt_metatype_idEvE11metatype_id]+0x0): multiple definition of `QMetaTypeId<QtMetaTypePrivate::QSequentialIterableImpl>::qt_metatype_id()::metatype_id'; src/Gui/CMakeFiles/FreeCADGui.dir/SoFCDB.cpp.obj:SoFCDB.cpp:(.bss$_ZZN11QMetaTypeIdIN17QtMetaTypePrivate23QSequentialIterableImplEE14qt_metatype_idEvE11metatype_id[_ZZN11QMetaTypeIdIN17QtMetaTypePrivate23QSequentialIterableImplEE14qt_metatype_idEvE11metatype_id]+0x0): first defined here
E:/msys64/mingw64/lib/libQt5UiTools.a(moc_properties_p.o): duplicate section `.rdata$_ZTS7QObject[_ZTS7QObject]' has different size
E:/msys64/mingw64/lib/libQt5UiTools.a(moc_properties_p.o): duplicate section `.rdata$_ZTS12QPaintDevice[_ZTS12QPaintDevice]' has different size
E:/msys64/mingw64/lib/libQt5UiTools.a(moc_properties_p.o): duplicate section `.rdata$_ZTS7QWidget[_ZTS7QWidget]' has different size
E:/msys64/mingw64/lib/libQt5UiTools.a(moc_properties_p.o): duplicate section `.rdata$_ZTI7QWidget[_ZTI7QWidget]' has different size
E:/msys64/mingw64/bin/ld: error: export ordinal too large: 68198
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.

Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
User avatar
chennes
Veteran
Posts: 3868
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: MSYS2 build error help: "missing" file

Post by chennes »

OK, I figured it would be good to try to just recompile Qt5-Tools locally to see if that resolved the linker issue, but I can't even do that. The steps should have been simple enough:

Code: Select all

cd /tmp
git clone https://github.com/msys2/MINGW-packages
cd MINGW-packages/mingw-w64-qt5-tools
MINGW_ARCH=mingw64 makepkg-mingw -sLf
But when I do this, the compilation fails because it can't find an include:

Code: Select all

g++ -c -include .pch/release/lib_pch.h -fno-keep-inline-dllexport -O2 -g -std=c++1z -fno-exceptions -Wall -Wextra -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -Wno-format-overflow -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_NO_LINKED_LIST -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_LINKED_LIST -DQDESIGNER_SDK_LIBRARY -DQDESIGNER_EXTENSION_LIBRARY -DQDESIGNER_UILIB_LIBRARY -DQDESIGNER_SHARED_LIBRARY -DQT_DESIGNER -DQT_USE_QSTRINGBUILDER -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_BUILD_DESIGNER_LIB -DQT_BUILDING_QT -D_CRT_SECURE_NO_WARNINGS -D_USE_MATH_DEFINES -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x040800 -DQT_DEPRECATED_WARNINGS_SINCE=0x060000 -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_UIPLUGIN_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_XML_LIB -DQT_CORE_LIB -DQT_UIPLUGIN_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -IE:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib -I. -IE:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib/extension -IE:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib/sdk -IE:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib/shared -IE:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/shared/qtpropertybrowser -IE:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/shared/deviceskin -IE:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/shared/findwidget -IE:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/shared/qtgradienteditor -IE:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib/uilib -I../../../../include -I../../../../include/QtDesigner -I../../../../include/QtDesigner/5.15.2 -I../../../../include/QtDesigner/5.15.2/QtDesigner -Itmp -I../../../../include/QtUiPlugin -IE:/msys64/mingw64/include/QtWidgets/5.15.2 -IE:/msys64/mingw64/include/QtWidgets/5.15.2/QtWidgets -IE:/msys64/mingw64/include/QtGui/5.15.2 -IE:/msys64/mingw64/include/QtGui/5.15.2/QtGui -IE:/msys64/mingw64/include/QtCore/5.15.2 -IE:/msys64/mingw64/include/QtCore/5.15.2/QtCore -IE:/msys64/mingw64/include/QtWidgets -IE:/msys64/mingw64/include/QtGui -IE:/msys64/mingw64/include/QtXml -IE:/msys64/mingw64/include/QtCore -I.moc/release -I.uic -I/include -I/include -I@@QT_REAL_PREFIX/dir@@/include/mariadb -IE:/msys64/mingw64/share/qt5/mkspecs/win32-g++  -o .obj/release/qdesigner_taskmenu.o E:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib/shared/qdesigner_formbuilder.cpp
In file included from E:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib/shared/qdesigner_formbuilder.cpp:35:
../../../../include/QtDesigner/5.15.2/QtDesigner/private/ui4_p.h:1:10: fatal error: ../../../../../../../../../../../../tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib/uilib/ui4_p.h: No such file or directory
    1 | #include "../../../../../../../../../../../../tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib/uilib/ui4_p.h"
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
The catch is, the necessary files appear to be there. If I:

Code: Select all

cd E:/msys64/tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib/shared/
cat ../../../../include/QtDesigner/5.15.2/QtDesigner/private/ui4_p.h
I get

Code: Select all

#include "../../../../../../../../../../../../tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib/uilib/ui4_p.h"
So then I:

Code: Select all

cd ../../../../include/QtDesigner/5.15.2/QtDesigner/private/
cat ../../../../../../../../../../../../tmp/MINGW-packages/mingw-w64-qt5-tools/src/qttools/src/designer/src/lib/uilib/ui4_p.h
... the file is there, and looks fine. So while that path is sort of absurd, as far as I can tell it should be working. Honestly, I was sort of hoping that while typing this out I'd have one of those Eureka! moments... it didn't happen. :?
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
wmayer
Founder
Posts: 20202
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: MSYS2 build error help: "missing" file

Post by wmayer »

chennes wrote: Sun Sep 19, 2021 1:18 am OK, I figured it would be good to try to just recompile Qt5-Tools locally to see if that resolved the linker issue, but I can't even do that.
Unfortunately, Qt has become a huge monster in the last years and it's quite difficult now to get it compiled locally.
wmayer
Founder
Posts: 20202
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: MSYS2 build error help: "missing" file

Post by wmayer »

chennes wrote: Sun Sep 19, 2021 1:18 am OK, I figured it would be good to try to just recompile Qt5-Tools locally to see if that resolved the linker issue, but I can't even do that.
Now I am not sure if Qt5-Tools is even the problem. As a hack I have implemented a dummy class QUiLoader in WidgetFactory.h and disabled the include of QUiLoader.h. This has fixed all the warnings:

Code: Select all

C:/msys64/mingw64/bin/ld: C:/msys64/mingw64/lib/libQt5UiTools.a(abstractformbuilder.o):abstractformbuilder.cpp:(.data$_ZZN18QMetaTypeIdQObjectIP7QWidgetLi8EE14qt_metatype_idEvE11metatype_id[_ZZN18QMetaTypeIdQObjectIP7QWidgetLi8EE14qt_metatype_idEvE11metatype_id]+0x0): multiple definition of `QMetaTypeIdQObject<QWidget*, 8>::qt_metatype_id()::metatype_id'; CMakeFiles/FreeCADGui.dir/objects.a(ToolBox.cpp.obj):ToolBox.cpp:(.bss$_ZZN18QMetaTypeIdQObjectIP7QWidgetLi8EE14qt_metatype_idEvE11metatype_id[_ZZN18QMetaTypeIdQObjectIP7QWidgetLi8EE14qt_metatype_idEvE11metatype_id]+0x0): first defined here
C:/msys64/mingw64/bin/ld: C:/msys64/mingw64/lib/libQt5UiTools.a(abstractformbuilder.o):abstractformbuilder.cpp:(.data$_ZZN11QMetaTypeIdIN17QtMetaTypePrivate23QSequentialIterableImplEE14qt_metatype_idEvE11metatype_id[_ZZN11QMetaTypeIdIN17QtMetaTypePrivate23QSequentialIterableImplEE14qt_metatype_idEvE11metatype_id]+0x0): multiple definition of `QMetaTypeId<QtMetaTypePrivate::QSequentialIterableImpl>::qt_metatype_id()::metatype_id'; CMakeFiles/FreeCADGui.dir/objects.a(SoFCDB.cpp.obj):SoFCDB.cpp:(.bss$_ZZN11QMetaTypeIdIN17QtMetaTypePrivate23QSequentialIterableImplEE14qt_metatype_idEvE11metatype_id[_ZZN11QMetaTypeIdIN17QtMetaTypePrivate23QSequentialIterableImplEE14qt_metatype_idEvE11metatype_id]+0x0): first defined here
C:/msys64/mingw64/lib/libQt5UiTools.a(moc_properties_p.o): duplicate section `.rdata$_ZTS7QObject[_ZTS7QObject]' has different size
C:/msys64/mingw64/lib/libQt5UiTools.a(moc_properties_p.o): duplicate section `.rdata$_ZTS12QPaintDevice[_ZTS12QPaintDevice]' has different size
C:/msys64/mingw64/lib/libQt5UiTools.a(moc_properties_p.o): duplicate section `.rdata$_ZTS7QWidget[_ZTS7QWidget]' has different size
C:/msys64/mingw64/lib/libQt5UiTools.a(moc_properties_p.o): duplicate section `.rdata$_ZTI7QWidget[_ZTI7QWidget]' has different size
but what still appears is this error message:

Code: Select all

C:/msys64/mingw64/bin/ld: error: export ordinal too large: 67248
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [src/Gui/CMakeFiles/FreeCADGui.dir/build.make:5875: bin/libFreeCADGui.dll] Error 1
make[2]: *** [CMakeFiles/Makefile2:6355: src/Gui/CMakeFiles/FreeCADGui.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:6362: src/Gui/CMakeFiles/FreeCADGui.dir/rule] Error 2
make: *** [Makefile:2262: FreeCADGui] Error 2
So, the reason must be something else.

EDIT: The problem might be the linker flag -Wl,--export-all-symbols. I have disabled this line and added an explicit dllexport where needed. Just waiting for FreeCADGui to be finished...

EDIT2: Apparently both of the above issues lead to a failure. After re-adding my hack and removing -Wl,--export-all-symbols the linker has created libFreeCADGui.dll
wmayer
Founder
Posts: 20202
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: MSYS2 build error help: "missing" file

Post by wmayer »

Here is my patch with all the changes to make it compile with MSYS2/clang.

Before running the GUI version you must do

Code: Select all

export FC_PYTHONHOME=/mingw64
as otherwise the Python interpreter fails to find its modules and crashes.

The GUI then shows the splash screen but then crashes when loading the Part module. The reason is that the macros for the type declaration are commented out due to this weird build failure.

HINT: The Import module raises a lot of warnings due to OCCT. If you want to fix it you must edit TDF_DerivedAttribute.hxx and remove the semicolon in line 26.
Attachments
mingw.diff.txt
(25.65 KiB) Downloaded 53 times
User avatar
chennes
Veteran
Posts: 3868
Joined: Fri Dec 23, 2016 3:38 pm
Location: Norman, OK, USA
Contact:

Re: MSYS2 build error help: "missing" file

Post by chennes »

Nice, thanks. I didn't know about intptr_t -- that sounds like it's safe on all systems, right? Then, with the exception of the TYPESYSTEM hack, all of these changes should be safe to make?

Any clue what's happening with the TYPESYSTEM stuff? I didn't look at it at all, just took your advice and removed it.
Chris Hennes
Pioneer Library System
GitHub profile, LinkedIn profile, chrishennes.com
wmayer
Founder
Posts: 20202
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: MSYS2 build error help: "missing" file

Post by wmayer »

chennes wrote: Sun Sep 19, 2021 3:23 pm Nice, thanks. I didn't know about intptr_t -- that sounds like it's safe on all systems, right?
Yes, that should be safe on all platforms. intptr_t is a typedef of int64 for 64-bit platforms and a normal int for 32-bit platforms.
Then, with the exception of the TYPESYSTEM hack, all of these changes should be safe to make?
The changes of GeometryDefaultExtension.cpp and GeometryDefaultExtension.h must not be checked-in as that causes the crash when starting FreeCAD.
Any clue what's happening with the TYPESYSTEM stuff? I didn't look at it at all, just took your advice and removed it.
Not really. The compiler complains about the static classTypeId member of the template class. When searching on SO for that error message I think the compiler is right and it's probably only luck that it works on Windows and Linux.

After a while I found a way to fix the warnings when re-enabling TYPESYSTEM_HEADER_WITH_OVERRIDE but I failed to find a solution for the compile error for the TYPESYSTEM_SOURCE_TEMPLATE_T.
wmayer
Founder
Posts: 20202
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: MSYS2 build error help: "missing" file

Post by wmayer »

I have merged as much as possible of the patch. So, the things I left are:

Code: Select all

diff --git a/src/Gui/WidgetFactory.h b/src/Gui/WidgetFactory.h
index d1d1ecf6eb..0ab46d1a84 100644
--- a/src/Gui/WidgetFactory.h
+++ b/src/Gui/WidgetFactory.h
@@ -24,8 +24,34 @@
 #ifndef GUI_WIDGETFACTORY_H
 #define GUI_WIDGETFACTORY_H
 
-#include <vector>
+#if defined (__MINGW32__)
+class QDir;
+class QUiLoader : public QObject
+{
+    Q_OBJECT
+public:
+    explicit QUiLoader(QObject *parent = nullptr) : QObject(parent) {
+    }
+    void clearPluginPaths() {
+    }
+    void setLanguageChangeEnabled(bool) {
+    }
+    QWidget *load(QIODevice *, QWidget * = nullptr) {
+        return nullptr;
+    }
+    void setWorkingDirectory(const QDir &) {
+    }
+    QStringList availableWidgets() const {
+        return QStringList();
+    }
+    virtual QWidget *createWidget(const QString &, QWidget * = nullptr, const QString & = QString()) {
+        return nullptr;
+    }
+};
+#else
 #include <QUiLoader>
+#endif
+#include <vector>
 #include <QGraphicsItem>
 
 #include <Base/Factory.h>
diff --git a/src/Mod/Mesh/App/CMakeLists.txt b/src/Mod/Mesh/App/CMakeLists.txt
index 187b2115de..2d661aea12 100644
--- a/src/Mod/Mesh/App/CMakeLists.txt
+++ b/src/Mod/Mesh/App/CMakeLists.txt
@@ -372,6 +372,15 @@ SET(Mesh_SRCS
     Segment.h
 )
 
+# Suppress -Wundefined-var-template
+if (MINGW AND CMAKE_COMPILER_IS_CLANGXX)
+    unset(_flag_found CACHE)
+    check_cxx_compiler_flag("-Wno-undefined-var-template" _flag_found)
+    if (_flag_found)
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-undefined-var-template")
+    endif()
+endif()
+
 if(FREECAD_USE_PCH)
     add_definitions(-D_PreComp_)
     GET_MSVC_PRECOMPILED_SOURCE("PreCompiled.cpp" PCH_SRCS ${Core_SRCS} ${Mesh_SRCS})
diff --git a/src/Mod/Part/App/GeometryDefaultExtension.cpp b/src/Mod/Part/App/GeometryDefaultExtension.cpp
index b4435d13f7..1efd652ba0 100644
--- a/src/Mod/Part/App/GeometryDefaultExtension.cpp
+++ b/src/Mod/Part/App/GeometryDefaultExtension.cpp
@@ -108,7 +108,7 @@ namespace Part {
 //typedef Part::GeometryStringExtension<std::string> GeometryStringExtension;
 
 // ---------- GeometryIntExtension ----------
-TYPESYSTEM_SOURCE_TEMPLATE_T(Part::GeometryIntExtension,Part::GeometryPersistenceExtension)
+//TYPESYSTEM_SOURCE_TEMPLATE_T(Part::GeometryIntExtension,Part::GeometryPersistenceExtension)
 
 template <>
 PyObject * GeometryDefaultExtension<long>::getPyObject(void)
@@ -125,7 +125,7 @@ void GeometryDefaultExtension<long>::restoreAttributes(Base::XMLReader &reader)
 }
 
 // ---------- GeometryStringExtension ----------
-TYPESYSTEM_SOURCE_TEMPLATE_T(Part::GeometryStringExtension,Part::GeometryPersistenceExtension)
+//TYPESYSTEM_SOURCE_TEMPLATE_T(Part::GeometryStringExtension,Part::GeometryPersistenceExtension)
 
 template <>
 PyObject * GeometryDefaultExtension<std::string>::getPyObject(void)
@@ -134,7 +134,7 @@ PyObject * GeometryDefaultExtension<std::string>::getPyObject(void)
 }
 
 // ---------- GeometryBoolExtension ----------
-TYPESYSTEM_SOURCE_TEMPLATE_T(Part::GeometryBoolExtension,Part::GeometryPersistenceExtension)
+//TYPESYSTEM_SOURCE_TEMPLATE_T(Part::GeometryBoolExtension,Part::GeometryPersistenceExtension)
 
 template <>
 PyObject * GeometryDefaultExtension<bool>::getPyObject(void)
@@ -151,7 +151,7 @@ void GeometryDefaultExtension<bool>::restoreAttributes(Base::XMLReader &reader)
 }
 
 // ---------- GeometryDoubleExtension ----------
-TYPESYSTEM_SOURCE_TEMPLATE_T(Part::GeometryDoubleExtension,Part::GeometryPersistenceExtension)
+//TYPESYSTEM_SOURCE_TEMPLATE_T(Part::GeometryDoubleExtension,Part::GeometryPersistenceExtension)
 
 template <>
 PyObject * GeometryDefaultExtension<double>::getPyObject(void)
diff --git a/src/Mod/Part/App/GeometryDefaultExtension.h b/src/Mod/Part/App/GeometryDefaultExtension.h
index 246f55d185..7221a1a41c 100644
--- a/src/Mod/Part/App/GeometryDefaultExtension.h
+++ b/src/Mod/Part/App/GeometryDefaultExtension.h
@@ -32,7 +32,7 @@ namespace Part {
     template <typename T>
     class PartExport GeometryDefaultExtension: public Part::GeometryPersistenceExtension
     {
-        TYPESYSTEM_HEADER_WITH_OVERRIDE();
+    //    TYPESYSTEM_HEADER_WITH_OVERRIDE();
     public:
         inline GeometryDefaultExtension();
         GeometryDefaultExtension(const T& val, std::string name = std::string());
Post Reply