Source: glew Version: 2.3.1+dfsg2-2 Severity: grave Tags: affect -1 src:mygui src:tulip src:avogadrolibs src:slop
Ever since src:glew switched to the CMake build system (in 0cba00b9), it's been causing FTBFS for multiple packages that depend on it. Here are some examples: mygui: > make[4]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libSM.so', > needed by 'lib/x86_64-linux-gnu/libMyGUI.OpenGLPlatform.so.0debian1.0.0' tulip: > ninja: error: '/usr/lib/x86_64-linux-gnu/libSM.so', needed by > 'library/tulip-gui/src/libtulip-gui-6.0.so', missing and no known rule to > make it avogadrolibs: > make[2]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libSM.so', > needed by 'lib/libAvogadroRendering.so.1.101.0'. Stop. slop: > make[3]: *** No rule to make target '/usr/lib/x86_64-linux-gnu/libSM.so', > needed by 'libslopy.so.7.7'. Stop. The upstream explicitly states in their README: > ### Linux and Mac > > #### Using GNU Make > > GNU make is the primary build system for GLEW, historically. > It includes targets for building the sources and headers, for maintenance > purposes. > > ... > > #### Using cmake > > The cmake build is mostly contributor maintained. > Due to the multitude of use cases this is maintained on a _best effort_ basis. > Pull requests are welcome. The crux of the problem is that when built with CMake, GLEW installs CMake targets with hard-coded libraries in them: dimitry@ki6OY5lO2Z:~$ grep set_target_properties -A3 /usr/lib/x86_64-linux-gnu/cmake/glew/glew-targets.cmake set_target_properties(GLEW::glew PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "/usr/include/x86_64-linux-gnu" INTERFACE_LINK_LIBRARIES "/usr/lib/x86_64-linux-gnu/libOpenGL.so;/usr/lib/x86_64-linux-gnu/libGLX.so;/usr/lib/x86_64-linux-gnu/libSM.so;/usr/lib/x86_64-linux-gnu/libICE.so;/usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so" ) Prior to this change, packages using GLEW relied on the CMake-provided FindGLEW.cmake module. GLEW itself does not seem to be using any of libSM, libICE, libX11 or libXext: dimitry@ki6OY5lO2Z:~$ objdump -p /usr/lib/x86_64-linux-gnu/libGLEW.so | grep NEEDED NEEDED libGLX.so.0 NEEDED libc.so.6 But, they are somehow pulled into their CMake targets, which looks like a bug that they won't be eager to fix (based on the above). Please either switch back to the Make-based system, or at the very minimum do not install upstream's broken CMake targets. Thank you, Dimitry -- System Information: Debian Release: forky/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 7.0.4+deb14-amd64 (SMP w/8 CPU threads; PREEMPT) Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: unable to detect

