GNOME Bugzilla – Bug 117014
libslang and libgpm are not detected for aa plugin
Last modified: 2004-04-18 15:57:36 UTC
The ./configure message : ... checking for aa_printf in -laa... yes checking aalib.h usability... yes checking aalib.h presence... yes checking for aalib.h... yes ... The make result : ... cc -g -O2 -Wall -o .libs/aa aa.o -Wl,--export-dynamic ../../libgimp/.libs/libgimpui-1.3.so /usr/local/gimp-1.3.16/libgimp/.libs/libgimp-1.3.so /usr/local/gimp-1.3.16/libgimpwidgets/.libs/libgimpwidgets-1.3.so ../../libgimpwidgets/.libs/libgimpwidgets-1.3.so ../../libgimp/.libs/libgimp-1.3.so /usr/local/gimp-1.3.16/libgimpcolor/.libs/libgimpcolor-1.3.so /usr/local/gimp-1.3.16/libgimpbase/.libs/libgimpbase-1.3.so ../../libgimpcolor/.libs/libgimpcolor-1.3.so ../../libgimpbase/.libs/libgimpbase-1.3.so /usr/lib/libaa.so -lslang -L/usr/X11R6/lib -lX11 -lgpm /usr/lib/libgtk-x11-2.0.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libgdk_pixbuf-2.0.so -lm /usr/lib/libpangoxft-1.0.so /usr/lib/libpangox-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libglib-2.0.so -Wl,--rpath -Wl,/usr/local/lib /usr/bin/ld: cannot find -lslang ... after installing libslang1-devel on MDK91. the new make result : ... /usr/bin/ld: cannot find -lgpm (same aa plugin) ... after installing libgpm1-devel no more problems @+ Raymond
The bug is in the mandrake aalib-devel package, not in gimp's configure. We can not know if aalib is compiled with support for gpm and/or slang. If mandrake does so, it should make the aalib-devel package depend on libslang1-devel and libgpm1-devel. Please file a bug-report against the Mandrake aalib package.
There are other distributions than Mandrake that are affected. I know that SuSE 8.2 has the exact same problem with libslang (not sure about libgpm, though). That fact alone would not be sufficient to re-open this bug. However, there is an issue that we should solve and that belongs to the GIMP (IMHO): the configure script should detect that linking with -laa will fail. The tests in the configure script are supposed to detect if libraries are present and are usable. That's why the test tries to link a simple test program containing only aa_printf() with -laa. This works for this simple program, but fails when compiling the plug-in. This should not happen. Maybe we can use another function than aa_printf() for the test? This function is not even used in the plug-in code. I suggest using aa_putpixel() or aa_render() instead. Maybe one of these will trigger the linker problem. Unfortunately, I cannot test that for the moment, but maybe the reporter or someone else could test it? Remove libslang from your system, edit the configure script and replace aa_printf by aa_putpixel (or edit configure.in and run autoconf) and see if the configure test fails as it should. Another option would be to add the GTK libs or the X libs in the AC_CHECK_LIBS test for libaa. Maybe this would trigger the additional dependencies?
Hmmm... Looking again at the make output posted above, I see that the compiler was called explicitely with "-lslang" and "-lgpm". Where does that come from?
It comes from libtool, it pulls in that from dependency_libs in the system libaa.la. autoconf doesn't have a builtin way to use libtool for build checks. There might be some gross hacks that can be done, but I'd really rather see the distro people package things with proper dependencies in the first place, it is *their* bug.
I am sure that GIMP doesn't need the functionality provided by libslang and libgpm and we don't have a chance to test if the library lists these as dependencies in its libtool wrapper. The problem is definitely on the distributors side here. The only thing we could do is to add a way to disable the build of the aa plug-in at configure time (--disable-aa).
*** Bug 140396 has been marked as a duplicate of this bug. ***