Package: autoconf
Version: 2.61-1
Severity: normal

Starting with 2.61-1 autoconf's AC_FUNC_FSEEKO no longer makes fseeko() or
ftello() visible on sid.  It still worked with 2.60a4-1.

For instance:
------------------------------------------------------------------------
[EMAIL PROTECTED]:/tmp/test-ac/c# for i in *; do echo; echo "=== $i ==="; cat 
$i; done

=== Makefile.am ===
CFLAGS += -Wall -Werror

AUTOMAKE_OPTIONS = foreign
SUBDIRS =
bin_PROGRAMS = programm
programm_SOURCES = programm.c

=== autogen ===
#!/bin/sh

set -e
set -x

aclocal
autoheader
autoconf
automake --add-missing --copy

=== configure.in ===
dnl Process this file with autoconf to produce a configure script.
AC_INIT(programm.c)
AM_INIT_AUTOMAKE(programm, 0.0.1)
AM_CONFIG_HEADER(config.h)

AC_PROG_CC
AC_PROG_INSTALL
AC_STDC_HEADERS
AC_HAVE_HEADERS(stdlib.h stdio.h, , AC_MSG_ERROR(At least one header file was 
not found.))

AC_FUNC_FSEEKO
AC_SYS_LARGEFILE

AM_MAINTAINER_MODE
AC_OUTPUT(Makefile)

=== programm.c ===
#include "config.h"
#include <stdio.h>
#include <stdlib.h>

int
main(int argc, char *argv[])
{
        ftello(0);
        return(0);
}


------------------------------------------------------------------------

./autogen  && ./configure && make clean && make works fine on both i386
and amd64 when autoconf 2.60a4-1 is installed, but does not work when
autoconf 2.61-1 is on the system:

| if gcc -DHAVE_CONFIG_H -I. -I. -I.     -g -O2 -Wall -Werror -MT programm.o 
-MD -MP -MF ".deps/programm.Tpo" -c -o programm.o programm.c; \
|         then mv -f ".deps/programm.Tpo" ".deps/programm.Po"; else rm -f 
".deps/programm.Tpo"; exit 1; fi
| cc1: warnings being treated as errors
| programm.c: In function 'main':
| programm.c:8: warning: implicit declaration of function 'ftello'
| make[2]: *** [programm.o] Error 1


The produced config.h file does differ:
[EMAIL PROTECTED]:/tmp/test-ac# diff -u c-26*/config.h
--- c-260/config.h      2006-12-03 00:26:00.786114350 +0000
+++ c-261/config.h      2006-12-03 00:25:38.099143149 +0000
@@ -62,7 +62,7 @@
 /* #undef _FILE_OFFSET_BITS */
 
 /* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
-#define _LARGEFILE_SOURCE 1
+/* #undef _LARGEFILE_SOURCE */
 
 /* Define for large files, on AIX-style hosts. */
 /* #undef _LARGE_FILES */

Both define HAVE_FSEEKO however:
[EMAIL PROTECTED]:/tmp/test-ac# grep -i HAVE_FSEEKO c-*/config.h
c-260/config.h:#define HAVE_FSEEKO 1
c-261/config.h:#define HAVE_FSEEKO 1



stdio.h (libc6-dev 2.3.6.ds1-8) only makes fseeko()/ftello() visible if
_LARGEFILE_SOURCE (or __USE_LARGEFILE) is defined.



Peter


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to