[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#633499: system-config-printer-kde: kcontrol KCModuleLoader::loadModule: This module has no valid entry symbol at all.



tags 633499 confirmed
reassign 633499 python-kde4,python-qt4
found 633499 python-kde4/4:4.6.80-1
found 633499 python-qt4/4.8.3-2
thanks

Hello,

On sekmadienis 10 Liepa 2011 23:13:19 Michael Schmitt wrote:
> Package: system-config-printer-kde
> Version: 4:4.6.3-1
> Severity: grave
> Justification: renders package unusable
> 
> When opening the printer dialog following messages are printed in the
> shell:
> mschmitt@adrastea:~$ kcmshell4 system-config-printer-kde
> kcmshell(21320)/python (plugin): Error while running factory function for
> Python plugin:  "system-config-printer-kde/system-config-printer-kde.py"
> Traceback (most recent call last):
>   File "<string>", line 18, in kpythonpluginfactory_bridge
>   File
> "/usr/share/kde4/apps/system-config-printer-kde/system-config-printer-kde.
> py", line 3999, in CreatePlugin kcm = u.makeui(component_data,
> widget_parent)
>   File
> "/usr/share/kde4/apps/system-config-printer-kde/system-config-printer-kde.
> py", line 122, in makeui self.ui = PyKcm(component_data, parent, self)
>   File
> "/usr/share/kde4/apps/system-config-printer-kde/system-config-printer-kde.
> py", line 98, in __init__ uic.loadUi(unicode(APPDIR + "/" +
> "system-config-printer.ui"), self) File
> "/usr/lib/pymodules/python2.6/PyQt4/uic/__init__.py", line 221, in loadUi
> return DynamicUILoader().loadUi(uifile, baseinstance)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/Loader/loader.py", line 71,
> in loadUi return self.parse(filename, basedir)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 886, in
> parse actor(elem)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 729, in
> createUserInterface self.traverseWidgetTree(elem)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 707, in
> traverseWidgetTree handler(self, child)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 449, in
> createLayout self.traverseWidgetTree(elem)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 707, in
> traverseWidgetTree handler(self, child)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 486, in
> handleItem self.traverseWidgetTree(elem)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 707, in
> traverseWidgetTree handler(self, child)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 214, in
> createWidget self.traverseWidgetTree(elem)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 707, in
> traverseWidgetTree handler(self, child)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 214, in
> createWidget self.traverseWidgetTree(elem)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 707, in
> traverseWidgetTree handler(self, child)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 449, in
> createLayout self.traverseWidgetTree(elem)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 707, in
> traverseWidgetTree handler(self, child)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 486, in
> handleItem self.traverseWidgetTree(elem)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 707, in
> traverseWidgetTree handler(self, child)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 449, in
> createLayout self.traverseWidgetTree(elem)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 707, in
> traverseWidgetTree handler(self, child)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 486, in
> handleItem self.traverseWidgetTree(elem)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 707, in
> traverseWidgetTree handler(self, child)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 208, in
> createWidget self.stack.push(self.setupObject(widget_class, parent, elem))
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/uiparser.py", line 176, in
> setupObject obj =  self.factory.createQObject(clsname, name, args,
> is_attribute) File "/usr/lib/pymodules/python2.6/PyQt4/uic/objcreator.py",
> line 105, in createQObject classType = self.findQObjectType(classname)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/objcreator.py", line 115, in
> findQObjectType w = module.search(classname)
>   File "/usr/lib/pymodules/python2.6/PyQt4/uic/Loader/qobjectcreator.py",
> line 92, in search self._modules[module] = __import__(module, {}, {},
> (cls,))
> ImportError: No module named kpushbutton
> kcmshell(21320)/python (plugin): Failed to import module
> kcmshell(21320)/kcontrol KCModuleLoader::loadModule: This module has no
> valid entry symbol at all. The reason could be that it's still using
> K_EXPORT_COMPONENT_FACTORY with a custom X-KDE-FactoryName which is not
> supported anymore mschmitt@adrastea:~$

Apparently this is because python-qt4 still uses python-support while python-
kde4 >= 4:4.6.80 uses dh_python2. Notably:

# ln -s /usr/lib/python2.6/dist-packages/PyQt4/uic/widget-plugins/kde4.py 
/var/lib/python-support/python2.6/PyQt4/uic/widget-plugins/

# ln -s /usr/lib/python2.6/dist-packages/PyQt4/uic/pykdeuic4.py 
/var/lib/python-support/python2.6/PyQt4/uic

fixes the problem. So the root cause of this bug is the same as in #633000.
I.e. python does not bother looking in /usr/lib/python2.6/dist-packages/PyQt4/ 
(where it would find needed uic/widget-plugins/kde4.py) because PyQt4 
directory already exists in /var/lib/python-support/python2.6/

It seems that transition to dh_python2 is not that painless as advertised... 
I'm not sure where to reassign this bug...

-- 
Modestas Vainius <modax@debian.org>

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: