amaya-8.6: gdk_imlib.h: incorrect search method for Mac OS X

Hi Stephane,

I tried to install amaya-8.6-2 on Mac OS X using fink and compiling it 
from source.  The installation failed with the following error:

checking for gtk-config... yes

****************************************************************
  ERROR: gdk_imlib.h not found -
  please install imlib developpement package (libimlib1-devel on 
mandrake)
****************************************************************
### execution of cd failed, exit code 1
Failed: compiling amaya-8.6-2 failed

I tried various things to fix imlib, thinking that it was broken.

But I found the problem in line 13477 of the configure script:

if test "$with_gtk" = "yes" ; then
   # SG : lookingfor gtkimlib includes
   #      because not found with gtk-config on macosx
   gdkimlib_h_found="no"
   for ac_dir in               \
     /sw/include/              \
     /sw/local/include         \
     /usr/include              \
     /usr/local/include        \
     ; \
   do
     if test -r "$ac_dir/gdk_imlib.h"; then
       echo "found gdk_imlib.h"
       gdkimlib_h_found="yes"
       GTK_INCLUDES="${GTK_INCLUDES} -I$ac_dir"
       break
     fi
   done

I have my fink installation in a non-standard location, so this code 
doesn't pick it up.  I imagine it fails in a similar way for other fink 
users with non-standard locations. (Not all fink users install their 
software into /sw).  I also think it would fail for an installation in, 
say, /opt.

Wouldn't it be better to use the output of "gtk-config --prefix" in 
addition (or instead) of searching /sw? (It gives the correct fink 
directory on my machine).

I fixed configure.in and ran autoconf, and the configure script worked. 
  It's still compiling as I type, but I don't imagine there will be any 
problems.

I made changes to lines 285 onwards of configure.in:
if test "$with_gtk" = "yes" ; then
   # SG : lookingfor gtkimlib includes
   #      because not found with gtk-config on macosx
   gdkimlib_h_found="no"

   # check that gtk-config exists
   AC_CHECK_PROG(GTKCONFIG_FOUND,gtk-config,yes,no)
   if test "$GTKCONFIG_FOUND" = no ; then
     AC_MSG_ERROR(Cannot find gtk-config. Please install gtk development 
library\
.)
   fi

   GTK_INCLUDES="${GTK_INCLUDES} `gtk-config --cflags`"
   AC_SUBST(GTK_INCLUDES)
   GTK_LIBRARIES="`gtk-config --libs`"
   # GL doesn't need the imlib
   if test "${with_gl}" != "yes" ; then
     GTK_LIBRARIES="${GTK_LIBRARIES} -lgdk_imlib"
   else
     gdkimlib_h_found="yes"
   fi

   AC_SUBST(GTK_LIBRARIES)
   GTK_OPTIONS="-D_GTK"
   no_graphic=yes

   gtk_path_for_gdkimlib_h="`gtk-config --prefix`"
   # SG : lookingfor gtkimlib includes
   #      because not found with gtk-config on macosx
   for ac_dir in               \
     /sw/include/              \
     /sw/local/include         \
     /usr/include              \
     /usr/local/include        \
     "$gtk_path_for_gdkimlib_h/include" \
     "$gtk_path_for_gdkimlib_h/local/include" \
     ; \
   do
     if test -r "$ac_dir/gdk_imlib.h"; then
       echo "found gdk_imlib.h"
       gdkimlib_h_found="yes"
       GTK_INCLUDES="${GTK_INCLUDES} -I$ac_dir"
       break
     fi
   done

   if test "$gdkimlib_h_found" = "no" ; then
     echo
     echo 
"****************************************************************"
     echo " ERROR: gdk_imlib.h not found -"
     echo " [please install imlib developpement package (libimlib1-devel 
on mand\
rake)]"
     echo 
"****************************************************************"
     exit 1
   fi

fi

I'm sorry that I haven't generated a patch against CVS - I don't have 
much time at the moment to try and build from CVS and verify a patch 
against it.

Note that the check for gtk-config now needs to appear above the imlib 
search, and the initial setting of "gdkimlib_h_found="no"" needs to be 
above this in case it is ignored if GL is being used.

Happy patching!

Tim

Received on Monday, 23 August 2004 06:47:09 UTC