Failure updating TL2025 after its installation on macOS legacy
Bruno Voisin
bvoisin at icloud.com
Fri Apr 4 07:20:27 CEST 2025
> Angelo Graziosi wrote:
>
> As every year, I have installed the new version of TL from scratch on my
> MBP with High Sierra (10.13.6).
>
> Today I tried to update it but there were ERRORS. See the attached log.
>
> [...]
>
> $ tlmgr --repository /LocalApps/tlrepo/tlnet update --all
> tlmgr: package repository /LocalApps/tlrepo/tlnet (verified)
You seem to be running a local TeX Live repository. Given that worked previously, I imagine that's not the cause of the error.
> fmtutil: running `luajithbtex -ini -jobname=luajithbtex -progname=luajithbtex luatex.ini' ...
> dyld: Symbol not found: ___emutls_get_address
> Referenced from: /LocalApps/texlive/bin/x86_64-darwinlegacy/luajithbtex
> Expected in: /usr/lib/libc++.1.dylib
> in /LocalApps/texlive/bin/x86_64-darwinlegacy/luajithbtex
> sh: line 1: 1103 Abort trap: 6 luajithbtex -ini -jobname=luajithbtex -progname=luajithbtex luatex.ini < /dev/null
> fmtutil [ERROR]: running `luajithbtex -ini -jobname=luajithbtex -progname=luajithbtex luatex.ini </dev/null' return status: 134
There seems to be something wrong with the luajithbtex binary, which calls a symbol that isn't found in the OS libc++.
There are brief mentions of this issue on the web, like
https://stackoverflow.com/a/7885307
which says, regarding ___emutls_get_address,
"This symbol is part of TLS (thread-local storage) emulation by gcc for Mac Os X"
and quotes
"Using thread local storage (e.g. OpenMP ThreadPrivate variables) on Darwin requires manually linking to TLS emutls, via either -lgcc_s.so.1 or -lgcc_eh"
This is quite old (2011), older than 10.13 High Sierra (2017). But, according to <https://www.tug.org/mactex/SupportedSystems.html>, the x86_64-darwinlegacy binaries are built on 10.6 Snow Leopard (2009). So this may be the issue.
Why this would appear only now, I've no idea. There are plenty of references to TLS in the TeX Live sources. Maybe something changed somewhere, in one of the libs called by luajithbtex, one of the configure scripts.
There's something else, but I've no access to a High Sierra machine to check, and this is way above my head anyway: libc++ from llvm (on High Sierra on which luajithbtex is run) vs libstdc++ from gcc (on Snow Leopard on which luajithbtex is built).
On Snow Leopard, only libstdc++ was present. libc++ became available later in 10.7 Lion (2011), and it became the default with 10.8 Mountain Lion (2012).
This later remark is probably just noise: things worked previously, so the problem (if any) must have been solved ages ago.
Maybe this is something for the tlbuild list?
Bruno Voisin
More information about the tex-live
mailing list.