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
[email protected]
https://lists.sourceforge.net/lists/listinfo/mjpeg-users