The configure script in the gcc/intl seems to be wrong. When trying to find argz.h, locale.h and nl_types.h, it prints out an error message "grep: conftest.out: No such file or directory", and then deduces that the given header is available on the system (see the attached log). Due to this, the compilation fails at gcc/intl/l10nflist.c:33: argz.h: No such file or directory Below is a log of the configuration & make in the gcc/intl -dir. --- clip --- Configuring in intl loading cache .././config.cache checking for non-GNU ld... /usr/libexec/elf/ld checking if the linker (/usr/libexec/elf/ld) is GNU ld... yes checking how to run the C preprocessor... (cached) $gcc -E checking for inttypes.h... no checking for stdint.h... no checking for unsigned long long... yes checking for shared library run path origin... done checking whether make sets ${MAKE}... yes checking for a BSD compatible install... (cached) $/usr/bin/install -c checking whether NLS is requested... yes checking for gcc... (cached) gcc checking whether the C compiler (gcc -g -O2 ) works... yes checking whether the C compiler (gcc -g -O2 ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... (cached) yes checking host system type... i386-unknown-freebsd4.8 checking for ranlib... (cached) ranlib checking for strerror in -lcposix... no checking for ANSI C header files... (cached) yes checking for working const... (cached) yes checking for inline... (cached) inline checking for off_t... no checking for size_t... no checking for working alloca.h... (cached) no checking for alloca... yes checking for unistd.h... (cached) yes checking for getpagesize... (cached) yes checking for working mmap... (cached) yes checking whether we are using the GNU C Library 2.1 or newer... no checking whether integer division by zero raises SIGFPE... yes checking for inttypes.h... yes checking whether the inttypes.h PRIxNN macros are broken... no checking for msgfmt... /usr/local/bin/msgfmt checking for gmsgfmt... /usr/local/bin/msgfmt checking for xgettext... /usr/local/bin/xgettext checking for msgmerge... /usr/local/bin/msgmerge checking for argz.h... grep: conftest.out: No such file or directory yes checking for limits.h... (cached) yes checking for locale.h... grep: conftest.out: No such file or directory yes checking for nl_types.h... grep: conftest.out: No such file or directory yes checking for malloc.h... (cached) no checking for stddef.h... grep: conftest.out: No such file or directory yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for unistd.h... (cached) yes checking for sys/param.h... (cached) yes checking for feof_unlocked... no checking for fgets_unlocked... no checking for getc_unlocked... no checking for getcwd... (cached) yes checking for getegid... yes checking for geteuid... yes checking for getgid... yes checking for getuid... yes checking for mempcpy... (cached) no checking for munmap... yes checking for putenv... (cached) yes checking for setenv... (cached) yes checking for setlocale... yes checking for stpcpy... (cached) no checking for strcasecmp... (cached) yes checking for strdup... (cached) yes checking for strtoul... (cached) yes checking for tsearch... yes checking for __argz_count... no checking for __argz_stringify... no checking for __argz_next... no checking for __fsetlocking... no checking for iconv... no, consider installing GNU libiconv checking for nl_langinfo and CODESET... yes checking for LC_MESSAGES... yes checking for bison... bison checking version of bison... 1.75, ok checking whether NLS is requested... yes checking whether included gettext is requested... no checking for GNU gettext in libc... no checking for GNU gettext in libintl... no checking whether to use NLS... yes checking where the gettext function comes from... included intl directory updating cache .././config.cache creating ./config.status creating Makefile creating config.intl creating config.h CONFIG_HEADERS=config.h CONFIG_FILES= /bin/sh config.status creating config.h config.h is unchanged echo timestamp > cstamp-h cp ../../gcc/intl/libgnuintl.h libintl.h gcc -c -g -O2 -DHAVE_CONFIG_H -I. - I../../gcc/intl ../../gcc/intl/bindtextdom.c In file included from ../../gcc/intl/bindtextdom.c:23: /usr/include/stddef.h:53: warning: useless keyword or type name in empty declaration /usr/include/stddef.h:53: warning: empty declaration gcc -c -g -O2 -DHAVE_CONFIG_H -I. -I../../gcc/intl ../../gcc/intl/dcgettext.c In file included from ../../gcc/intl/gettextP.h:23, from ../../gcc/intl/dcgettext.c:23: /usr/include/stddef.h:53: warning: useless keyword or type name in empty declaration /usr/include/stddef.h:53: warning: empty declaration gcc -c -g -O2 -DHAVE_CONFIG_H -I. -I../../gcc/intl ../../gcc/intl/dgettext.c In file included from ../../gcc/intl/gettextP.h:23, from ../../gcc/intl/dgettext.c:25: /usr/include/stddef.h:53: warning: useless keyword or type name in empty declaration /usr/include/stddef.h:53: warning: empty declaration gcc -c -g -O2 -DHAVE_CONFIG_H -I. -I../../gcc/intl ../../gcc/intl/gettext.c In file included from ../../gcc/intl/gettext.c:27: /usr/include/stdlib.h:52: warning: useless keyword or type name in empty declaration /usr/include/stdlib.h:52: warning: empty declaration gcc -c -g -O2 -DHAVE_CONFIG_H -I. -I../../gcc/intl ../../gcc/intl/finddomain.c In file included from ../../gcc/intl/finddomain.c:24: /usr/include/stdio.h:47: warning: useless keyword or type name in empty declaration /usr/include/stdio.h:47: warning: empty declaration In file included from ../../gcc/intl/finddomain.c:25: /usr/include/sys/types.h:82: warning: useless keyword or type name in empty declaration /usr/include/sys/types.h:82: warning: empty declaration gcc -c -g -O2 -DHAVE_CONFIG_H -I. -I../../gcc/intl ../../gcc/intl/loadmsgcat.c In file included from /usr/include/ctype.h:52, from ../../gcc/intl/loadmsgcat.c:30: /usr/include/runetype.h:52: warning: useless keyword or type name in empty declaration /usr/include/runetype.h:52: warning: empty declaration In file included from /usr/include/fcntl.h:52, from ../../gcc/intl/loadmsgcat.c:32: /usr/include/sys/types.h:82: warning: useless keyword or type name in empty declaration /usr/include/sys/types.h:82: warning: empty declaration gcc -c -g -O2 -DHAVE_CONFIG_H - DLOCALE_ALIAS_PATH="\"/home/ppohja/gcc/share/locale\"" -I. - I../../gcc/intl ../../gcc/intl/localealias.c In file included from /usr/include/ctype.h:52, from ../../gcc/intl/localealias.c:30: /usr/include/runetype.h:52: warning: useless keyword or type name in empty declaration /usr/include/runetype.h:52: warning: empty declaration In file included from ../../gcc/intl/localealias.c:35: /usr/include/sys/types.h:82: warning: useless keyword or type name in empty declaration /usr/include/sys/types.h:82: warning: empty declaration gcc -c -g -O2 -DHAVE_CONFIG_H -I. -I../../gcc/intl ../../gcc/intl/textdomain.c In file included from ../../gcc/intl/textdomain.c:23: /usr/include/stdlib.h:52: warning: useless keyword or type name in empty declaration /usr/include/stdlib.h:52: warning: empty declaration gcc -c -g -O2 -DHAVE_CONFIG_H -I. -I../../gcc/intl ../../gcc/intl/l10nflist.c ../../gcc/intl/l10nflist.c:33: argz.h: No such file or directory *** Error code 1 Stop in /usr/home/ppohja/compile/objdir/intl. *** Error code 1 Stop in /usr/home/ppohja/compile/objdir. % gcc -v Using builtin specs. gcc version 2.95.4 20020320 [FreeBSD]
Can you attach the config.log file fron gcc/intl?
Created attachment 4905 [details] Config.log of intl-subdir The config.log file describes the immediate reason to the bug: for the mentioned files a compiler named '$gcc' is tried to use instead of 'gcc'.
Looks like sed is causing this. Also likely related to bug 12396 which I closed.
Setting the environment variable CONFIG_SHELL to e.g. /bin/bash causes the name of the gcc being found correctly, and thus lets the bootstrap process to be completed. I was running the configure in zsh version 3.0.8. The reasons for the wrong binary name are exactly the same as reported in bug 12396.
zsh is known not to be fully POSIX compliant (but not really documented at all, I will do that soon) and <http://gcc.gnu.org/install/prerequisites.html> says you need "A "working" POSIX compatible shell, or GNU bash".
Patch here: <http://gcc.gnu.org/ml/gcc-patches/2003-10/msg01427.html>.
Subject: Bug 12546 CVSROOT: /cvs/gcc Module name: gcc Changes by: pinskia@gcc.gnu.org 2003-10-17 22:36:58 Modified files: gcc : ChangeLog gcc/doc : install.texi Log message: 2003-10-17 Andrew Pinski <pinskia@physics.uc.edu> PR bootstrap/12546 * doc/install.texi: Document that zsh does not work when configuring gcc. Patches: http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.1455&r2=2.1456 http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/doc/install.texi.diff?cvsroot=gcc&r1=1.227&r2=1.228
This is documented now will revisit when all of the configure files become 2.5.x based.