Skip to content
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

luxtex doing interesting things with zlib #1757

Open
gdevenyi opened this issue Jul 4, 2024 · 4 comments
Open

luxtex doing interesting things with zlib #1757

gdevenyi opened this issue Jul 4, 2024 · 4 comments

Comments

@gdevenyi
Copy link
Contributor

gdevenyi commented Jul 4, 2024

I've been running zlib-ng as a system wide install, in an /opt prefix, and adding the path to ld.so.conf so that it is loaded before the system zlib.

This has been going very well, however, I recently tried to install texlive-full (Ubuntu 22.04) and the install fails during the post-install processing:

fmtutil: running `luajithbtex -ini   -jobname=luajithbtex -progname=luajithbtex luatex.ini' ...
PANIC: unprotected error in call to Lua API (zlib library version does not match - header: 1.2.11, library: 1.3.1.zlib-ng)

I know this is not a bug with zlib-ng, but rather some potentially dangerous/non-standard things happening in this code.

Just a heads-up

@mtl1979
Copy link
Collaborator

mtl1979 commented Jul 4, 2024

Usually mixing zlib versions has been relatively safe, as long as the library is newer than the headers used, but after 1.2.11 there has been quite a lot of changes that can cause unexpected behaviour.

As said, zlib 1.2.11 is quite old, so recompiling everything from source packages (instead of using binary packages) might be best option currently.

I've had some experience with mixing and matching dependencies and source packages from different "eras" and generally they work with small additional patching.

@nmoinvaz
Copy link
Member

nmoinvaz commented Jul 4, 2024

zlib library version does not match - header: 1.2.11

This error makes it seem like it would barf at any version that is not 1.2.11, including newer 1.2.13.

@gdevenyi
Copy link
Contributor Author

gdevenyi commented Jul 5, 2024

I'm installing the latest texlive (binary release) in a prefix which is potentially built against a newer zlib, we'll see how it goes.

@mtl1979
Copy link
Collaborator

mtl1979 commented Jul 7, 2024

zlib library version does not match - header: 1.2.11

This error makes it seem like it would barf at any version that is not 1.2.11, including newer 1.2.13.

Sadly this is the future as a lot of projects don't bump up major version number when there is a breaking change, so any program or library that use the project as dependency must require exact version instead of comparing just the major (and possibly minor) version.

In ideal world, minor version would be bumped when a new function is added to API/ABI and major version would be bumped if function signature is changed, or function is deprecated and removed from API/ABI, or class or struct is modified beyond adding new function or member variable to end of public section.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants