Hello! When compiling GNU Emacs 24.0.50 from bzr with GTK from MacPorts and X11 from the org.x.x11.pkg version 2.5.23 in /usr/X11 I get a partly non-functional binary: PNG warning: Application was compiled with png.h from libpng-1.2.8 PNG warning: Application is running with png.c from libpng-1.4.3 PNG warning: Incompatible libpng version in application and library PATH starts with /opt/local/bin, configuration happened with: ./configure --without-sound --without-dbus --without-pop --without- gconf --with-x-toolkit=gtk --x-libraries=/usr/X11/lib --x-includes=/ usr/X11/include --enable-locallisppath=/Library/Application\ Support/ Emacs/calendar24:/Library/Application\ Support/Emacs CFLAGS="-g -H - pipe -fPIC -fno-common -mcpu=7450 -mtune=7450 -faltivec -fast" CPPFLAGS="" LDFLAGS="-Wl,-dead_strip_dylibs" CC=gcc-4.2 CPP=cpp-4.2 The (patched) configure script (to use MacPorts instead of Fink) reports: checking png.h usability... yes checking png.h presence... yes checking for png.h... yes checking libpng/png.h usability... yes checking libpng/png.h presence... yes checking for libpng/png.h... yes checking for png_get_channels in -lpng... yes Its LOG file contains: configure:10650: checking png.h usability configure:10650: gcc-4.2 -I/opt/local/include -L/opt/local/lib -c -I/ usr/X11/include -g -H -pipe -fPIC -fno-common -mcpu=7450 -mtune=7450 - faltivec -fast -D_REENTRANT -I/usr/X11/include/cairo -I/usr/X11/ include/pixman-1 -I/usr/X11/include/freetype2 -I/usr/X11/include -I/ usr/X11/include/libpng14 -I/opt/local/include/librsvg-2 -I/opt/local/ include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/ include -I/opt/local/include/gtk-2.0 -D_REENTRANT -I/usr/X11/include/ cairo -I/usr/X11/include -I/usr/X11/include/pixman-1 -I/usr/X11/ include/freetype2 -I/usr/X11/include/libpng14 -I/opt/local/include/ gtk-2.0 -I/opt/local/lib/gtk-2.0/include -I/opt/local/include/atk-1.0 - I/opt/local/include/pango-1.0 -I/opt/local/include/gio-unix-2.0/ -I/ opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/ local/include -I/usr/X11/include -I/usr/X11/include/freetype2 -I/ usr/X11/include -I/usr/X11/include -I/usr/X11/include/freetype2 conftest.c >&5 . /usr/include/stdio.h .. /usr/include/_types.h ... /usr/include/sys/_types.h .... /usr/include/sys/cdefs.h .... /usr/include/machine/_types.h ..... /usr/include/ppc/_types.h . /usr/include/sys/types.h .. /usr/include/sys/appleapiopts.h .. /usr/include/machine/types.h ... /usr/include/ppc/types.h .... /usr/include/ppc/_types.h .. /usr/include/machine/endian.h ... /usr/include/ppc/endian.h .... /usr/include/sys/_endian.h .. /usr/include/sys/_structs.h . /usr/include/sys/stat.h .. /usr/include/sys/_structs.h . /usr/include/stdlib.h .. /usr/include/available.h .. /usr/include/sys/wait.h ... /usr/include/sys/signal.h .... /usr/include/machine/signal.h ..... /usr/include/ppc/signal.h ...... /usr/include/ppc/_structs.h .... /usr/include/sys/_structs.h ..... /usr/include/machine/_structs.h ...... /usr/include/ppc/_structs.h ....... /usr/include/mach/ppc/_structs.h ... /usr/include/sys/resource.h .... /usr/include/sys/_structs.h .. /usr/include/alloca.h . /Developer/usr/bin/../lib/gcc/powerpc-apple-darwin9/4.2.1/include/ stddef.h . /usr/include/string.h . /usr/include/strings.h . /usr/include/inttypes.h .. /Developer/usr/bin/../lib/gcc/powerpc-apple-darwin9/4.2.1/include/ stdint.h . /usr/include/unistd.h .. /usr/include/sys/unistd.h .. /usr/include/sys/select.h ... /usr/include/sys/_structs.h ... /usr/include/sys/_select.h . /opt/local/include/png.h .. /opt/local/include/zlib.h ... /opt/local/include/zconf.h .. /opt/local/include/pngconf.h ... /usr/include/setjmp.h .... /usr/include/machine/setjmp.h ..... /usr/include/ppc/setjmp.h ...... /usr/include/ppc/_structs.h ... /usr/include/time.h .... /usr/include/_structs.h ..... /usr/include/sys/_structs.h configure:10650: $? = 0 configure:10650: result: yes configure:10650: checking png.h presence configure:10650: gcc-4.2 -E -no-cpp-precomp -I/opt/local/include -L/ opt/local/lib -I/usr/X11/include -I/usr/X11/include -I/usr/X11/ include/freetype2 conftest.c configure:10650: $? = 0 configure:10650: result: yes configure:10650: checking for png.h configure:10650: result: yes configure:10650: checking libpng/png.h usability configure:10650: gcc-4.2 -I/opt/local/include -L/opt/local/lib -c -I/ usr/X11/include -g -H -pipe -fPIC -fno-common -mcpu=7450 -mtune=7450 - faltivec -fast -D_REENTRANT -I/usr/X11/include/cairo -I/usr/X11/ include/pixman-1 -I/usr/X11/include/freetype2 -I/usr/X11/include -I/ usr/X11/include/libpng14 -I/opt/local/include/librsvg-2 -I/opt/local/ include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/ include -I/opt/local/include/gtk-2.0 -D_REENTRANT -I/usr/X11/include/ cairo -I/usr/X11/include -I/usr/X11/include/pixman-1 -I/usr/X11/ include/freetype2 -I/usr/X11/include/libpng14 -I/opt/local/include/ gtk-2.0 -I/opt/local/lib/gtk-2.0/include -I/opt/local/include/atk-1.0 - I/opt/local/include/pango-1.0 -I/opt/local/include/gio-unix-2.0/ -I/ opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/ local/include -I/usr/X11/include -I/usr/X11/include/freetype2 -I/ usr/X11/include -I/usr/X11/include -I/usr/X11/include/freetype2 conftest.c >&5 . /usr/include/stdio.h .. /usr/include/_types.h ... /usr/include/sys/_types.h .... /usr/include/sys/cdefs.h .... /usr/include/machine/_types.h ..... /usr/include/ppc/_types.h . /usr/include/sys/types.h .. /usr/include/sys/appleapiopts.h .. /usr/include/machine/types.h ... /usr/include/ppc/types.h .... /usr/include/ppc/_types.h .. /usr/include/machine/endian.h ... /usr/include/ppc/endian.h .... /usr/include/sys/_endian.h .. /usr/include/sys/_structs.h . /usr/include/sys/stat.h .. /usr/include/sys/_structs.h . /usr/include/stdlib.h .. /usr/include/available.h .. /usr/include/sys/wait.h ... /usr/include/sys/signal.h .... /usr/include/machine/signal.h ..... /usr/include/ppc/signal.h ...... /usr/include/ppc/_structs.h .... /usr/include/sys/_structs.h ..... /usr/include/machine/_structs.h ...... /usr/include/ppc/_structs.h ....... /usr/include/mach/ppc/_structs.h ... /usr/include/sys/resource.h .... /usr/include/sys/_structs.h .. /usr/include/alloca.h . /Developer/usr/bin/../lib/gcc/powerpc-apple-darwin9/4.2.1/include/ stddef.h . /usr/include/string.h . /usr/include/strings.h . /usr/include/inttypes.h .. /Developer/usr/bin/../lib/gcc/powerpc-apple-darwin9/4.2.1/include/ stdint.h . /usr/include/unistd.h .. /usr/include/sys/unistd.h .. /usr/include/sys/select.h ... /usr/include/sys/_structs.h ... /usr/include/sys/_select.h . /usr/X11/include/libpng/png.h .. /opt/local/include/zlib.h ... /opt/local/include/zconf.h .. /usr/X11/include/libpng/pngconf.h ... /usr/include/setjmp.h .... /usr/include/machine/setjmp.h ..... /usr/include/ppc/setjmp.h ...... /usr/include/ppc/_structs.h ... /usr/include/time.h .... /usr/include/_structs.h ..... /usr/include/sys/_structs.h configure:10650: $? = 0 configure:10650: result: yes configure:10650: checking libpng/png.h presence configure:10650: gcc-4.2 -E -no-cpp-precomp -I/opt/local/include -L/ opt/local/lib -I/usr/X11/include -I/usr/X11/include -I/usr/X11/ include/freetype2 conftest.c configure:10650: $? = 0 configure:10650: result: yes configure:10650: checking for libpng/png.h configure:10650: result: yes configure:10662: checking for png_get_channels in -lpng configure:10687: gcc-4.2 -I/opt/local/include -L/opt/local/lib -o conftest -I/usr/X11/include -g -H -pipe -fPIC -fno-common -mcpu=7450 - mtune=7450 -faltivec -fast -D_REENTRANT -I/usr/X11/include/cairo -I/ usr/X11/include/pixman-1 -I/usr/X11/include/freetype2 -I/usr/X11/ include -I/usr/X11/include/libpng14 -I/opt/local/include/librsvg-2 -I/ opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/ local/include -I/opt/local/include/gtk-2.0 -D_REENTRANT -I/usr/X11/ include/cairo -I/usr/X11/include -I/usr/X11/include/pixman-1 -I/usr/ X11/include/freetype2 -I/usr/X11/include/libpng14 -I/opt/local/include/ gtk-2.0 -I/opt/local/lib/gtk-2.0/include -I/opt/local/include/atk-1.0 - I/opt/local/include/pango-1.0 -I/opt/local/include/gio-unix-2.0/ -I/ opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/ local/include -I/usr/X11/include -I/usr/X11/include/freetype2 -I/ usr/X11/include -I/usr/X11/include -I/usr/X11/include/freetype2 - Wl,-dead_strip_dylibs -L/usr/X11/lib conftest.c -lpng -lz -lm - lXrender -L/usr/X11/lib -lXft -lXrender -lfontconfig -lexpat -liconv - lfreetype -lz -lX11 -lxcb -lXau -lXdmcp -L/usr/X11/lib -L/opt/local/ lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 - lpangocairo-1.0 -lXinerama -lXi -lXrandr -lXcursor -lXcomposite - lXdamage -lpangoft2-1.0 -lgio-2.0 -lXext -lXfixes -lcairo -lpixman-1 - lpng14 -lXrender -lX11 -lxcb -lXau -lXdmcp -lpango-1.0 -lm - lfontconfig -lexpat -lfreetype -lz -lgobject-2.0 -lgmodule-2.0 - lgthread-2.0 -lglib-2.0 -lintl -liconv -L/usr/X11/lib -L/opt/local/ lib -lrsvg-2 -lgdk_pixbuf-2.0 -lm -lcairo -lgobject-2.0 -lgmodule-2.0 - lgthread-2.0 -lglib-2.0 -lintl -lpixman-1 -lfontconfig -lexpat - lfreetype -liconv -lpng14 -lz -lXrender -lX11 -lxcb -lXau -lXdmcp - lX11 >&5 configure:10687: $? = 0 configure:10696: result: yes This last GCC invocation looks very suspicious to me: it has -lpng and -lpng14! The "-lpng" does not seem to come from a PC (pkg-config) file, it's obviously "hard coded" in the configure script. Another, strange, thing is that PNG related C header files are taken from /usr/ X11/include/libpng instead of /usr/X11/include (sym-links to /usr/X11/ include/libpng14) or /usr/X11/include/libpng14, pete 230 /\ l /usr/X11/include | grep libpng drwxr-xr-x 2 root wheel 136 9. Sep 2007 libpng drwxr-xr-x 2 root wheel 136 23. Aug 13:51 libpng12 drwxr-xr-x 2 root wheel 136 23. Aug 13:51 libpng14 lrwxr-xr-x 1 root wheel 14 23. Aug 13:51 png.h -> libpng14/png.h lrwxr-xr-x 1 root wheel 18 23. Aug 13:51 pngconf.h -> libpng14/ pngconf.h for example here when a file is compiled which enables GNU Emacs to display the picture inside of GIF, TIFF, or PNG (and a few other graphics) files: gcc-4.2 -I/opt/local/include -L/opt/local/lib -c -Demacs - DHAVE_CONFIG_H -I. -I/Users/pete/Quellen/Emacs_CVS/emacs-24/src -I/ usr/X11/include -D_REENTRANT -I/usr/X11/include/cairo -I/usr/X11/ include -I/usr/X11/include/pixman-1 -I/usr/X11/include/freetype2 -I/ usr/X11/include/libpng14 -I/opt/local/include/gtk-2.0 -I/opt/local/lib/ gtk-2.0/include -I/opt/local/include/atk-1.0 -I/opt/local/include/ pango-1.0 -I/opt/local/include/gio-unix-2.0/ -I/opt/local/include/ glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/ usr/X11/include -I/usr/X11/include/freetype2 -D_REENTRANT -I/usr/ X11/include/cairo -I/usr/X11/include/pixman-1 -I/usr/X11/include/ freetype2 -I/usr/X11/include -I/usr/X11/include/libpng14 -I/opt/local/ include/librsvg-2 -I/opt/local/include/glib-2.0 -I/opt/local/lib/ glib-2.0/include -I/opt/local/include -I/opt/local/include/ gtk-2.0 -I/usr/X11/include/freetype2 -I/usr/X11/include -I/opt/ local/include/freetype2 -I/opt/local/include -MMD -MF deps/image.d -Wimplicit-function-declaration -Wold-style-definition -Wdeclaration- after-statement -Wno-pointer-sign -g -H -pipe -fPIC -fno-common - mcpu=7450 -mtune=7450 -faltivec -fast image.c The directories checked according to this invocation are: -I/opt/local/include -I. -I/path/to/GNU Emacs/src -I/usr/X11/include -I/usr/X11/include/cairo -I/usr/X11/include -I/usr/X11/include/pixman-1 -I/usr/X11/include/freetype2 -I/usr/X11/include/libpng14 -I/opt/local/include/gtk-2.0 -I/opt/local/lib/gtk-2.0/include -I/opt/local/include/atk-1.0 -I/opt/local/include/pango-1.0 -I/opt/local/include/gio-unix-2.0/ -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/usr/X11/include -I/usr/X11/include/freetype2 -I/usr/X11/include/cairo -I/usr/X11/include/pixman-1 -I/usr/X11/include/freetype2 -I/usr/X11/include -I/usr/X11/include/libpng14 -I/opt/local/include/librsvg-2 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/include -I/opt/local/include/gtk-2.0 -I/usr/X11/include/freetype2 -I/usr/X11/include -I/opt/local/include/freetype2 -I/opt/local/include but, thanks to -H option, actually . /usr/include/unistd.h .. /usr/include/sys/unistd.h .. /usr/include/sys/select.h ... /usr/include/sys/_structs.h ... /usr/include/sys/_select.h => . /usr/X11/include/libpng/png.h .. /opt/local/include/zlib.h ... /opt/local/include/zconf.h .... /usr/include/sys/types.h ..... /usr/include/sys/_structs.h => .. /usr/X11/include/libpng/pngconf.h ... /usr/include/setjmp.h .... /usr/include/machine/setjmp.h ..... /usr/include/ppc/setjmp.h ...... /usr/include/ppc/_structs.h ... /usr/include/time.h .... /usr/include/_structs.h ..... /usr/include/sys/_structs.h which are "libpng version 1.2.8 - December 3, 2004", get included (excerpt from over 1,100 C header file lines), which are the wrong ones. (Those in libpng14 are "libpng version 1.4.3 - June 26, 2010".) Why is GCC 4.2 searching a directory not given to it? How can this behaviour be avoided? (With Fink instead of MacPorts GNU Emacs 24.0.50 compiles fine.) Is this worth a bug report at Apple? (I am using Leopard on PPC hardware – I'll certainly see no update in my life time.) Oh, one thing, otool reports: /opt/local/lib/libgtk-x11-2.0.0.dylib (compatibility version 2001.0.0, current version 2001.1.0) /opt/local/lib/libgdk-x11-2.0.0.dylib (compatibility version 2001.0.0, current version 2001.1.0) /opt/local/lib/libgdk_pixbuf-2.0.0.dylib (compatibility version 2001.0.0, current version 2001.1.0) /usr/X11/lib/libpng14.14.dylib (compatibility version 18.0.0, current version 18.0.0) /opt/local/lib/libXrender.1.dylib (compatibility version 5.0.0, current version 5.0.0) /opt/local/lib/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.1.5) /opt/local/lib/libfontconfig.1.dylib (compatibility version 6.0.0, current version 6.4.0) /opt/local/lib/libfreetype.6.dylib (compatibility version 13.0.0, current version 13.0.0) /opt/local/lib/libgobject-2.0.0.dylib (compatibility version 2401.0.0, current version 2401.2.0) /opt/local/lib/libglib-2.0.0.dylib (compatibility version 2401.0.0, current version 2401.2.0) /opt/local/lib/libSM.6.dylib (compatibility version 7.0.0, current version 7.1.0) /opt/local/lib/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0) /opt/local/lib/libtiff.3.dylib (compatibility version 13.0.0, current version 13.4.0) /opt/local/lib/libjpeg.8.dylib (compatibility version 9.0.0, current version 9.2.0) /opt/local/lib/libgif.4.dylib (compatibility version 6.0.0, current version 6.6.0) /opt/local/lib/libXpm.4.dylib (compatibility version 16.0.0, current version 16.0.0) /opt/local/lib/libXft.2.dylib (compatibility version 4.0.0, current version 4.13.0) /opt/local/lib/librsvg-2.2.dylib (compatibility version 29.0.0, current version 29.3.0) /opt/local/lib/libncurses.5.dylib (compatibility version 5.0.0, current version 5.0.0) /opt/local/lib/libotf.0.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0) -- Greetings Pete Work is the curse of the drinking class. – Oscar Wilde
On Aug 27, 2010, at 16:18, Peter Dyballa wrote:
Hello!
When compiling GNU Emacs 24.0.50 from bzr with GTK from MacPorts and X11 from the org.x.x11.pkg version 2.5.23 in /usr/X11 I get a partly non-functional binary:
PNG warning: Application was compiled with png.h from libpng-1.2.8 PNG warning: Application is running with png.c from libpng-1.4.3 PNG warning: Incompatible libpng version in application and library
PATH starts with /opt/local/bin, configuration happened with:
Choose to build against MacPorts or /usr/X11 ... not both.
participants (2)
-
Jeremy Huddleston
-
Peter Dyballa