Opened 10 months ago
Closed 10 months ago
#69182 closed defect (fixed)
texlive-bin: PANIC: unprotected error in call to Lua API (zlib library version does not match - header: 1.3, library: 1.3.1)
Reported by: | MarieVdS (Marie Van de Sande) | Owned by: | drkp (Dan Ports) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | eric-j-ason | |
Port: | texlive-bin |
Description
I am on MacOS Sanoma. When trying to install texlive-fonts-extra, the log flags the following issue:
:info:activate PANIC: unprotected error in call to Lua API (zlib library version does not match - header: 1.3, library: 1.3.1)
This was already flagged by matplotlib. When trying to plot something, it tells me
PANIC: unprotected error in call to Lua API (zlib library version does not match - header: 1.3, library: 1.3.1)
followed by the error:
Traceback (most recent call last): File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backend_bases.py", line 1226, in _on_timer ret = func(*args, **kwargs) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backends/backend_macosx.py", line 68, in callback_func callback() File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backends/backend_macosx.py", line 88, in _draw_idle self.draw() File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backends/backend_macosx.py", line 50, in draw super().draw() File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py", line 400, in draw self.figure.draw(self.renderer) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/artist.py", line 95, in draw_wrapper result = draw(artist, renderer, *args, **kwargs) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/artist.py", line 72, in draw_wrapper return draw(artist, renderer) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/figure.py", line 3175, in draw mimage._draw_list_compositing_images( File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/image.py", line 131, in _draw_list_compositing_images a.draw(renderer) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/artist.py", line 72, in draw_wrapper return draw(artist, renderer) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/axes/_base.py", line 3064, in draw mimage._draw_list_compositing_images( File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/image.py", line 131, in _draw_list_compositing_images a.draw(renderer) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/artist.py", line 72, in draw_wrapper return draw(artist, renderer) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/axis.py", line 1389, in draw tlb1, tlb2 = self._get_ticklabel_bboxes(ticks_to_draw, renderer) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/axis.py", line 1316, in _get_ticklabel_bboxes return ([tick.label1.get_window_extent(renderer) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/axis.py", line 1316, in <listcomp> return ([tick.label1.get_window_extent(renderer) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/text.py", line 959, in get_window_extent bbox, info, descent = self._get_layout(self._renderer) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/text.py", line 378, in _get_layout _, lp_h, lp_d = _get_text_metrics_with_cache( File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/text.py", line 97, in _get_text_metrics_with_cache return _get_text_metrics_with_cache_impl( File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/text.py", line 105, in _get_text_metrics_with_cache_impl return renderer_ref().get_text_width_height_descent(text, fontprop, ismath) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py", line 226, in get_text_width_height_descent return super().get_text_width_height_descent(s, prop, ismath) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/backend_bases.py", line 645, in get_text_width_height_descent return self.get_texmanager().get_text_width_height_descent( File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/texmanager.py", line 371, in get_text_width_height_descent page, = dvi File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/dviread.py", line 296, in __iter__ while self._read(): File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/dviread.py", line 375, in _read self._dtable[byte](self, byte) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/dviread.py", line 227, in wrapper return method(self, *[f(self, byte-min) for f in get_args]) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/dviread.py", line 526, in _fnt_def self._fnt_def_real(k, c, s, d, a, l) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/dviread.py", line 531, in _fnt_def_real tfm = _tfmfile(fontname) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/dviread.py", line 1132, in _fontfile return cls(_find_tex_file(texname + suffix)) File "/opt/local/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/matplotlib/dviread.py", line 1110, in _find_tex_file raise FileNotFoundError( FileNotFoundError: Matplotlib's TeX implementation searched for a file named 'cmss10.tfm' in your texmf tree, but could not find it
Change History (10)
comment:1 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to drkp |
---|---|
Port: | texlive-luatex added; zlib removed |
Priority: | High → Normal |
Status: | new → assigned |
Summary: | zlib 1.3.1 not compatible with Lua API (errors in texlive and matplotlib) → texlive-luatex: PANIC: unprotected error in call to Lua API (zlib library version does not match - header: 1.3, library: 1.3.1) |
comment:3 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
Of course: it would happen anytime the zlib port is updated.
The bug was reported to luatex in 2012 along with a patch to remove the zlib version check:
https://mailman.ntg.nl/archives/list/dev-luatex@ntg.nl/message/VXCOGVXOHBWMNCCBQCGNIUIHOBTVHSHN/
comment:4 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
We could at least apply this upstream patch to relax the check:
https://github.com/TeX-Live/texlive-source/commit/7fb47babef2c947ad937d9e8e36842122459342c
comment:5 Changed 10 months ago by MarieVdS (Marie Van de Sande)
Thank you for your reply! The matplotlib error has the same origin - luatex being too cautious.
Can I apply this luatex patch myself or does the texlive distribution need to be upgraded first? Although I apparently rely heavily on this for work, I am unsure on how to apply such a patch and rebuild the package myself.
comment:6 Changed 10 months ago by eric-j-ason
Cc: | eric-j-ason added |
---|
comment:7 Changed 10 months ago by ryandesign (Ryan Carsten Schmidt)
Port: | texlive-bin added; texlive-luatex removed |
---|---|
Summary: | texlive-luatex: PANIC: unprotected error in call to Lua API (zlib library version does not match - header: 1.3, library: 1.3.1) → texlive-bin: PANIC: unprotected error in call to Lua API (zlib library version does not match - header: 1.3, library: 1.3.1) |
Has duplicates #69183, #69184, #69185.
I forgot about all the symlinks in texlive; the port that provides the real binary is texlive-bin.
You can apply patches to ports manually; the MacPorts documentation shows how. Let's wait a moment for Dan to react to this ticket. If he does not respond for 72 hours we can add the patch without his input.
comment:8 Changed 10 months ago by drkp (Dan Ports)
Status: | assigned → accepted |
---|
I thought we already fixed this; will apply the patch shortly.
comment:9 Changed 10 months ago by drkp (Dan Ports)
In fact, let's just go ahead and remove this version check entirely.
comment:10 Changed 10 months ago by drkp (Dan Ports)
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
The problem has nothing to do with the zlib port. The zlib port was merely recently updated from 1.3 to 1.3.1. That's a normal thing to do.
Looks like the message is coming from texlive-luatex:
It's being overly cautious and is reporting that it was built with the zlib 1.3 header but the version of the zlib library is now 1.3.1. This is not a problem but for some reason texlive-luatex thinks it is.
The solution is to fix texlive-luatex so that it does not consider this to be a problem and increase its revision to rebuild it. If that's not possible or desirable for some reason, the solution is just to increase its revision to rebuild it, and add a comment to the zlib port to remind its maintainer to do so every time zlib is updated to a new version.
I'm not sure whether the matplotlib
FileNotFoundError
you reported is caused by the texlive-luatex issue or is separate.