Bug#1022714: dvisvgm: fails to build with Ghostscript 10: undefined reference to `gs_error_names'
On Tue, Oct 25, 2022 at 11:16:40AM +0200, Hilmar Preuße wrote:
> Control: tags -1 + help
>
> Am 24.10.2022 um 14:57 teilte Jonas Smedegaard mit:
>
> Hi,
>
> > The dvisvgm package fails to build from source when linking against
> > Ghostscript 10:
> >
> > libtool: link: g++ -Wall -Wnon-virtual-dtor -I../libs/clipper -I../libs/variant/include -I/usr/include/freetype2 -I/usr/include/libpng16 -g -O2 -ffile-prefix-map=/build/dvisvgm-2.14=. -fstack-protector-strong -Wformat -Werror=format-security -Wno-mismatched-tags -Wl,-z -Wl,relro -o dvisvgm dvisvgm.o ./.libs/libdvisvgm.a ../libs/clipper/libclipper.a -lfreetype ../libs/ff-woff/libfontforge.a -lwoff2enc -lbrotlienc -lcrypto -lz -lxxhash -lpotrace -lgs -lkpathsea
> > /usr/bin/ld: ./.libs/libdvisvgm.a(Ghostscript.o): in function `Ghostscript::error_name(int)':
> > ./src/Ghostscript.cpp:382: undefined reference to `gs_error_names'
> >
>
> > It seems to me that dvisvgm attempts to extract private information
> > from the libgs library, which is no longer provided since release 10
> > of Ghostscript.
> >
>
> Upstream has a commit for this:
>
> https://github.com/mgieseki/dvisvgm/commit/9bf81fd0b6e7876e5079e917ed7e12163b9e7f7f
>
> The commit message is: "dropped usage of gs_error_names() because it's no
> longer accessible as of GS 10.0.0"
>
> I can confirm that dvisvgm builds again, after applying the patch. I'm not a
> C programmer, but the patch looks harmless to me. Could anybody confirm?
In general, trusting what upstream has already applied is a good default
(and you will usually anyway get this in the next upstream version).
> Hilmar
cu
Adrian
Reply to: