Created attachment 720372 [details] emerge --info Hi, I tried to install app-text/calibre and during building I got this error: >Unable to import 'pyqtbuild': No module named 'pyqtbuild' After I installed dev-python/PyQt-builder-1.10.1-r1 I got this error: >Unable to find file "QtWidgets/QtWidgetsmod.sip" But I have this file: >/usr/share/sip/PyQt5/QtWidgets/QtWidgetsmod.sip I think there are some dependencies missing somewhere.
Created attachment 720375 [details] build.log without PyQt-builder
Created attachment 720378 [details] build.log with PyQt-builder
I do have exactly the same issue. The file QtWidgetsmod.sip is present in th folder /usr/share/sip/PyQt5/QtWidgets/ and the error is reported in the build of calibre.
I have the same problems. Moreover, the previously build calibre doesn't run anymore, because of bug #800233. Looking into the build logs there of people being able to rebuild calibre, I noticed that a certain SIP patch is pulled in for them that is not for me. Looking at the ebuild, I saw that the patch is only applied when >=dev-python/sip-5 is not installed (calibre-5.16.1.ebuild:128). Well, I do have dev-python/sip:5 installed, so the patch is not applied and building fails. When I manually pull in the patch into /etc/portage/patches/ (and also pull in the zeroconf patch from #800233), calibre builds and runs for me again. I have no idea what that means, what SIP even is, etc. But it might provide a lead for someone who does have a clue.
(In reply to Sven Hesse from comment #5) > (calibre-5.16.1.ebuild:128) > > When I manually pull in the patch into /etc/portage/patches/ (and also pull > in the zeroconf patch from #800233), calibre builds and runs for me again. Thanks for that, Sven! I too needed to use calibre-5.16.0-SIP-v4.patch for the build to find QtWidgetsmod.sip with app-text/calibre-5.16.1-r1 – zeroconf at least is already handled there. This was with dev-python/PyQt5-sip-12.9.0, dev-python/sip-4.19.25-r1:0 and dev-python/sip-5.5.0-r2:5 installed. /usr/share/sip/PyQt5/QtWidgets/QtWidgetsmod.sip itself comes from dev-python/PyQt5-5.15.4-r1.
What is the exact fix? Could you post instructions?
mkdir /etc/portage/patches/app-text/calibre-5.16.1/ cp /usr/portage/distfiles/calibre-5.16.0-SIP-v4.patch.xz /etc/portage/patches/app-text/calibre-5.16.1/ xz -d /etc/portage/patches/app-text/calibre-5.16.1/calibre-5.16.0-SIP-v4.patch.xz And then emerging calibre works.
The problem seems to be when one has the two slots of dev-python/sip (0 and 5) installed.... A workaround for app-text/calibre-5.16.1-r1 is to remove all dev-python/sip then emerge app-text/calibre-5.16.1-r1 (it will pull dev-python/sip:0) and finally to reinstall dev-python/sip:5... I.e. : 1. emerge -C dev-python/sip 2. emerge -av =app-text/calibre-5.16.1-r1 3. emerge -av dev-python/sip:5 That fixed the problem for me.
(In reply to PhobosK from comment #9) > The problem seems to be when one has the two slots of dev-python/sip (0 and > 5) installed.... > > A workaround for app-text/calibre-5.16.1-r1 is to remove all dev-python/sip > then emerge app-text/calibre-5.16.1-r1 (it will pull dev-python/sip:0) and > finally to reinstall dev-python/sip:5... > I.e. : > > 1. emerge -C dev-python/sip > 2. emerge -av =app-text/calibre-5.16.1-r1 > 3. emerge -av dev-python/sip:5 > > That fixed the problem for me. This worked for me too. I don't know how Portage would enforce this in an automated way.
This was fixed the same way bug 793986 was, so I'm going to call it fundamentally a duplicate. Currently packaged versions of calibre consistently use (and depend on) pyqt-builder. *** This bug has been marked as a duplicate of bug 793986 ***