[tlbuild] dvisvgm binary fails to link on GNU Hurd

Karl Berry karl at freefriends.org
Wed Jul 24 23:34:36 CEST 2019

Hi Hilmar,

    ... -lfreetype -lz -lgs
    /usr/bin/ld: libdvisvgm.a(DLLoader.o): undefined reference to symbol

Martin can answer better (cc-ing), but I am under the impression that
dlopen/dlclose are not intended to be used when -lgs was linked. At any
rate, as far as I can see that's not a situation that either the
upstream or the TL configure.ac handles.

We could hack various things in configure, but I think the first
question is why/where dlclose (and not dlopen?) is being called to
create the link error?

    As the configure.ac is heavily patched by the TL people 

True. I can't see how a non-native build of dvisvgm from the TL tree
works at all, at least without essentially patching the configure.ac
back to the original. (Is that what you are doing?) For this reason, I
strongly recommend that all distros use the original dvisvgm source
releases and --disable-dvisvgm when building the TL tree.

For example, the TL dvisvgm/configure.ac omits all the pkg-config stuff,
and forces using the bundled libraries. It also disables using libgs and
always uses libdl. That's what the native TL binaries need in order to
be remotely portable, but (as I understand it) it's the opposite of what
you want. Unfortunately it is not simple to put in conditionals to keep
the non-native behavior the same. --best, karl.

More information about the tlbuild mailing list