Conversation
|
pymupdf import fails with Help is appreciated! |
There was a problem hiding this comment.
You need env.USE_SONAME = "no", the python wrap script doesn't get the memo otherwise and that is (indirectly) causing the pymupdf imports to fail
There's also pymupdf test failures, but I don't have time to dig further right now
There was a problem hiding this comment.
Do you have an idea why https://github.com/ArtifexSoftware/mupdf/blob/1.24.0/Makefile#L644 doesn't have an effect? The non-version shared library is supposed to be created even without setting USE_SONAME=no.
There was a problem hiding this comment.
The makefile gets the memo, but this snippet does not: https://github.com/ArtifexSoftware/mupdf/blob/1.24.0/scripts/wrap/__main__.py#L1165-L1166
If you don't use the env var, then the libmupdfcpp.so file gets a SONAME that does not exist because the makefile does not link it
There was a problem hiding this comment.
(it sets soname via linker arg here: https://github.com/ArtifexSoftware/mupdf/blob/1.24.0/scripts/wrap/__main__.py#L1716 and pymupdf uses soname over filename here: https://github.com/pymupdf/PyMuPDF/blob/1.24.0/setup.py#L638 and https://github.com/pymupdf/PyMuPDF/blob/1.24.0/pipcl.py#L2267)
There was a problem hiding this comment.
@lilyinstarlight Let me express myself more clearly. If I don't set USE_SONAME=no I expect there to be a versioned shared library and a non-versioned link to it, because of the makefile snippet I shared above. However that link is never created. I don't understand why.
There was a problem hiding this comment.
@lilyinstarlight Let me express myself more clearly. If I don't set
USE_SONAME=noI expect there to be a versioned shared library and a non-versioned link to it, because of the makefile snippet I shared above. However that link is never created. I don't understand why.
Ohhh, yeah that's because it's not added in the postInstall, apologies for misunderstanding 😅
There was a problem hiding this comment.
But shouldn't https://github.com/ArtifexSoftware/mupdf/blob/1.24.0/Makefile#L644 already do that?
There was a problem hiding this comment.
We don't use the makefile to install the cpp lib because make target dependencies try to rebuild everything as not-shared iirc
There was a problem hiding this comment.
I'm talking about libmupdf.so, not libmupdfcpp.so.
There was a problem hiding this comment.
Ah, I really shouldn't be computering when I'm so tired... the makefile doesn't seem to use the install-shared-c target when doing make install and the install-libs target doesn't create the link by itself: https://github.com/ArtifexSoftware/mupdf/blob/1.24.0/Makefile#L478
|
Are you able to build |
|
FYI #332385 |
|
Fixed by #332385. |
Description of changes
Changelog: https://git.ghostscript.com/?p=mupdf.git;a=blob_plain;f=CHANGES;hb=1.24.0
cc #298509
fixes #298551
closes #274882
closes #290651
Things done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)cc @stuebinm
Add a 👍 reaction to pull requests you find important.