On Tue, 27 Sep 2005, Fred Leason wrote: > I tried configure/make/make install on 1.8.0.
Works fine for me ;) > I have Mac OS X Tiger 10.4.2 Darwin 8.2.0 Same here. > I receive the following errors on make: > > >sudo make Hmmm, I made /usr/local/{src,bin,...} writeable by myself so I don't need to be root when making things like mjpegtools - but that's just my personal preference. > /bin/sh ../libtool --tag=CC --mode=link gcc -mtune=7450 -mtune=7450 - > g -O2 -no-cpp-precomp -D_THREAD_SAFE -faltivec -maltivec -Wall - > Wunused -o glav glav-glav.o glav-glav_main.o ../utils/ > libmjpegutils.la ../mpeg2enc/libmpeg2encpp.la -L/opt/local/lib -lgtk- > x11-2.0 -lm > gcc -mtune=7450 -mtune=7450 -g -O2 -no-cpp-precomp -D_THREAD_SAFE - > faltivec -maltivec -Wall -Wunused -o .libs/glav glav-glav.o glav- > glav_main.o ../utils/.libs/libmjpegutils.dylib ../mpeg2enc/.libs/ > libmpeg2encpp.dylib /Users/fredleason/desktop/mjpegtools-1.8.0/ > utils/.libs/libmjpegutils.dylib -L/opt/local/lib /opt/local/lib/ > libgtk-x11-2.0.dylib -lm > /usr/bin/ld: Undefined symbols: > _g_signal_connect_data That list looks incomplete - it's not surprising there are undefined symbols. The symbols that are missing are indeed in libglib2 but -lglib2 is not given anywhere! Here's what it should look like: /bin/sh ../libtool --tag=CC --mode=link gcc -mtune=G5 -mpowerpc64 -mpowerpc-gpopt -falign-loops=16 -force_cpusubtype_ALL -mtune=G5 -g -O2 -no-cpp-precomp -D_THREAD_SAFE -faltivec -maltivec -Wall -Wunused -o glav glav-glav.o glav-glav_main.o ../utils/libmjpegutils.la ../mpeg2enc/libmpeg2encpp.la -L/usr/local/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv -lm gcc -mtune=G5 -mpowerpc64 -mpowerpc-gpopt -falign-loops=16 -force_cpusubtype_ALL -mtune=G5 -g -O2 -no-cpp-precomp -D_THREAD_SAFE -faltivec -maltivec -Wall -Wunused -o .libs/glav glav-glav.o glav-glav_main.o ../utils/.libs/libmjpegutils-1.9.0.0.0.dylib ../mpeg2enc/.libs/libmpeg2encpp-1.9.0.0.0.dylib /usr/local/src/mjpeg-developer/utils/.libs/libmjpegutils-1.9.0.0.0.dylib -L/usr/local/lib /usr/local/lib/libgtk-x11-2.0.dylib /usr/local/lib/libgdk-x11-2.0.dylib /usr/local/lib/libatk-1.0.dylib /usr/local/lib/libgdk_pixbuf-2.0.dylib /usr/local/lib/libpangoxft-1.0.dylib /usr/local/lib/libpangox-1.0.dylib /usr/local/lib/libpango-1.0.dylib /usr/local/lib/libgobject-2.0.dylib /usr/local/lib/libgmodule-2.0.dylib /usr/local/lib/libglib-2.0.dylib /usr/local/lib/libintl.dylib -lc /usr/lib/libiconv.dylib -lm creating glav Notice that 'libgtk2' brings in libglib-2.0 (in addition to 'atk', 'pango' and so on) (it says 1.9.0 because I'm working from the CVS version but 1.8.0 builds fine - it's only in the last couple days that any divergence has begun to take place). > Here is what darwinports says: Oh, I built everything myself. That might be why I'm hot seeing the problem :) > So I am assuming I have glib and gtk installed. I did a lndir from / OK - then the question becomes "why does including gtk2 not bring in the dependencies of libgtk2?". The answer to that might be in the GTK2 .pc (pkg-config) file. If you have the environment variable PKG_CONFIG_PATH set correctly you should see this: sms% pkg-config --libs gtk+-2.0 -L/usr/local/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv See how gtk+-2.0 declares all the libraries it needs? If you do not have output like the above then I would have to say that the GTK2 .pc file is incorrect > These errors occur trying to link glav-main.c or at least that is the > only code that matches "g_signal." find the file gtk+-2.0.pc (I have it in /usr/local/lib/pkgconfig) and take a look, the one I have is: prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include target=x11 gtk_binary_version=2.4.0 gtk_host=powerpc-apple-darwin7.7.0 Name: GTK+ Description: GIMP Tool Kit (${target} target) Version: 2.4.14 Requires: gdk-${target}-2.0 atk Libs: -L${libdir} -lgtk-${target}-2.0 Cflags: -I${includedir}/gtk-2.0 The 'Requires:' line will bring in the other libraries gdk-*, atk* and so on. > Can anyone provide advice on next step? Thanks. Trace thru the pkgconfig files and make sure they're Require:ing all the necessary files. Good Luck! Steven Schultz ------------------------------------------------------- This SF.Net email is sponsored by: Power Architecture Resource Center: Free content, downloads, discussions, and more. http://solutions.newsforge.com/ibmarch.tmpl _______________________________________________ Mjpeg-users mailing list Mjpeg-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mjpeg-users