Tue 04 Dec 2007 05:11:55 AM UTC, original submission:
My configure command line is
./configure --enable-renderer=opengl --with-glib-incl=/usr/local/include/glib-2.0 --with-glib-lib=/usr/local/lib
(The same thing happens without the -with-glib since it will autodetect them when I don't give the paths.)
The problem is that I have an old obsolete glib (and pango) in /usr/lib, and a newer one in /usr/local/lib. I need to compile using the newer one.
The end of my make output is this:
make[3]: Entering directory `/usr/local/src/gnash-0.8.1/gui'
/bin/sh ../libtool --tag=CXX --mode=link g++ -g -O2 -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -lltdl -export-dynamic -L/usr/local/lib -lglib-2.0 -lltdl -lxml2 -lz -lpthread -lm -L/usr/local/lib -lboost_date_time -lboost_thread -lpthread -lmad -lm -Wl,--as-needed -o gtk-gnash gtk_gnash-gnash.o gtk_gnash-gui.o gtk_gnash-Player.o gtk_gnash-NullGui.o gtk_gnash-gui_gtk.o gtk_gnash-gtk_glue_gtkglext.o gtk_gnash-gtk.o ../backend/libgnashogl.la ../libamf/libgnashamf.la ../backend/libgnashbackend.la ../server/libgnashserver.la ../libgeometry/libgnashgeo.la ../libbase/libgnashbase.la -L/usr/local/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -Wl,--export-dynamic -L/usr/local/lib -L/usr/X11R6/lib -lgtkglext-x11-1.0 -lgdkglext-x11-1.0 -lGLU -lGL -lXmu -lXt -lSM -lICE -lgtk-x11-2.0 -lpangox-1.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -L/usr/local/lib -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -L/usr/local/lib -latk-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0 -L/usr/local/lib -lglib-2.0 -lexpat -L/usr/X11R6/lib -lGL -lGLU -lrt -lm
g++ -g -O2 -pthread -W -Wall -Wcast-align -Wcast-qual -Wpointer-arith -Wreturn-type -Wl,--as-needed -o .libs/gtk-gnash gtk_gnash-gnash.o gtk_gnash-gui.o gtk_gnash-Player.o gtk_gnash-NullGui.o gtk_gnash-gui_gtk.o gtk_gnash-gtk_glue_gtkglext.o gtk_gnash-gtk.o -Wl,--export-dynamic -Wl,--export-dynamic -L/usr/local/lib ../backend/.libs/libgnashogl.a ../libamf/.libs/libgnashamf.so ../backend/.libs/libgnashbackend.so /usr/local/src/gnash-0.8.1/server/.libs/libgnashserver.so /usr/lib/libSDL.so /usr/lib/libasound.so -laudio -L/usr/X11R6/lib ../server/.libs/libgnashserver.so /usr/lib/libmad.so /usr/local/src/gnash-0.8.1/libamf/.libs/libgnashamf.so /usr/local/src/gnash-0.8.1/libgeometry/.libs/libgnashgeo.so /usr/lib/libxml2.so ../libgeometry/.libs/libgnashgeo.so /usr/local/src/gnash-0.8.1/libbase/.
libs/libgnashbase.so ../libbase/.libs/libgnashbase.so /usr/lib/libjpeg.so /usr/lib/libltdl.so -lboost_date_time -lboost_thread /usr/local/lib/libgtkglext-x11-1.0.so /usr/lib/libgtk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/local/lib/libgdkglext-x11-1.0.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libgdk_pixbuf-2.0.so /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 /usr/lib/libglib-2.0.so -lXt /usr/local/lib/libgtk-x11-2.0.so /usr/local/lib/libgdk-x11-2.0.so /usr/local/lib/libgdk_pixbuf-2.0.so /usr/local/lib/libpangocairo-1.0.so /usr/local/lib/libpangoft2-1.0.so /usr/local/lib/libcairo.so /usr/lib/libfontconfig.so /usr/lib/libfreetype.so -lpng12 -lz -lXrender /usr/local/lib/libpangox-1.0.so /usr/local/lib/libpango-1.0.so /usr/local/lib/libatk-1.0.so /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgmodule-2.0.so -ldl /usr/local/lib/libglib-2.0.so /usr/lib/libexpat.so /usr/X11R6/lib/libGLU.so -lstdc++ /usr/X11R6/lib/libGL.so -lSM -lICE -lXmu -lXext -lXi -lX11 -lpthread -lsupc++ -lgcc_s -lrt -lm -Wl,--rpath -Wl,/usr/local/lib/gnash -Wl,--rpath -Wl,/usr/local/lib
gtk_gnash-gtk.o(.text+0x2872): In function `gnash::GtkGui::menuitem_about_callback(_GtkMenuItem, void)':
/usr/local/src/gnash-0.8.1/gui/gtk.cpp:922: undefined reference to `gtk_about_dialog_set_url_hook'
libs/libgnashbase.so ../libbase/.libs/libgnashbase.so /usr/lib/libjpeg.so /usr/lib/libltdl.so -lboost_date_time -lboost_thread /usr/local/lib/libgtkglext-x11-1.0.so /usr/lib/libgtk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/local/lib/libgdkglext-x11-1.0.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libgdk_pixbuf-2.0.so /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 /usr/lib/libglib-2.0.so -lXt /usr/local/lib/libgtk-x11-2.0.so /usr/local/lib/libgdk-x11-2.0.so /usr/local/lib/libgdk_pixbuf-2.0.so /usr/local/lib/libpangocairo-1.0.so /usr/local/lib/libpangoft2-1.0.so /usr/local/lib/libcairo.so /usr/lib/libfontconfig.so /usr/lib/libfreetype.so -lpng12 -lz -lXrender /usr/local/lib/libpangox-1.0.so /usr/local/lib/libpango-1.0.so /usr/local/lib/libatk-1.0.so /usr/local/lib/libgobject-2.0.so /usr/local/lib/libgmodule-2.0.so -ldl /usr/local/lib/libglib-2.0.so /usr/lib/libexpat.so /usr/X11R6/lib/libGLU.so -lstdc++ /usr/X11R6/lib/libGL.so -lSM -lICE -lXmu -lXext -lXi -lX11 -lpthread -lsupc++ -lgcc_s -lrt -lm -Wl,--rpath -Wl,/usr/local/lib/gnash -Wl,--rpath -Wl,/usr/local/lib
gtk_gnash-gtk.o(.text+0x2872): In function `gnash::GtkGui::menuitem_about_callback(_GtkMenuItem, void)':
/usr/local/src/gnash-0.8.1/gui/gtk.cpp:922: undefined reference to `gtk_about_dialog_set_url_hook'
(followed by more link errors)
Notice that the makefile itself doesn't tell libtool to look for the libraries in any incorrect places. However, libtool insists on looking in /usr/lib/libglib-2.0 (etc.), and even puts them on the command line before /usr/local/lib/libglib-2.0. As a result the build links with the wrong libraries even though configure is told the correct ones (or manages to autodetect the correct ones).
|