04-29-2021, 02:48 PM | #1 |
Addict
Posts: 235
Karma: 100000
Join Date: Oct 2012
Device: Calibre
|
Unable to find file "QtWidgets/QtWidgetsmod.sip"
Trying to build Calibre 5.16.1, but I get:
Code:
* * Running build * Building 24 extensions SIPing 3 files... /usr/bin/python3 -c import os; os.chdir('/tmp/SBo/calibre-5.16.1/build/pyqt/pictureflow'); from sipbuild.tools.build import main; main(); --verbose --no-make --qmake /usr/bin/qmake-qt5 Querying qmake about your Qt installation... /usr/bin/qmake-qt5 -query These bindings will be built: pictureflow. Generating the pictureflow bindings... -c: Unable to find file "QtWidgets/QtWidgetsmod.sip" QMake version 3.1 Using Qt version 5.15.2 in /usr/lib64 |
04-29-2021, 09:11 PM | #2 |
creator of calibre
Posts: 43,857
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
You need pyqt5 if you are using one of those silly distros that split packages into dev and non dev versions then the -dev version of it
|
Advert | |
|
06-23-2021, 11:39 AM | #3 |
Enthusiast
Posts: 28
Karma: 10
Join Date: Jun 2008
Device: Sony PRS-500
|
I'm using a different silly distro (Gentoo) and it still fails with this error despite the existence of /usr/share/sip/PyQt5/QtWidgets/QtWidgetsmod.sip.
|
07-28-2021, 02:05 AM | #4 |
Junior Member
Posts: 3
Karma: 10
Join Date: Jul 2021
Device: Kindle
|
Having this exact issue with Gentoo as well. QtWidgetsmod.sip is located in the same place:
/usr/share/sip/PyQt5/QtWidgets/QtWidgetsmod.sip Where is the calibre build expecting it to be? Last edited by snappahead; 07-28-2021 at 02:08 AM. |
07-28-2021, 02:48 AM | #5 |
creator of calibre
Posts: 43,857
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
The calibre build doesnt expect it to be anywhere, that would be sip from the pyqt package. You will need to figure out just how gentoo has butchered their pyqt packaging and workaround it.
|
Advert | |
|
07-28-2021, 04:44 AM | #6 |
Junior Member
Posts: 3
Karma: 10
Join Date: Jul 2021
Device: Kindle
|
Let me rephrase the question, so perhaps you can provide a more useful answer.
Where is the file located on your system when you successfully build calibre? |
07-28-2021, 06:26 AM | #7 |
creator of calibre
Posts: 43,857
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
You seem to think the path is hardcoded somewhere, calibre is built on multiple systems. But sure, here you go:
/usr/share/sip/PyQt5/QtWidgets/QtWidgetsmod.sip and /usr/lib/python3.9/site-packages/PyQt5/bindings/QtWidgets/QtWidgetsmod.sip |
07-28-2021, 04:06 PM | #8 |
Junior Member
Posts: 3
Karma: 10
Join Date: Jul 2021
Device: Kindle
|
On the contrary, I'm trying to discover the differences there are, in an attempt to track down why the build isn't continuing.
Gentoo does not have the python3.*/site-packages/PyQt5/bindings directory created - an initial test of symlinking the missing *.sip files to that path does get the build to progress beyond the error reported. It then fails at: Querying qmake about your Qt installation... /usr/lib64/qt5/bin/qmake -query These bindings will be built: pictureflow. Generating the pictureflow bindings... -c: Q_PID is undefined Will keep investigating and see what I can find - that is - if it is of interest. |
07-28-2021, 11:36 PM | #9 |
creator of calibre
Posts: 43,857
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
Doesn't gentoo have a calibre ebuild? Just read that to learn whatever it is you need to do to get it to build with gentoo's sip/PyQt package.
|
07-30-2021, 12:45 AM | #10 |
Enthusiast
Posts: 28
Karma: 10
Join Date: Jun 2008
Device: Sony PRS-500
|
It's the ebuild that's failing. Since other people have reported this and there's no clear resolution, it made sense to seek advice from you or the person who reported the problem. No need to be prickly.
|
07-30-2021, 02:00 AM | #11 |
creator of calibre
Posts: 43,857
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
This is an issue with sip-build as produced by the gentoo package. Report it on the gentoo bug tracker.
|
07-31-2021, 04:35 PM | #12 |
Junior Member
Posts: 2
Karma: 10
Join Date: Jul 2021
Device: Kindle
|
It has been reported on the gentoo bug tracker, this is people trying to work out a resolution, whilst calibre is a decent piece of software, there's no need to be rude to people trying to figure out a solution to a problem.
|
08-01-2021, 12:05 AM | #13 | |||
creator of calibre
Posts: 43,857
Karma: 22666666
Join Date: Oct 2006
Location: Mumbai, India
Device: Various
|
Quote:
This is a bug in the distro package. One in a LONG line of bugs in distro packages. ALL of which end up wasting my time. It needs to be fixed in the distro. As I have posted on the calibre linux page for decades, in big, bold, red colored text Quote:
As for this issue, despite the fact that I absolutely loathe squandering my time on distro created problems, I pointed out the problem days ago: Quote:
|
|||
08-01-2021, 04:45 AM | #14 |
Ex-Helpdesk Junkie
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
*puts on distro packaging hat*
I would suggest that Gentoo take a look at how Arch Linux packages sip and PyQt5. I took a hasty look at the ebuilds and a massive red flag to me, is that Gentoo appears to be using sip4 and configure.py in order to build modern versions of PyQt5, which is IIRC entirely unsupported by PyQt5 and anyways involves using sip4 so uhhhhhhhhhhhh. Can't possibly have a problem with sip-build as produced by the gentoo package, when your current technology stack doesn't use sip-build. Calibre does use sip5, even in the ebuilds, so they're actually mixing sip4 and sip5 in the technology stack. This is technically not a modification of anything, and there is nothing to undo. It is, however, butchered. I recommend the Gentoo developers seek guidance on the PyQt5 mailing list regarding the correct way to fundamentally package the technology stack, rather than deferring bugs to users and then again to arbitrary downstream projects that use PyQt5 as an ordinary consumer rather than somehow being the go-to experts in packaging PyQt5. Failing that, they could defer bugs to users, and those users could seek guidance on the PyQt5 mailing list. Failing that, either the Gentoo maintainers or the users could read the PyQt5 documentation (either the website documentation or the README file in the source tarball), which instructs users installing from source to use sip-install and does not mention configure.py at all. Any or all of these attempts at seeking resolution are both:
than interrogating the developer of one software project, about why a different software project isn't working. After you've already been told by that developer, that the problem lies in the different software project. Look, I could understand asking here in the first place during initial information gathering, but after having been told where the root of the problem is, there is simply no call to continue to reply with "Let me rephrase the question, so perhaps you can provide a more useful answer." or " it made sense to seek advice from you". The lot of you have sought advice, received it, and are roundly ignoring it. It's not Kovid's job to know, figure out, or explain why the PyQt5 installation on Gentoo is broken. Honestly, it's not my job either, but at least it's adjacent to my job even if my distro actually works fine. Last edited by eschwartz; 08-01-2021 at 11:43 AM. |
08-01-2021, 04:55 AM | #15 |
Ex-Helpdesk Junkie
Posts: 19,422
Karma: 85397180
Join Date: Nov 2012
Location: The Beaten Path, USA, Roundworld, This Side of Infinity
Device: Kindle Touch fw5.3.7 (Wifi only)
|
Note that Gentoo also upgraded their ebuilds to stop patching calibre with a revert of commit "Move to SIP v4" to go back to the sip v4 setup (which worked, because everything used sip v4). But they didn't add PyQt-builder as a build dependency, even though they added sip-5, and even though sip-5 uses PyQt-builder as a plugin.
I can only assume the person who reported that the change worked, had additional packages installed locally, and thus didn't notice the build dependency (which is, however, listed in calibre's list of sources...) Sorry, my bad -- sip-5 is not added, sip 4 is still a pinned dependency, but if you happen to have sip-5 installed as an additional slot then the patch is no longer applied. Does Gentoo not have mechanisms for building packages in isolated containers that don't have leaky implied build-deps due to other applications being coincidentally installed? Last edited by eschwartz; 08-01-2021 at 11:49 AM. |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Apple Mac now have a file extension ".iba" for the program "iBooks Author." | brucehobson | Calibre | 3 | 09-15-2014 07:46 PM |
Kindlet gives "Unable to find class Main" | Sothh | Kindle Developer's Corner | 4 | 06-27-2013 08:01 PM |
Custom column: "Updated date", when adding new "versions" of the same file? | enriquep | Library Management | 16 | 11-03-2011 10:46 AM |
"[Error 2] The system cannot find the file specified: u'E:\\'" | Nyssa | Calibre | 3 | 03-17-2011 08:08 PM |