Menu

#132 GifQuantizeBuffer function not defined in libgif.so in giflib-5.1.9

v1.0_(example)
wont-fix
nobody
None
1
2025-10-23
2019-04-03
Arfrever
No

GifQuantizeBuffer function is not defined in libgif.so in giflib-5.1.9, but is still declared in installed gif_lib.h header and is still used by some other software (e.g. mplayer).

Original bug: https://bugs.gentoo.org/682198

Full comparison of lists of defined symbols between giflib-5.1.8 and giflib-5.1.9:

# diff -u <(nm -C -D --defined-only --with-symbol-versions giflib-5.1.8-r1/image/usr/lib64/libgif.so | sed -e "s/^[0-9a-f]\+ //") <(nm -C -D --defined-only --with-symbol-versions giflib-5.1.9/image/usr/lib64/libgif.so | sed -e "s/^[0-9a-f]\+ //")
--- /dev/fd/63
+++ /dev/fd/62
@@ -38,9 +38,6 @@
 T EGifSetGifVersion@@Base
 T EGifSpew@@Base
 T FreeLastSavedImage@@Base
-T GAGetArgs@@Base
-T GAPrintErrMsg@@Base
-T GAPrintHowTo@@Base
 T GifAddExtensionBlock@@Base
 T GifApplyTranslation@@Base
 R GifAsciiTable8x8@@Base
@@ -55,11 +52,7 @@
 T GifFreeSavedImages@@Base
 T GifMakeMapObject@@Base
 T GifMakeSavedImage@@Base
-B GifNoisyPrint@@Base
-T GifQprintf@@Base
-T GifQuantizeBuffer@@Base
 T GifUnionColorMap@@Base
-T PrintGifError@@Base
 T _ClearHashTable@@Base
 T _ExistsHashTable@@Base
 T _InitHashTable@@Base

6 other deleted symbols are not declared in gif_lib.h, so they probably do not need to be restored.

Discussion

  • Eric S. Raymond

    Eric S. Raymond - 2019-06-23
    • status: open --> wont-fix
     
  • Eric S. Raymond

    Eric S. Raymond - 2019-06-23

    The move of GifQuantizeBuffer out of the core library was intentional, to reduce library size and attack surface. It was never part of the documented API.

    I have followed through by moving that declaration to getarg.h, which is where the other util library functions are documented. I will add a notice to the upcomonmg poin release that applications requiring this function should link lutil or make their own copy of the code.

     
  • Andreas Metzler

    Andreas Metzler - 2019-06-23

    If you are breaking the ABI ("Sorry folks, application X will not run anymore. Please rebuild and additionally link against another library") you'll need to bump the soname.

     
  • Polynomial-C

    Polynomial-C - 2019-06-24

    Well, seems like 5.2.0 release even went a step further and no longer adds any .so version at all since commit 72169c45680d028c6465cd11abf6ee5aa4af86f4

     

Log in to post a comment.

MongoDB Logo MongoDB