View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001360 | Arch | Bug | public | 2014-01-19 11:46 | 2014-06-07 10:57 |
Reporter | jobermayr | Assigned To | wmayer | ||
Priority | urgent | Severity | block | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | trunk | ||||
Fixed in Version | 0.14 | ||||
Summary | 0001360: [Arch] must be sip.simplewrapper, not PySide.QtGui.QWidget | ||||
Description | When loading: Python 2.7.5 (default, May 30 2013, 16:55:57) [GCC] on linux2 Type 'help', 'copyright', 'credits' or 'license' for more information. >>> import WebGui >>> from StartPage import StartPage >>> WebGui.openBrowserHTML(StartPage.handle(),'file://' + App.getResourceDir() + 'Mod/Start/StartPage/','Start page') >>> execfile('/usr/share/FreeCAD/Mod/Start/StartPage/ArchDesign.py') >>> App.setActiveDocument("Unnamed") >>> App.ActiveDocument=App.getDocument("Unnamed") >>> Gui.ActiveDocument=Gui.getDocument("Unnamed") must be sip.simplewrapper, not PySide.QtGui.QWidget Then when trying to draw a line: Ersten Punkt auswählen: ('[Draft.todo.tasks] Unexpected error:', <type 'exceptions.TypeError'>, 'in ', <built-in method showDialog of tuple object at 0x2c09320>, '(', <DraftGui.DraftTaskPanel instance at 0x3f7ac68>, ')')<type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> <type 'exceptions.TypeError'> | ||||
Tags | pyside | ||||
FreeCAD Information | |||||
|
are you sure you did a clean rebuild? In this case it might be helpful to provide a git hash of your exact version. |
|
http://forum.freecadweb.org/viewtopic.php?f=3&t=5342&p=42603 http://forum.freecadweb.org/viewtopic.php?f=10&t=5303&p=42387 |
|
Packman build hosts and package sources are deleted and initialized on each rebuild: https://pmbs.links2linux.de/package/show?package=FreeCAD&project=Extra Are shiboken and pyside build dependencies or only required on runtime? https://pmbs.links2linux.de/package/rdiff?linkrev=base&package=FreeCAD&project=Extra&rev=45 git hash: cf1e4ec |
|
|
|
Here is the fix ... |
|
I don't see build requirement on -DFREECAD_BUILD_GUI=off: # grep -r -n -e "SHIBOKEN" -e "PYSIDE" src/ src/Gui/CMakeLists.txt:63:if(SHIBOKEN_INCLUDE_DIR) src/Gui/CMakeLists.txt:64: add_definitions(-DHAVE_SHIBOKEN) src/Gui/CMakeLists.txt:66: ${SHIBOKEN_INCLUDE_DIR} src/Gui/CMakeLists.txt:70: ${SHIBOKEN_LIBRARY} src/Gui/CMakeLists.txt:72:endif(SHIBOKEN_INCLUDE_DIR) src/Gui/CMakeLists.txt:74:if(PYSIDE_INCLUDE_DIR) src/Gui/CMakeLists.txt:75: add_definitions(-DHAVE_PYSIDE) src/Gui/CMakeLists.txt:77: ${PYSIDE_INCLUDE_DIR} src/Gui/CMakeLists.txt:78: ${PYSIDE_INCLUDE_DIR}/QtCore src/Gui/CMakeLists.txt:79: ${PYSIDE_INCLUDE_DIR}/QtGui src/Gui/CMakeLists.txt:83: ${PYSIDE_LIBRARY} src/Gui/CMakeLists.txt:85:endif(PYSIDE_INCLUDE_DIR) src/Gui/WidgetFactory.cpp:30:// #undef HAVE_SHIBOKEN src/Gui/WidgetFactory.cpp:31:// #undef HAVE_PYSIDE src/Gui/WidgetFactory.cpp:42:#ifdef HAVE_SHIBOKEN src/Gui/WidgetFactory.cpp:48:# ifdef HAVE_PYSIDE src/Gui/WidgetFactory.cpp:77:#if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE) src/Gui/WidgetFactory.cpp:90:#if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE) src/Gui/WidgetFactory.cpp:114:#if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE) src/Gui/WidgetFactory.cpp:140:#if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE) src/Gui/WidgetFactory.cpp:154:#if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE) src/CMakeLists.txt: if(FREECAD_BUILD_GUI) add_subdirectory(Gui) configure_file(Doc/Start_Page.html ${CMAKE_BINARY_DIR}/doc/Start_Page.html COPYONLY) configure_file(Doc/freecad.qhc ${CMAKE_BINARY_DIR}/doc/freecad.qhc COPYONLY) configure_file(Doc/freecad.qch ${CMAKE_BINARY_DIR}/doc/freecad.qch COPYONLY) endif(FREECAD_BUILD_GUI) |
|
http://sourceforge.net/p/free-cad/code/ci/7eb7591 uses not required #if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE) CMakeLists.txt: if(FREECAD_BUILD_GUI) [...] find_package(Shiboken REQUIRED) find_package(PySide REQUIRED) src/CMakeLists.txt: if(FREECAD_BUILD_GUI) add_subdirectory(Gui) That means you cannot build things in src/Gui without Shiboken and PySide at all ... |
|
I think it makes sense that you cannot buid the GUI stuff without pyside, no? The task panel depends on it. I'm not sure if something is still required here, or we can close this issue? |
|
Maybe there are system on which you cannot build Shiboken or PySide and there it makes sense to make them optional. |
|
> I don't see build requirement on -DFREECAD_BUILD_GUI=off: If FreeCAD's GUI is not built the C++ interface of Shiboken/PySide is not needed because that's only used inside WidgetFactory.cpp to convert between Python and C++ instances. > http://sourceforge.net/p/free-cad/code/ci/7eb7591 [^] uses not required #if defined (HAVE_SHIBOKEN) && defined(HAVE_PYSIDE) Since Shiboken/PySide is mandatory now the above defines indeed could be removed. But I leave them because from time to time I have to test the old PyQt stuff and it simplifies it a lot to just active the two lines on top. See to me this issue looks done. |
Date Modified | Username | Field | Change |
---|---|---|---|
2014-01-19 11:46 | jobermayr | New Issue | |
2014-01-19 13:15 | shoogen | Note Added: 0004102 | |
2014-01-19 13:17 | shoogen | Tag Attached: pyside | |
2014-01-19 13:29 | shoogen | Note Added: 0004104 | |
2014-01-19 14:19 | jobermayr | Note Added: 0004105 | |
2014-01-19 15:48 | jobermayr | File Added: 0001-PySide-and-Shiboken-are-buildrequires-for-GUI.patch | |
2014-01-19 15:48 | jobermayr | Note Added: 0004106 | |
2014-01-20 09:19 | wmayer | Changeset attached | => FreeCAD Master master 88ff8076 |
2014-01-20 09:19 | wmayer | Assigned To | => wmayer |
2014-01-20 09:19 | wmayer | Status | new => closed |
2014-01-20 09:19 | wmayer | Resolution | open => fixed |
2014-01-20 16:08 | jobermayr | Note Added: 0004109 | |
2014-01-20 16:08 | jobermayr | Status | closed => feedback |
2014-01-20 16:08 | jobermayr | Resolution | fixed => reopened |
2014-02-22 18:07 | jobermayr | Note Added: 0004269 | |
2014-02-22 18:07 | jobermayr | Status | feedback => assigned |
2014-03-11 01:39 | yorik | Note Added: 0004410 | |
2014-03-11 09:01 | wmayer | Note Added: 0004424 | |
2014-06-07 10:57 | wmayer | Note Added: 0004740 | |
2014-06-07 10:57 | wmayer | Status | assigned => closed |
2014-06-07 10:57 | wmayer | Resolution | reopened => fixed |
2014-06-07 10:57 | wmayer | Fixed in Version | => 0.14 |