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

Reply via email to