View Issue Details

IDProjectCategoryView StatusLast Update
0001360ArchBugpublic2014-06-07 10:57
Reporterjobermayr Assigned Towmayer  
PriorityurgentSeverityblockReproducibilityalways
Status closedResolutionfixed 
Product Versiontrunk 
Fixed in Version0.14 
Summary0001360: [Arch] must be sip.simplewrapper, not PySide.QtGui.QWidget
DescriptionWhen 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'>
Tagspyside
FreeCAD Information

Activities

shoogen

2014-01-19 13:15

developer   ~0004102

are you sure you did a clean rebuild? In this case it might be helpful to provide a git hash of your exact version.

shoogen

2014-01-19 13:29

developer   ~0004104

http://forum.freecadweb.org/viewtopic.php?f=3&t=5342&p=42603
http://forum.freecadweb.org/viewtopic.php?f=10&t=5303&p=42387

jobermayr

2014-01-19 14:19

reporter   ~0004105

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

jobermayr

2014-01-19 15:48

reporter  

0001-PySide-and-Shiboken-are-buildrequires-for-GUI.patch (Attachment missing)

jobermayr

2014-01-19 15:48

reporter   ~0004106

Here is the fix ...

jobermayr

2014-01-20 16:08

reporter   ~0004109

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)

jobermayr

2014-02-22 18:07

reporter   ~0004269

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 ...

yorik

2014-03-11 01:39

administrator   ~0004410

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?

wmayer

2014-03-11 09:01

administrator   ~0004424

Maybe there are system on which you cannot build Shiboken or PySide and there it makes sense to make them optional.

wmayer

2014-06-07 10:57

administrator   ~0004740

> 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.

Related Changesets

FreeCAD: master 88ff8076

2014-01-20 10:16:43

wmayer

Details Diff
+ fixes 0001360: [Arch] must be sip.simplewrapper, not PySide.QtGui.QWidget Affected Issues
0001360
mod - CMakeLists.txt Diff File

Issue History

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