[Cmake] Possible error in FindGTK.cmake

Brad King brad.king at kitware.com
Wed, 18 Feb 2004 17:51:12 -0500


Brendan McCane wrote:
> G'day,
> 
> I have recently tried compiling vxl/vgui using gtk but without glut on a
> Fedora core 1 machine. This has caused a link error because libgdk is
> apparently dependent on libXi, but libXi is not included in the
> dependencies in FindGTK.cmake. Here's an example error:
> c++       -fPIC  basic01_display_image.o    -o
> /home/brendan/vxl-1.0.0/bin/core/vgui/examples/basic01_display_image
> -rdynamic -L/home/brendan/vxl-1.0.0/bin/lib
> -L/home/brendan/vxl-1.0-beta/gtkglarea-1.2.2/gtkgl/lib -L/usr/X11R6/lib
> -lgtkgl -lgtk -lgdk -lgmodule -lglib -lGLU -lGL -lX11 -lXext -lvgui
> -lvnl_algo -lnetlib -lvnl -lvil1 -lvil -ljpeg -ltiff -lpng -lzlib -lvgl
> -lvpl -lvbl -lvul -lgtkgl -lgtk -lgdk -lgmodule -lglib -lQv -lvcl -lm
> -lGLU -lGL -lX11 -lXext -lX11 -lXext
> -Wl,-rpath,/home/brendan/vxl-1.0.0/bin/lib:/home/brendan/vxl-1.0-beta/gtkglarea-1.2.2/gtkgl/lib:/usr/X11R6/lib
> /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../libgdk.so: undefined
> reference to `XGetDeviceMotionEvents'
> /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../libgdk.so: undefined
> reference to `XFreeDeviceList'
> /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../libgdk.so: undefined
> reference to `XQueryDeviceState'
> /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../libgdk.so: undefined
> reference to `XListInputDevices'
> /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../libgdk.so: undefined
> reference to `XFreeDeviceMotionEvents'
> /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../libgdk.so: undefined
> reference to `XFreeDeviceState'
> /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../libgdk.so: undefined
> reference to `XOpenDevice'
> /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../libgdk.so: undefined
> reference to `XSelectExtensionEvent'
> /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../libgdk.so: undefined
> reference to `XUngrabDevice'
> /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../libgdk.so: undefined
> reference to `XGrabDevice'
> 
> I have attached a modified FindGTK.cmake (sourced from
> $vxl/config/cmake/Modules/NewCMake/FindGTK.cmake) that solves the link
> problem simply by adding libXi to the dependencies. Anyway, not sure if
> this is a general problem or just my problem, but I thought I'd let you
> know.

Please submit this to the bug tracker:

   http://www.cmake.org/Bug

Thanks,
-Brad