-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Unbreak all the things ;o) #10687
Unbreak all the things ;o) #10687
Conversation
I'm surprised the CI here didn't balk at the lack of that library. We don't explicitly test WebP but we do test MuPDF. And it's not like we use WebP at all… do we? |
Nope, we don't, not actively. It failed dependency resolving when loading CRe because it has a DT_NEEDED on the webp stuff; not quite sure why that doesn't fail on CIs. (Probably the same reason it didn't fail on the emu: it looks up the system's instead?). |
Hm, that's still surprising. I start on history, but perhaps some cover wasn't generated yet. In any case crengine is tested too, same difference.
On my system, sure, whatever, but not on the Docker image. |
I take that back actually. My system has 0.6.1 and 1.2.4. Not 1.3.x.
|
D'oh, wrong system. I have three I regularly use. Ignore the above. ;-) |
Hm, no problem on this system either though. If it's getting libwebp itself from the system that might be slightly bothersome. |
I don't recall how/if we set an LD_LIBRARY_PATH for the CI runs (and/or how the DT_RPATH are set in the binaries), but, yeah, that might be a possibility. |
But I repeat, the CI doesn't have a libwebp other than the one it just built. |
Oh. New idea, then: Shitty libtool build-time rpaths making it to the final binaries, meaning they'll go looking in the build directory for the deps (and, well, find it since we don't clean, I think)? |
That sounds more plausible, still weird & unexpected though. |
You might need to update the mac ci script. See f588edd |
Yup!
That reminds me that we probably need a fancy $ORIGIN rpath in there to fool-proof this... |
I'm not sure if I should do anything to any Docker images this month (or at least this week) so as not to interfere with the big Android upgrade, but could there also be a chance it's an issue fixed in newer libtool? I had intended to do some more work on 18.04 → 20.04 in July 2023 since 18.04 is officially EOL now. |
Oh, no, it's been like this forever, libtool is the worst ;o). One very quick way to confirm that is to use the amazing slibtool to build webp instead:
vs.
I'm not terribly inclined to hack around this now, given that this will be a non-issue with meson ;). |
(The missing DT_NEEDED on libsharpyuv is perhaps a prime example of the fact that slibtool isn't a magical cure-all, though ;p) |
Did you mean "it's still like this"? That it's been that way forever doesn't really address what I said. ;-P |
Supposedly, things have gotten better since 1.5.2 (c.f., https://wiki.debian.org/RpathIssue), but that's pretty damn old by now, and I've always seen libtool do this, except when drastic measures are taken (e.g., Portage patches libtool at runtime before each libtoolize run to murder that insanity, among other things). So, no, I don't think you have anything to worry about it, libtool's just being libtool ;). (FWIW, In this specific case, I suspect the buildsystem is explicitly asking for that, for some... mysterious reason). |
Correction: I must have been doing it wrong that time, I'm getting proper DT_NEEDED entries with slibtool now (with And its output is actually useful! All hail slibtool. |
koreader/koreader-base#1634
This change is