tbastian
October 14th, 2011, 04:09 PM
I upgraded to 11.10 this morning, now none of my gtk/gtkmm programs refuse to link properly! I'm sure all the proper libraries are installed (the dev versions of gtk+-2.0, gtk+-3.0 gtkmm-2.4) and pkg-config is returning the following flags:
trevor@deep-thought:~/src/convert/src$ pkg-config --libs gtk+-3.0 --cflags
-pthread -DGSEAL_ENABLE -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-3.0 -pthread -lgtk-3 -lgdk-3 -latk-1.0 -lcairo-gobject -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
trevor@deep-thought:~/src/convert/src$ pkg-config --libs gtk+-2.0 --cflags
-pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
Here are the sort of errors I get:
trevor@deep-thought:~/src/convert/src$ gcc -Wall `pkg-config --cflags gtk+-3.0 gmodule-2.0` -g -O2 `pkg-config --libs gtk+-3.0 gmodule-2.0` -o convert callbacks.o data.o frl_decode.o main.o merge.o -lpthread
main.o: In function `main':
/home/trevor/src/convert/src/main.c:22: undefined reference to `gtk_init'
/home/trevor/src/convert/src/main.c:24: undefined reference to `gtk_builder_new'
/home/trevor/src/convert/src/main.c:27: undefined reference to `gtk_builder_add_from_file'
/home/trevor/src/convert/src/main.c:35: undefined reference to `gtk_widget_get_type'
/home/trevor/src/convert/src/main.c:35: undefined reference to `gtk_builder_get_object'
/home/trevor/src/convert/src/main.c:35: undefined reference to `g_type_check_instance_cast'
/home/trevor/src/convert/src/main.c:36: undefined reference to `gtk_builder_get_object'
/home/trevor/src/convert/src/main.c:36: undefined reference to `g_type_check_instance_cast'
/home/trevor/src/convert/src/main.c:37: undefined reference to `gtk_builder_get_object'
/home/trevor/src/convert/src/main.c:37: undefined reference to `g_type_check_instance_cast'
/home/trevor/src/convert/src/main.c:39: undefined reference to `g_type_check_instance_cast'
/home/trevor/src/convert/src/main.c:39: undefined reference to `g_signal_connect_data'
/home/trevor/src/convert/src/main.c:43: undefined reference to `gtk_builder_connect_signals'
/home/trevor/src/convert/src/main.c:45: undefined reference to `g_type_check_instance_cast'
/home/trevor/src/convert/src/main.c:45: undefined reference to `g_object_unref'
/home/trevor/src/convert/src/main.c:47: undefined reference to `gtk_widget_show'
/home/trevor/src/convert/src/main.c:49: undefined reference to `gtk_main'
/home/trevor/src/convert/src/main.c:29: undefined reference to `g_log'
/home/trevor/src/convert/src/main.c:30: undefined reference to `g_free'
any thoughts?
trevor@deep-thought:~/src/convert/src$ pkg-config --libs gtk+-3.0 --cflags
-pthread -DGSEAL_ENABLE -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-3.0 -pthread -lgtk-3 -lgdk-3 -latk-1.0 -lcairo-gobject -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
trevor@deep-thought:~/src/convert/src$ pkg-config --libs gtk+-2.0 --cflags
-pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
Here are the sort of errors I get:
trevor@deep-thought:~/src/convert/src$ gcc -Wall `pkg-config --cflags gtk+-3.0 gmodule-2.0` -g -O2 `pkg-config --libs gtk+-3.0 gmodule-2.0` -o convert callbacks.o data.o frl_decode.o main.o merge.o -lpthread
main.o: In function `main':
/home/trevor/src/convert/src/main.c:22: undefined reference to `gtk_init'
/home/trevor/src/convert/src/main.c:24: undefined reference to `gtk_builder_new'
/home/trevor/src/convert/src/main.c:27: undefined reference to `gtk_builder_add_from_file'
/home/trevor/src/convert/src/main.c:35: undefined reference to `gtk_widget_get_type'
/home/trevor/src/convert/src/main.c:35: undefined reference to `gtk_builder_get_object'
/home/trevor/src/convert/src/main.c:35: undefined reference to `g_type_check_instance_cast'
/home/trevor/src/convert/src/main.c:36: undefined reference to `gtk_builder_get_object'
/home/trevor/src/convert/src/main.c:36: undefined reference to `g_type_check_instance_cast'
/home/trevor/src/convert/src/main.c:37: undefined reference to `gtk_builder_get_object'
/home/trevor/src/convert/src/main.c:37: undefined reference to `g_type_check_instance_cast'
/home/trevor/src/convert/src/main.c:39: undefined reference to `g_type_check_instance_cast'
/home/trevor/src/convert/src/main.c:39: undefined reference to `g_signal_connect_data'
/home/trevor/src/convert/src/main.c:43: undefined reference to `gtk_builder_connect_signals'
/home/trevor/src/convert/src/main.c:45: undefined reference to `g_type_check_instance_cast'
/home/trevor/src/convert/src/main.c:45: undefined reference to `g_object_unref'
/home/trevor/src/convert/src/main.c:47: undefined reference to `gtk_widget_show'
/home/trevor/src/convert/src/main.c:49: undefined reference to `gtk_main'
/home/trevor/src/convert/src/main.c:29: undefined reference to `g_log'
/home/trevor/src/convert/src/main.c:30: undefined reference to `g_free'
any thoughts?