Bug 1198876 - ImportError: cannot import name QStyle
Summary: ImportError: cannot import name QStyle
Keywords:
Status: CLOSED DUPLICATE of bug 1197311
Alias: None
Product: Fedora
Classification: Fedora
Component: calibre
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kevin Fenzi
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-03-05 02:06 UTC by Edwind Richzendy Contreras Soto
Modified: 2015-11-09 14:56 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-02 17:22:45 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Yum transaction (257.02 KB, image/png)
2015-03-05 02:06 UTC, Edwind Richzendy Contreras Soto
no flags Details

Description Edwind Richzendy Contreras Soto 2015-03-05 02:06:15 UTC
Created attachment 998124 [details]
Yum transaction

Description of problem:

After install calibre on Fedora 21, calibre don't run using a menu item, them i try run calibre using CLI and i get this error:

Traceback (most recent call last):
  File "/bin/calibre", line 20, in <module>
    sys.exit(calibre())
  File "/usr/lib64/calibre/calibre/gui_launch.py", line 46, in calibre
    from calibre.gui2.main import main
  File "/usr/lib64/calibre/calibre/gui2/__init__.py", line 8, in <module>
    from PyQt5.Qt import (
ImportError: cannot import name QStyle


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1. yum install calibre
2.
3.

Actual results:


Expected results:


Additional info:

Yum transaction how attachment

Comment 1 Kevin Fenzi 2015-03-05 02:17:18 UTC
What does: 

rpm -V python-qt5 

output?

also 'rpm -q python-qt5'

Comment 2 Zbigniew Jędrzejewski-Szmek 2015-03-05 02:18:53 UTC
Can you paste the output from
  python -v -c 'from PyQt5.Qt import QStyle'
?

Comment 3 Edwind Richzendy Contreras Soto 2015-03-05 11:14:08 UTC
[root@xaxis ~]# rpm -V python-qt5
[root@xaxis ~]# rpm -q python-qt5
python-qt5-5.4-5.fc21.x86_64


[root@xaxis ~]# python -v -c 'from PyQt5.Qt import QStyle'
# installing zipimport hook
import zipimport # builtin
# installed zipimport hook
# /usr/lib64/python2.7/site.pyc matches /usr/lib64/python2.7/site.py
import site # precompiled from /usr/lib64/python2.7/site.pyc
# /usr/lib64/python2.7/os.pyc matches /usr/lib64/python2.7/os.py
import os # precompiled from /usr/lib64/python2.7/os.pyc
import errno # builtin
import posix # builtin
# /usr/lib64/python2.7/posixpath.pyc matches /usr/lib64/python2.7/posixpath.py
import posixpath # precompiled from /usr/lib64/python2.7/posixpath.pyc
# /usr/lib64/python2.7/stat.pyc matches /usr/lib64/python2.7/stat.py
import stat # precompiled from /usr/lib64/python2.7/stat.pyc
# /usr/lib64/python2.7/genericpath.pyc matches /usr/lib64/python2.7/genericpath.py
import genericpath # precompiled from /usr/lib64/python2.7/genericpath.pyc
# /usr/lib64/python2.7/warnings.pyc matches /usr/lib64/python2.7/warnings.py
import warnings # precompiled from /usr/lib64/python2.7/warnings.pyc
# /usr/lib64/python2.7/linecache.pyc matches /usr/lib64/python2.7/linecache.py
import linecache # precompiled from /usr/lib64/python2.7/linecache.pyc
# /usr/lib64/python2.7/types.pyc matches /usr/lib64/python2.7/types.py
import types # precompiled from /usr/lib64/python2.7/types.pyc
# /usr/lib64/python2.7/UserDict.pyc matches /usr/lib64/python2.7/UserDict.py
import UserDict # precompiled from /usr/lib64/python2.7/UserDict.pyc
# /usr/lib64/python2.7/_abcoll.pyc matches /usr/lib64/python2.7/_abcoll.py
import _abcoll # precompiled from /usr/lib64/python2.7/_abcoll.pyc
# /usr/lib64/python2.7/abc.pyc matches /usr/lib64/python2.7/abc.py
import abc # precompiled from /usr/lib64/python2.7/abc.pyc
# /usr/lib64/python2.7/_weakrefset.pyc matches /usr/lib64/python2.7/_weakrefset.py
import _weakrefset # precompiled from /usr/lib64/python2.7/_weakrefset.pyc
import _weakref # builtin
# /usr/lib64/python2.7/copy_reg.pyc matches /usr/lib64/python2.7/copy_reg.py
import copy_reg # precompiled from /usr/lib64/python2.7/copy_reg.pyc
# /usr/lib64/python2.7/traceback.pyc matches /usr/lib64/python2.7/traceback.py
import traceback # precompiled from /usr/lib64/python2.7/traceback.pyc
# /usr/lib64/python2.7/sysconfig.pyc matches /usr/lib64/python2.7/sysconfig.py
import sysconfig # precompiled from /usr/lib64/python2.7/sysconfig.pyc
# /usr/lib64/python2.7/re.pyc matches /usr/lib64/python2.7/re.py
import re # precompiled from /usr/lib64/python2.7/re.pyc
# /usr/lib64/python2.7/sre_compile.pyc matches /usr/lib64/python2.7/sre_compile.py
import sre_compile # precompiled from /usr/lib64/python2.7/sre_compile.pyc
import _sre # builtin
# /usr/lib64/python2.7/sre_parse.pyc matches /usr/lib64/python2.7/sre_parse.py
import sre_parse # precompiled from /usr/lib64/python2.7/sre_parse.pyc
# /usr/lib64/python2.7/sre_constants.pyc matches /usr/lib64/python2.7/sre_constants.py
import sre_constants # precompiled from /usr/lib64/python2.7/sre_constants.pyc
# /usr/lib64/python2.7/_sysconfigdata.pyc matches /usr/lib64/python2.7/_sysconfigdata.py
import _sysconfigdata # precompiled from /usr/lib64/python2.7/_sysconfigdata.pyc
# /usr/lib64/python2.7/site-packages/abrt_exception_handler.pyc matches /usr/lib64/python2.7/site-packages/abrt_exception_handler.py
import abrt_exception_handler # precompiled from /usr/lib64/python2.7/site-packages/abrt_exception_handler.pyc
import encodings # directory /usr/lib64/python2.7/encodings
# /usr/lib64/python2.7/encodings/__init__.pyc matches /usr/lib64/python2.7/encodings/__init__.py
import encodings # precompiled from /usr/lib64/python2.7/encodings/__init__.pyc
# /usr/lib64/python2.7/codecs.pyc matches /usr/lib64/python2.7/codecs.py
import codecs # precompiled from /usr/lib64/python2.7/codecs.pyc
import _codecs # builtin
# /usr/lib64/python2.7/encodings/aliases.pyc matches /usr/lib64/python2.7/encodings/aliases.py
import encodings.aliases # precompiled from /usr/lib64/python2.7/encodings/aliases.pyc
# /usr/lib64/python2.7/encodings/utf_8.pyc matches /usr/lib64/python2.7/encodings/utf_8.py
import encodings.utf_8 # precompiled from /usr/lib64/python2.7/encodings/utf_8.pyc
Python 2.7.8 (default, Nov 10 2014, 08:19:18) 
[GCC 4.9.2 20141101 (Red Hat 4.9.2-1)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
import PyQt5 # directory /usr/lib64/python2.7/site-packages/PyQt5
# /usr/lib64/python2.7/site-packages/PyQt5/__init__.pyc matches /usr/lib64/python2.7/site-packages/PyQt5/__init__.py
import PyQt5 # precompiled from /usr/lib64/python2.7/site-packages/PyQt5/__init__.pyc
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/Qt.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtCore.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/sip.so", 2);
# /usr/lib64/python2.7/atexit.pyc matches /usr/lib64/python2.7/atexit.py
import atexit # precompiled from /usr/lib64/python2.7/atexit.pyc
import sip # dynamically loaded from /usr/lib64/python2.7/site-packages/sip.so
import PyQt5.QtCore # dynamically loaded from /usr/lib64/python2.7/site-packages/PyQt5/QtCore.so
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtDBus.so", 2);
import PyQt5.QtDBus # dynamically loaded from /usr/lib64/python2.7/site-packages/PyQt5/QtDBus.so
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtGui.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtNetwork.so", 2);
import PyQt5.QtNetwork # dynamically loaded from /usr/lib64/python2.7/site-packages/PyQt5/QtNetwork.so
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtSensors.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtSerialPort.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtMultimedia.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtQml.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtWebKit.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtWidgets.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtXml.so", 2);
import PyQt5.QtXml # dynamically loaded from /usr/lib64/python2.7/site-packages/PyQt5/QtXml.so
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtXmlPatterns.so", 2);
import PyQt5.QtXmlPatterns # dynamically loaded from /usr/lib64/python2.7/site-packages/PyQt5/QtXmlPatterns.so
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtDesigner.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtHelp.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtMultimediaWidgets.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtOpenGL.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtPrintSupport.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtQuick.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtSql.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtSvg.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtTest.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtWebKitWidgets.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtBluetooth.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtPositioning.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtX11Extras.so", 2);
dlopen("/usr/lib64/python2.7/site-packages/PyQt5/QtQuickWidgets.so", 2);
import PyQt5.Qt # dynamically loaded from /usr/lib64/python2.7/site-packages/PyQt5/Qt.so
import systemd # directory /usr/lib64/python2.7/site-packages/systemd
# /usr/lib64/python2.7/site-packages/systemd/__init__.pyc matches /usr/lib64/python2.7/site-packages/systemd/__init__.py
import systemd # precompiled from /usr/lib64/python2.7/site-packages/systemd/__init__.pyc
# /usr/lib64/python2.7/site-packages/systemd/journal.pyc matches /usr/lib64/python2.7/site-packages/systemd/journal.py
import systemd.journal # precompiled from /usr/lib64/python2.7/site-packages/systemd/journal.pyc
# /usr/lib64/python2.7/__future__.pyc matches /usr/lib64/python2.7/__future__.py
import __future__ # precompiled from /usr/lib64/python2.7/__future__.pyc
dlopen("/usr/lib64/python2.7/lib-dynload/datetime.so", 2);
import datetime # dynamically loaded from /usr/lib64/python2.7/lib-dynload/datetime.so
# /usr/lib64/python2.7/uuid.pyc matches /usr/lib64/python2.7/uuid.py
import uuid # precompiled from /usr/lib64/python2.7/uuid.pyc
import ctypes # directory /usr/lib64/python2.7/ctypes
# /usr/lib64/python2.7/ctypes/__init__.pyc matches /usr/lib64/python2.7/ctypes/__init__.py
import ctypes # precompiled from /usr/lib64/python2.7/ctypes/__init__.pyc
dlopen("/usr/lib64/python2.7/lib-dynload/_ctypes.so", 2);
import _ctypes # dynamically loaded from /usr/lib64/python2.7/lib-dynload/_ctypes.so
# /usr/lib64/python2.7/struct.pyc matches /usr/lib64/python2.7/struct.py
import struct # precompiled from /usr/lib64/python2.7/struct.pyc
dlopen("/usr/lib64/python2.7/lib-dynload/_struct.so", 2);
import _struct # dynamically loaded from /usr/lib64/python2.7/lib-dynload/_struct.so
# /usr/lib64/python2.7/ctypes/_endian.pyc matches /usr/lib64/python2.7/ctypes/_endian.py
import ctypes._endian # precompiled from /usr/lib64/python2.7/ctypes/_endian.pyc
# /usr/lib64/python2.7/ctypes/util.pyc matches /usr/lib64/python2.7/ctypes/util.py
import ctypes.util # precompiled from /usr/lib64/python2.7/ctypes/util.pyc
# /usr/lib64/python2.7/tempfile.pyc matches /usr/lib64/python2.7/tempfile.py
import tempfile # precompiled from /usr/lib64/python2.7/tempfile.pyc
# /usr/lib64/python2.7/io.pyc matches /usr/lib64/python2.7/io.py
import io # precompiled from /usr/lib64/python2.7/io.pyc
dlopen("/usr/lib64/python2.7/lib-dynload/_io.so", 2);
import _io # dynamically loaded from /usr/lib64/python2.7/lib-dynload/_io.so
# /usr/lib64/python2.7/random.pyc matches /usr/lib64/python2.7/random.py
import random # precompiled from /usr/lib64/python2.7/random.pyc
dlopen("/usr/lib64/python2.7/lib-dynload/math.so", 2);
import math # dynamically loaded from /usr/lib64/python2.7/lib-dynload/math.so
dlopen("/usr/lib64/python2.7/lib-dynload/binascii.so", 2);
import binascii # dynamically loaded from /usr/lib64/python2.7/lib-dynload/binascii.so
# /usr/lib64/python2.7/hashlib.pyc matches /usr/lib64/python2.7/hashlib.py
import hashlib # precompiled from /usr/lib64/python2.7/hashlib.pyc
dlopen("/usr/lib64/python2.7/lib-dynload/_hashlib.so", 2);
import _hashlib # dynamically loaded from /usr/lib64/python2.7/lib-dynload/_hashlib.so
dlopen("/usr/lib64/python2.7/lib-dynload/_randommodule.so", 2);
import _random # dynamically loaded from /usr/lib64/python2.7/lib-dynload/_randommodule.so
dlopen("/usr/lib64/python2.7/lib-dynload/cStringIO.so", 2);
import cStringIO # dynamically loaded from /usr/lib64/python2.7/lib-dynload/cStringIO.so
dlopen("/usr/lib64/python2.7/lib-dynload/fcntlmodule.so", 2);
import fcntl # dynamically loaded from /usr/lib64/python2.7/lib-dynload/fcntlmodule.so
import thread # builtin
import logging # directory /usr/lib64/python2.7/logging
# /usr/lib64/python2.7/logging/__init__.pyc matches /usr/lib64/python2.7/logging/__init__.py
import logging # precompiled from /usr/lib64/python2.7/logging/__init__.pyc
dlopen("/usr/lib64/python2.7/lib-dynload/timemodule.so", 2);
import time # dynamically loaded from /usr/lib64/python2.7/lib-dynload/timemodule.so
# /usr/lib64/python2.7/weakref.pyc matches /usr/lib64/python2.7/weakref.py
import weakref # precompiled from /usr/lib64/python2.7/weakref.pyc
# /usr/lib64/python2.7/collections.pyc matches /usr/lib64/python2.7/collections.py
import collections # precompiled from /usr/lib64/python2.7/collections.pyc
dlopen("/usr/lib64/python2.7/lib-dynload/_collectionsmodule.so", 2);
import _collections # dynamically loaded from /usr/lib64/python2.7/lib-dynload/_collectionsmodule.so
dlopen("/usr/lib64/python2.7/lib-dynload/operator.so", 2);
import operator # dynamically loaded from /usr/lib64/python2.7/lib-dynload/operator.so
# /usr/lib64/python2.7/keyword.pyc matches /usr/lib64/python2.7/keyword.py
import keyword # precompiled from /usr/lib64/python2.7/keyword.pyc
# /usr/lib64/python2.7/heapq.pyc matches /usr/lib64/python2.7/heapq.py
import heapq # precompiled from /usr/lib64/python2.7/heapq.pyc
dlopen("/usr/lib64/python2.7/lib-dynload/itertoolsmodule.so", 2);
import itertools # dynamically loaded from /usr/lib64/python2.7/lib-dynload/itertoolsmodule.so
dlopen("/usr/lib64/python2.7/lib-dynload/_heapq.so", 2);
import _heapq # dynamically loaded from /usr/lib64/python2.7/lib-dynload/_heapq.so
# /usr/lib64/python2.7/threading.pyc matches /usr/lib64/python2.7/threading.py
import threading # precompiled from /usr/lib64/python2.7/threading.pyc
dlopen("/usr/lib64/python2.7/lib-dynload/syslog.so", 2);
import syslog # dynamically loaded from /usr/lib64/python2.7/lib-dynload/syslog.so
dlopen("/usr/lib64/python2.7/site-packages/systemd/_journal.so", 2);
import systemd._journal # dynamically loaded from /usr/lib64/python2.7/site-packages/systemd/_journal.so
dlopen("/usr/lib64/python2.7/site-packages/systemd/_reader.so", 2);
import systemd._reader # dynamically loaded from /usr/lib64/python2.7/site-packages/systemd/_reader.so
dlopen("/usr/lib64/python2.7/site-packages/systemd/id128.so", 2);
import systemd.id128 # dynamically loaded from /usr/lib64/python2.7/site-packages/systemd/id128.so
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: cannot import name QStyle
# clear __builtin__._
# clear sys.path
# clear sys.argv
# clear sys.ps1
# clear sys.ps2
# clear sys.exitfunc
# clear sys.exc_type
# clear sys.exc_value
# clear sys.exc_traceback
# clear sys.last_type
# clear sys.last_value
# clear sys.last_traceback
# clear sys.path_hooks
# clear sys.path_importer_cache
# clear sys.meta_path
# clear sys.flags
# clear sys.float_info
# restore sys.stdin
# restore sys.stdout
# restore sys.stderr
# cleanup __main__
# cleanup[1] random
# cleanup[1] sysconfig
# cleanup[1] systemd
# cleanup[1] struct
# cleanup[1] zipimport
# cleanup[1] operator
# cleanup[1] signal
# cleanup[1] PyQt5
# cleanup[1] encodings
# cleanup[1] math
# cleanup[1] PyQt5.QtDBus
# cleanup[1] _ctypes
# cleanup[1] itertools
# cleanup[1] systemd.journal
# cleanup[1] __future__
# cleanup[1] _collections
# cleanup[1] _heapq
# cleanup[1] binascii
# cleanup[1] sre_constants
# cleanup[1] PyQt5.Qt
# cleanup[1] _warnings
# cleanup[1] _codecs
# cleanup[1] systemd.id128
# cleanup[1] _sysconfigdata
# cleanup[1] _struct
# cleanup[1] hashlib
# cleanup[1] keyword
# cleanup[1] syslog
# cleanup[1] posix
# cleanup[1] encodings.aliases
# cleanup[1] exceptions
# cleanup[1] abrt_exception_handler
# cleanup[1] PyQt5.QtXml
# cleanup[1] _random
# cleanup[1] site
# cleanup[1] sip
# cleanup[1] PyQt5.QtXmlPatterns
# cleanup[1] _weakref
# cleanup[1] _weakrefset
# cleanup[1] systemd._reader
# cleanup[1] datetime
# cleanup[1] systemd._journal
# cleanup[1] encodings.utf_8
# cleanup[1] _hashlib
# cleanup[1] uuid
# cleanup[1] logging
# cleanup[1] traceback
# cleanup[1] weakref
# cleanup[1] time
# cleanup[1] collections
# cleanup[1] threading
# cleanup[1] cStringIO
# cleanup[1] atexit
# cleanup[1] ctypes
# cleanup[1] codecs
# cleanup[1] heapq
# cleanup[1] ctypes.util
# cleanup[1] ctypes._endian
# cleanup[1] tempfile
# cleanup[1] re
# cleanup[1] fcntl
# cleanup[1] thread
# cleanup[1] sre_compile
# cleanup[1] io
# cleanup[1] _io
# cleanup[1] abc
# cleanup[1] _sre
# cleanup[1] sre_parse
# cleanup[2] PyQt5.QtNetwork
# cleanup[2] warnings
# cleanup[2] UserDict
# cleanup[2] PyQt5.QtCore
# cleanup[2] os
# cleanup[2] posixpath
# cleanup[2] errno
# cleanup[2] os.path
# cleanup[2] copy_reg
# cleanup[2] linecache
# cleanup[2] _abcoll
# cleanup[2] genericpath
# cleanup[2] stat
# cleanup[2] types
# cleanup sys
# cleanup __builtin__
# cleanup ints: 66 unfreed ints
# cleanup floats: 31 unfreed floats

Comment 4 Iaroslav Prokopenko 2015-03-23 19:16:57 UTC
It seems your Fedora lacks for some Python's libraries and dependencies are broken for the Calibre's rpm,

For me problem was resolved by installing following packages:
qt5-qtbase-gui qt5-qtdeclarative

Please, try run:
sudo yum -y install qt5-qtbase-gui qt5-qtdeclarative

Comment 5 Edwind Richzendy Contreras Soto 2015-03-23 21:42:21 UTC
Packages installed, calibre working now.

I think the calibre rpm have a dependence lost with qt5-qtbase-gui or qt5-qtdeclarative and if you don't use KDE maybe you don't have both packages installed before install calibre.

Thank you so much laroslav

Comment 6 Rex Dieter 2015-03-23 23:24:18 UTC
calibre already has either direct or indirect dependencies on both of those:

rpm -qR calibre

includes:
libQt5Gui.so.5()(64bit)
qt5-qtwebkit

The former is includes in qt5-qtbase-gui, the latter already depends on qt5-qtdeclarative

I suspect either of you may have 3rd-party packages that are interfering with proper dependency resolution for qt5.

can either of you do:

rpm -q --whatprovides 'libQt5Gui.so.5()(64bit)'

and/or

rpm -q --whatprovides 'libQt5Gui.so.5()'

if it returns any except qt5-qtbase-gui, then we have our culprit.

Comment 7 Rex Dieter 2015-03-23 23:27:00 UTC
For example, one known bad one is:

viber

as outlined in a recent post I made about it:
https://plus.google.com/u/0/+RexDieter/posts/L8n6gEDGQpV

Comment 8 Edwind Richzendy Contreras Soto 2015-03-24 12:44:18 UTC
Sure,

[root@xaxis ~]# rpm -q --whatprovides 'libQt5Gui.so.5()(64bit)'
hipchat-2.2.1328-1.x86_64
qt5-qtbase-gui-5.4.0-2.fc21.x86_64

[root@xaxis ~]# rpm -q --whatprovides 'libQt5Gui.so.5()'
ningún paquete proporciona libQt5Gui.so.5()

ningún paquete proporciona == no package provides

Hipchat is the evil culprit!

Comment 9 Rex Dieter 2015-03-24 12:54:35 UTC
OK, I'll try to reach out to Hipchat folks with some help/constructive-criticism to make their packaging better (and less harmful).

Comment 10 Rex Dieter 2015-03-24 22:29:01 UTC
I sent a message outlining the problem to hipchat "Contact support" link from
https://help.hipchat.com/knowledgebase/topics/23214-known-issues

we'll see how they respond.

Comment 11 Iaroslav Prokopenko 2015-03-26 20:45:37 UTC
(In reply to Rex Dieter from comment #7)
> For example, one known bad one is:
> 
> viber
> 
> as outlined in a recent post I made about it:
> https://plus.google.com/u/0/+RexDieter/posts/L8n6gEDGQpV

Hi Rex,
You are right. Viber package installed in my Fedora.
More details are listed below.


Viber claims it provides library libQt5Gui.so.5()(64bit). It is not quite true. It provides only bundle copy of this lib.

[vader2@tyche ~]$ rpm -q --whatprovides 'libQt5Gui.so.5()(64bit)'
viber-4.2.2.6-2.x86_64
qt5-qtbase-gui-5.4.0-2.fc21.x86_64

Calibre has correct dependencies:
[vader2@tyche ~]$ rpm -qR calibre | grep -i qt5gui
libQt5Gui.so.5()(64bit)

And Viber provides lib which is not in a system-wide scope 
[vader2@tyche ~]$ rpm -ql viber | grep -i qt5gui
/opt/viber/libQt5Gui.so.5

So the issue is not with the calibre package but with the viber rpm.
Rex, thank you for comments

--
Iaroslav

Comment 12 Rex Dieter 2015-06-02 17:22:45 UTC

*** This bug has been marked as a duplicate of bug 1197311 ***

Comment 13 Robin Powell 2015-09-27 04:37:14 UTC
I've just hit this and I do *not* have any of the relevant packages installed, and I'm totally stumped.

rlpowell@vrici> calibre --version
Traceback (most recent call last):
  File "/bin/calibre", line 20, in <module>
    sys.exit(calibre())
  File "/usr/lib64/calibre/calibre/gui_launch.py", line 61, in calibre
    from calibre.gui2.main import main
  File "/usr/lib64/calibre/calibre/gui2/__init__.py", line 8, in <module>
    from PyQt5.Qt import (
ImportError: cannot import name QStyle
rlpowell@vrici> rpm -q --whatprovides 'libQt5Gui.so.5()(64bit)'
qt5-qtbase-gui-5.5.0-15.fc22.x86_64
rlpowell@vrici> rpm -q --whatprovides 'libQt5Gui.so.5()'
no package provides libQt5Gui.so.5()

Help??

Comment 14 Kevin Fenzi 2015-09-27 15:56:25 UTC
rpm -q python-qt5 

and 

rpm -V python-qt5 

outputs what?

Comment 15 Robin Powell 2015-09-28 01:51:20 UTC
rlpowell@vrici> rpm -q python-qt5
python-qt5-5.5-1.fc22.x86_64
rlpowell@vrici> rpm -V python-qt5
rlpowell@vrici>

Comment 16 Valent Turkovic 2015-11-09 14:56:08 UTC
Bug still present on Fedora 22:

$ rpm -q python-qt5
python-qt5-5.5-1.fc22.x86_64

$ rpm -V python-qt5
$


Note You need to log in before you can comment on or make changes to this bug.