Greetings!
I returned from a week away from my principal development machine to
find that the new autoconf 2.59 support had been checked in. Good
show, Malcolm!
I've noticed a snag though: libpng detection doesn't work, at least on
my system. I believe this is because -lz appears before -lpng in the
link line. Here's what's happening:
CC=gcc ../../src/xemacs-21.5-2005-03-12/configure '--prefix=/usr/local/xemacs-21.5-2005-03-12' '--with-site-includes=/usr/local/include' '--with-site-libraries=/usr/local/lib' '--with-infopath=/usr/local/info' '--disable-mule' '--disable-dialogs' '--disable-widgets' '--with-package-path=/usr/local/site-packages::/usr/local/xemacs-packages'
checking for png.h... yes
checking for png_read_image in -lpng... no
If I look at config.log, here's what I'm seeing:
configure:22322: checking png.h usability
configure:22334: gcc -c -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts -Wpacked -Wshadow -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -g -I/usr/local/include -I/usr/X11R6/include conftest.c >&5
configure:22340: $? = 0
configure:22343: test -z || test ! -s conftest.err
configure:22346: $? = 0
configure:22349: test -s conftest.o
configure:22352: $? = 0
configure:22362: result: yes
configure:22366: checking png.h presence
configure:22376: gcc -E -I/usr/local/include -I/usr/X11R6/include conftest.c
configure:22382: $? = 0
configure:22402: result: yes
configure:22437: checking for png.h
configure:22444: result: yes
configure:22455: checking for png_read_image in -lpng
configure:22485: gcc -o conftest -Wall -Wno-switch -Wundef -Wsign-compare -Wno-char-subscripts -Wpacked -Wshadow -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -g -I/usr/local/include -I/usr/X11R6/include -L/usr/local/lib -L/usr/X11R6/lib conftest.c -ljpeg -lz -lXpm -lXmu -lXt -lXext -lX11 -lSM -lICE -lpng -lm 1>&5
conftest.c:121: warning: function declaration isn't a prototype
conftest.c:124: warning: function declaration isn't a prototype
/usr/local/lib/libpng.a(pngread.o)(.text+0x1d4): In function `png_create_read_struct_2':
../../src/libpng-1.2.8/pngread.c:142: undefined reference to `inflateInit_'
/usr/local/lib/libpng.a(pngread.o)(.text+0x439): In function `png_read_init_3':
../../src/libpng-1.2.8/pngread.c:291: undefined reference to `inflateInit_'
/usr/local/lib/libpng.a(pngread.o)(.text+0xf12): In function `png_read_row':
../../src/libpng-1.2.8/pngread.c:708: undefined reference to `inflate'
/usr/local/lib/libpng.a(pngread.o)(.text+0x1af6): In function `png_read_destroy':
../../src/libpng-1.2.8/pngread.c:1256: undefined reference to `inflateEnd'
/usr/local/lib/libpng.a(png.o)(.text+0x1ba): In function `png_reset_crc':
../../src/libpng-1.2.8/png.c:196: undefined reference to `crc32'
/usr/local/lib/libpng.a(png.o)(.text+0x20d): In function `png_calculate_crc':
../../src/libpng-1.2.8/png.c:222: undefined reference to `crc32'
/usr/local/lib/libpng.a(png.o)(.text+0xbac): In function `png_reset_zstream':
../../src/libpng-1.2.8/png.c:746: undefined reference to `inflateReset'
/usr/local/lib/libpng.a(pngrutil.o)(.text+0x303): In function `png_decompress_chunk':
../../src/libpng-1.2.8/pngrutil.c:197: undefined reference to `inflate'
/usr/local/lib/libpng.a(pngrutil.o)(.text+0x4a5):../../src/libpng-1.2.8/pngrutil.c:308: undefined reference to `inflateReset'
/usr/local/lib/libpng.a(pngrutil.o)(.text+0x608):../../src/libpng-1.2.8/pngrutil.c:204: undefined reference to `inflateReset'
/usr/local/lib/libpng.a(pngrutil.o)(.text+0x3a62): In function `png_read_finish_row':
../../src/libpng-1.2.8/pngrutil.c:2902: undefined reference to `inflate'
/usr/local/lib/libpng.a(pngrutil.o)(.text+0x3ae7):../../src/libpng-1.2.8/pngrutil.c:2931: undefined reference to `inflateReset'
collect2: ld returned 1 exit status
configure:22491: $? = 1
configure: failed program was:
| /* confdefs.h. */
|
| #define PACKAGE_NAME ""
| #define PACKAGE_TARNAME ""
| #define PACKAGE_VERSION ""
| #define PACKAGE_STRING ""
| #define PACKAGE_BUGREPORT ""
| #define INFOPATH_USER_DEFINED 1
| #define PACKAGE_PATH_USER_DEFINED 1
| #define EMACS_MAJOR_VERSION 21
| #define EMACS_MINOR_VERSION 5
| #define EMACS_BETA_VERSION 20
| #define XEMACS_CODENAME "cilantro"
| #define XEMACS_EXTRA_NAME "(+CVS-20050312)"
| #define XEMACS_RELEASE_DATE "2005-02-18"
| #define EMACS_VERSION "21.5-b20"
| #define EMACS_PROGNAME "xemacs"
| #define ERROR_CHECK_EXTENTS 1
| #define ERROR_CHECK_TYPES 1
| #define ERROR_CHECK_TEXT 1
| #define ERROR_CHECK_GC 1
| #define ERROR_CHECK_MALLOC 1
| #define ERROR_CHECK_BYTE_CODE 1
| #define ERROR_CHECK_GLYPHS 1
| #define ERROR_CHECK_DISPLAY 1
| #define ERROR_CHECK_STRUCTURES 1
| #define DEBUG_XEMACS 1
| #define USE_ASSERTIONS 1
| #define MEMORY_USAGE_STATS 1
| #define config_machfile "m/intel386.h"
| #define config_opsysfile "s/linux.h"
| #define STACK_TRACE_EYE_CATCHER xemacs_21_5_b20_i686_pc_linux
| #define CLASH_DETECTION 1
| #define _GNU_SOURCE 1
| #define _POSIX_C_SOURCE 199506L
| #define _XOPEN_SOURCE 500
| #define _XOPEN_SOURCE_EXTENDED 1
| #define DOUG_LEA_MALLOC 1
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_A_OUT_H 1
| #define HAVE_ELF_H 1
| #define HAVE_FCNTL_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_LIBGEN_H 1
| #define HAVE_LOCALE_H 1
| #define HAVE_WCHAR_H 1
| #define HAVE_SYS_PARAM_H 1
| #define HAVE_SYS_RESOURCE_H 1
| #define HAVE_SYS_TIME_H 1
| #define HAVE_SYS_TIMEB_H 1
| #define HAVE_SYS_TIMES_H 1
| #define HAVE_SYS_UN_H 1
| #define HAVE_SYS_VLIMIT_H 1
| #define HAVE_ULIMIT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_SYS_WAIT_H 1
| #define STDC_HEADERS 1
| #define TIME_WITH_SYS_TIME 1
| #define HAVE_DECL_SYS_SIGLIST 1
| #define HAVE_UTIME 1
| #define RETSIGTYPE void
| #define HAVE_TIMEVAL 1
| #define HAVE_STRUCT_TM_TM_ZONE 1
| #define HAVE_TM_ZONE 1
| #define SIZEOF_SHORT 2
| #define SIZEOF_INT 4
| #define SIZEOF_LONG 4
| #define SIZEOF_LONG_LONG 8
| #define SIZEOF_VOID_P 4
| #define SIZEOF_DOUBLE 8
| #define HAVE_LONG_FILE_NAMES 1
| #define HAVE_LIBM 1
| #define HAVE_INVERSE_HYPERBOLIC 1
| #define HAVE_MKSTEMP 1
| #define HAVE_LOCKF 1
| #define HAVE_FLOCK 1
| #define MAIL_LOCK_DOT 1
| #define HAVE_X_WINDOWS 1
| #define BITMAPDIR "/usr/X11R6/include/X11/bitmaps"
| #define FUNCPROTO 15
| #define NARROWPROTO 1
| #define linux 1
| #define __i386__ 1
| #define _POSIX_SOURCE 1
| #define _BSD_SOURCE 1
| #define _SVID_SOURCE 1
| #define THIS_IS_X11R6 1
| #define HAVE_XCONVERTCASE 1
| #define HAVE_XTREGISTERDRAWABLE 1
| #define HAVE_X11_XLOCALE_H 1
| #define HAVE_X11_XFUNCPROTO_H 1
| #define HAVE_XREGISTERIMINSTANTIATECALLBACK 1
| #define XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE 1
| #define HAVE_XMU 1
| #define HAVE_BALLOON_HELP 1
| #define HAVE_WMCOMMAND 1
| #define HAVE_XAUTH 1
| #define HAVE_DLOPEN 1
| #define HAVE_SHLIB 1
| #define HAVE_DLERROR 1
| #define HAVE_XPM 1
| #define HAVE_GIF 1
| #define HAVE_JPEG 1
| /* end confdefs.h. */
|
| /* Override any gcc2 internal prototype to avoid an error. */
| #ifdef __cplusplus
| extern "C"
| #endif
| /* We use char because int might match the return type of a gcc2
| builtin and then its argument prototype would still apply. */
| char png_read_image ();
| int
| main ()
| {
| png_read_image ();
| ;
| return 0;
| }
configure:22516: result: no
When I configure --with-libs=-lz, png is found appropriately.
Thanks in advance,
Vin