Package: libglut3.12 Version: 3.4.0-1build1 Dear Maintainers,
after updating the Glut package, all programs depending on libglut.so.3 fail. The former package freeglut3 (2.8.1-6) provided - a shared library /usr/lib/x86_64-linux-gnu/libglut.so.3.9.0 with an internal SONAME "libglut.so.3" - a symlink /usr/lib/x86_64-linux-gnu/libglut.so.3 pointing to that library The current package libglut3.12 (3.4.0-1) now provides - a shared library /usr/lib/x86_64-linux-gnu/libglut.so.3.12.0 with an internal SONAME "libglut.so.3.12" - a symlink /usr/lib/x86_64-linux-gnu/libglut.so.3.12 pointing to that library. The SONAME change from MAJOR version number 3 to MAJOR plus MINOR version number 3.12 is documented in the Debian Patch https://sources.debian.org/src/freeglut/3.4.0- 1/debian/patches/20_update_soversion.cmake/. The upstream source https://github.com/freeglut/freeglut/blob/master/CMakeLists.txt is not affected and handles the SONAME convention correct (only MAJOR version). # Consequences 1. Every program depending on libglut.so.3 will now fail after updating the package because the new package provides no symlink /usr/lib/x86_64-linux-gnu/libglut.so.3 pointing to /usr/lib/x86_64-linux-gnu/libglut.so.3.12.0 any more. 2: The new SONAME "libglut.so.3.12" breaks ABI compatibility and does not follow the Naming Convention for Shared Libraries: https://www.debian.org/doc/debian-policy/ch-sharedlibs.html. Shared libraries should contain a SONAME record with MAJOR version numbers only, otherwise with every single update of that library each program depending on it must be recompiled. # Example to Reproduce With a simple FreeGlut demo program github.com/freeglut/freeglut/tree/master/progs/demos/3dview, which has been compiled with former freeglut3 package and now runs with libglut3.12 package): $ 3dview: error while loading shared libraries: libglut.so.3: cannot open shared object file: No such file or directory $ ldd 3dview linux-vdso.so.1 (0x00007ffe4d3cb000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007d87755fd000) libglut.so.3 => not found libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007d8775576000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007d8775200000) ... # Proposed Solution 1. Provide a symlink /usr/lib/x86_64-linux-gnu/libglut.so.3 in the package pointing to /usr/lib/x86_64-linux-gnu/libglut.so.3.12 or to /usr/lib/x86_64-linux-gnu/libglut.so.3.12.0 2. Restrict the SONAME record of /usr/lib/x86_64-linux- gnu/libglut.so.3.12.0 to "libglut.so.3" I am using Debian GNU/Linux 12 with kernel Linux 6.1.0-25-amd64 and Linux Mint 22 with kernel Linux 6.8.0-47-generic amd64. Some selected references with the same problem: https://askubuntu.com/questions/1526992/is-there-a-reason-24-04- lts-noble-numbat-does-not-provide-libglut-so-3 https://community.freefem.org/t/libglut-so-3-not-found/2637 Thank you for considering it. Kind regards, A. Sdala