Bug 12546 - Missing argz.h causes the build to fail on FreeBSD 4.8
Summary: Missing argz.h causes the build to fail on FreeBSD 4.8
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: bootstrap (show other bugs)
Version: 3.4.0
: P2 normal
Target Milestone: 3.4.0
Assignee: Andrew Pinski
URL:
Keywords: documentation
Depends on:
Blocks:
 
Reported: 2003-10-09 07:38 UTC by Pietu Pohjalainen
Modified: 2005-07-23 22:49 UTC (History)
1 user (show)

See Also:
Host: i386-unknown-freebsd4.8
Target: i386-unknown-freebsd4.8
Build: i386-unknown-freebsd4.8
Known to work:
Known to fail:
Last reconfirmed: 2003-10-10 18:34:03


Attachments
Config.log of intl-subdir (2.44 KB, text/plain)
2003-10-09 16:28 UTC, Pietu Pohjalainen
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pietu Pohjalainen 2003-10-09 07:38:43 UTC
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]
Comment 1 Andrew Pinski 2003-10-09 15:13:15 UTC
Can you attach the config.log file fron gcc/intl?
Comment 2 Pietu Pohjalainen 2003-10-09 16:28:50 UTC
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'.
Comment 3 Andrew Pinski 2003-10-10 18:32:58 UTC
Looks like sed is causing this. Also likely related to bug 12396 which I closed.
Comment 4 Pietu Pohjalainen 2003-10-13 11:54:28 UTC
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. 
Comment 5 Andrew Pinski 2003-10-13 16:14:34 UTC
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".
Comment 6 Andrew Pinski 2003-10-17 16:31:31 UTC
Patch here: <http://gcc.gnu.org/ml/gcc-patches/2003-10/msg01427.html>.
Comment 7 GCC Commits 2003-10-17 22:37:04 UTC
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

Comment 8 Andrew Pinski 2003-10-17 22:38:24 UTC
This is documented now will revisit when all of the configure files become 2.5.x based.