From: Richard S. <hob...@gm...> - 2018-04-17 14:17:12
|
On Mon, Apr 16, 2018 at 1:10 PM, Barry Scott <ba...@ba...> wrote: > > > On 12 Apr 2018, at 15:59, Richard Shaw <hob...@gm...> wrote: > > ifPyErrorThrowCxxException > > > You need to compile ./Src/Python2/cxx_exceptions.cxx to get this and > other functions. > It new in the V7 series. > I figured that out after digging into the FreeCAD sources. They bundle 6.2.8. The next problem I ran into is that it looks like the arguments have changed? [ 26%] Building CXX object src/App/CMakeFiles/FreeCADApp.dir/GroupExtensionPyImp.cpp.o cd /builddir/build/BUILD/FreeCAD-0.17/build/src/App && /usr/bin/c++ -DBOOST_106600 -DDOCDIR=\"/usr/share/doc/freecad\" -DFreeCADApp_EXPORTS -DHAVE_CONFIG_H -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_SVG_LIB -DQT_UITOOLS_LIB -DQT_WEBKIT_LIB -DQT_XML_LIB -DRESOURCEDIR=\"/usr/share/freecad\" -D_OCC64 -I/builddir/build/BUILD/FreeCAD-0.17/build -I/usr/include/smesh -isystem /usr/include/QtOpenGL -isystem /usr/include/QtSvg -isystem /usr/include/QtUiTools -isystem /usr/include/QtWebKit -isystem /usr/include/QtGui -isystem /usr/include/QtXml -isystem /usr/include/QtNetwork -isystem /usr/include/QtCore -I/builddir/build/BUILD/FreeCAD-0.17/build/src -I/builddir/build/BUILD/FreeCAD-0.17/src -I/builddir/build/BUILD/FreeCAD-0.17/build/src/App -I/usr/include/python2.7 -Wall -Wextra -Wno-write-strings -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -std=c++11 -D_OCC64 -fPIC -o CMakeFiles/FreeCADApp.dir/GroupExtensionPyImp.cpp.o -c /builddir/build/BUILD/FreeCAD-0.17/src/App/GroupExtensionPyImp.cpp BUILDSTDERR: /builddir/build/BUILD/FreeCAD-0.17/src/App/ExtensionContainerPyImp.cpp: In member function 'PyObject* App::ExtensionContainerPy::hasExtension(PyObject*)': BUILDSTDERR: /builddir/build/BUILD/FreeCAD-0.17/src/App/ExtensionContainerPyImp.cpp:161:70: error: no matching function for call to 'Py::Exception::Exception(PyObject*&, std::__cxx11::basic_stringstream<char>::__string_type)' BUILDSTDERR: throw Py::Exception(Base::BaseExceptionFreeCADError,str.str()); BUILDSTDERR: ^ BUILDSTDERR: In file included from /usr/include/CXX/Exception.hxx:40, BUILDSTDERR: from /usr/include/CXX/Python2/Objects.hxx:44, BUILDSTDERR: from /usr/include/CXX/Objects.hxx:40, BUILDSTDERR: from /builddir/build/BUILD/FreeCAD-0.17/src/Base/PyObjectBase.h:54, BUILDSTDERR: from /builddir/build/BUILD/FreeCAD-0.17/src/App/Application.h:32, BUILDSTDERR: from /builddir/build/BUILD/FreeCAD-0.17/src/App/ExtensionContainerPyImp.cpp:30: BUILDSTDERR: /usr/include/CXX/Python2/cxx_standard_exceptions.hxx:9:1: note: candidate: 'Py::Exception::Exception(const string&)' BUILDSTDERR: PYCXX_STANDARD_EXCEPTION( Exception, BaseException ) BUILDSTDERR: ^~~~~~~~~~~~~~~~~~~~~~~~ BUILDSTDERR: /usr/include/CXX/Python2/cxx_standard_exceptions.hxx:9:1: note: candidate expects 1 argument, 2 provided BUILDSTDERR: /usr/include/CXX/Python2/cxx_standard_exceptions.hxx:9:1: note: candidate: 'Py::Exception::Exception(const char*)' BUILDSTDERR: PYCXX_STANDARD_EXCEPTION( Exception, BaseException ) BUILDSTDERR: ^~~~~~~~~~~~~~~~~~~~~~~~ BUILDSTDERR: /usr/include/CXX/Python2/cxx_standard_exceptions.hxx:9:1: note: candidate expects 1 argument, 2 provided BUILDSTDERR: /usr/include/CXX/Python2/cxx_standard_exceptions.hxx:9:1: note: candidate: 'Py::Exception::Exception()' BUILDSTDERR: PYCXX_STANDARD_EXCEPTION( Exception, BaseException ) BUILDSTDERR: ^~~~~~~~~~~~~~~~~~~~~~~~ BUILDSTDERR: /usr/include/CXX/Python2/cxx_standard_exceptions.hxx:9:1: note: candidate expects 0 arguments, 2 provided BUILDSTDERR: /usr/include/CXX/Python2/cxx_standard_exceptions.hxx:9:1: note: candidate: 'constexpr Py::Exception::Exception(const Py::Exception&)' BUILDSTDERR: PYCXX_STANDARD_EXCEPTION( Exception, BaseException ) BUILDSTDERR: ^~~~~~~~~~~~~~~~~~~~~~~~ Thanks, Richard |