# devel/gcc not building



## xibo (Mar 18, 2012)

Hello

I'm failing to build lang/gcc, as well as lang/gcc46 and lang/gcc47 (full build log: View attachment lang.gcc.txt.bz2):

```
srcdir="../.././../gcc-4.6.3/fixincludes" /bin/sh ../.././../gcc-4.6.3/fixincludes/mkfixinc.sh x86_64-portbld-freebsd9.0
sed -e 's/@gcc_version@/4.6.3/' < mkheaders.almost > mkheadersT
mv -f mkheadersT mkheaders
gmake[3]: Leaving directory `/usr/obj/usr/ports/lang/gcc/work/build/build-x86_64-portbld-freebsd9.0/fixincludes'
Configuring stage 1 in ./libcpp
configure: creating cache ./config.cache
checking build system type... x86_64-portbld-freebsd9.0
checking host system type... x86_64-portbld-freebsd9.0
checking target system type... x86_64-portbld-freebsd9.0
checking whether gmake sets $(MAKE)... yes
checking for a BSD-compatible install... /usr/bin/install -c -o root -g wheel
checking for x86_64-portbld-freebsd9.0-gcc... cc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking whether we are using the GNU C++ compiler... yes
checking whether c++ accepts -g... yes
checking for x86_64-portbld-freebsd9.0-ranlib... /usr/local/bin/ranlib
checking how to run the C preprocessor... cpp
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for aclocal... aclocal
checking for autoconf... autoconf
checking for autoheader... autoheader
checking whether cc supports -W... yes
checking whether cc supports -Wall... yes
checking whether cc supports -Wwrite-strings... yes
checking whether cc supports -Wmissing-format-attribute... yes
checking whether cc supports -Wstrict-prototypes... yes
checking whether cc supports -Wmissing-prototypes... yes
checking whether cc supports -Wold-style-definition... yes
checking whether cc supports -Wc++-compat... yes
checking whether cc supports -pedantic -Wno-long-long... yes
checking dependency style of cc... gcc3
checking whether time.h and sys/time.h may both be included... yes
checking whether string.h and strings.h may both be included... yes
checking locale.h usability... yes
checking locale.h presence... yes
checking for locale.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for strings.h... (cached) yes
checking for string.h... (cached) yes
checking sys/file.h usability... yes
checking sys/file.h presence... yes
checking for sys/file.h... yes
checking for unistd.h... (cached) yes
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for obstacks... no
checking for off_t... yes
checking for size_t... yes
checking for ssize_t... yes
checking for uintptr_t... yes
checking for ptrdiff_t... yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking size of int... 4
checking size of long... 8
checking for clearerr_unlocked... yes
checking for feof_unlocked... yes
checking for ferror_unlocked... yes
checking for fflush_unlocked... no
checking for fgetc_unlocked... no
checking for fgets_unlocked... no
checking for fileno_unlocked... yes
checking for fprintf_unlocked... no
checking for fputc_unlocked... no
checking for fputs_unlocked... no
checking for fread_unlocked... no
checking for fwrite_unlocked... no
checking for getchar_unlocked... yes
checking for getc_unlocked... yes
checking for putchar_unlocked... yes
checking for putc_unlocked... yes
checking whether abort is declared... yes
checking whether asprintf is declared... yes
checking whether basename is declared... no
checking whether errno is declared... no
checking whether getopt is declared... yes
checking whether vasprintf is declared... yes
checking whether clearerr_unlocked is declared... yes
checking whether feof_unlocked is declared... yes
checking whether ferror_unlocked is declared... yes
checking whether fflush_unlocked is declared... no
checking whether fgetc_unlocked is declared... no
checking whether fgets_unlocked is declared... no
checking whether fileno_unlocked is declared... yes
checking whether fprintf_unlocked is declared... no
checking whether fputc_unlocked is declared... no
checking whether fputs_unlocked is declared... no
checking whether fread_unlocked is declared... no
checking whether fwrite_unlocked is declared... no
checking whether getchar_unlocked is declared... yes
checking whether getc_unlocked is declared... yes
checking whether putchar_unlocked is declared... yes
checking whether putc_unlocked is declared... yes
checking for working alloca.h... no
checking for alloca... yes
checking for ANSI C header files... (cached) yes
checking for nl_langinfo and CODESET... yes
checking whether NLS is requested... no
checking for uchar... 
checking for ld used by GCC... /usr/local/bin/ld
checking if the linker (/usr/local/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for iconv... yes
checking for iconv declaration... install-shextern size_t iconv (iconv_t cd, const char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
configure: updating cache ./config.cache
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depdir commands
mkdir .deps
gmake[3]: Entering directory `/usr/obj/usr/ports/lang/gcc/work/build/libcpp'
cc  -I.././../gcc-4.6.3/libcpp -I. -I.././../gcc-4.6.3/libcpp/../include -I.././../gcc-4.6.3/libcpp/include  -g -fkeep-inline-functions -W -Wall -Wwrite-strings
 -Wmissing-format-attribute -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -Wc++-compat -pedantic -Wno-long-long  -I.././../gcc-4.6.3/libcpp
 -I. -I.././../gcc-4.6.3/libcpp/../include -I.././../gcc-4.6.3/libcpp/include  -c -o charset.o -MT charset.o -MMD -MP -MF .deps/charset.Tpo .././../
gcc-4.6.3/libcpp/charset.c
.././../gcc-4.6.3/libcpp/charset.c:1373: error: conflicting types for 'cpp_interpret_string'
.././../gcc-4.6.3/libcpp/include/cpplib.h:744: error: previous declaration of 'cpp_interpret_string' was here
.././../gcc-4.6.3/libcpp/charset.c:1455: error: conflicting types for 'cpp_interpret_string_notranslate'
.././../gcc-4.6.3/libcpp/include/cpplib.h:747: error: previous declaration of 'cpp_interpret_string_notranslate' was here
gmake[3]: *** [charset.o] Error 1
gmake[3]: Leaving directory `/usr/obj/usr/ports/lang/gcc/work/build/libcpp'
gmake[2]: *** [all-stage1-libcpp] Error 2
gmake[2]: Leaving directory `/usr/obj/usr/ports/lang/gcc/work/build'
gmake[1]: *** [stage1-bubble] Error 2
gmake[1]: Leaving directory `/usr/obj/usr/ports/lang/gcc/work/build'
gmake: *** [bootstrap-lean] Error 2
```

I am using GENERIC FreeBSD 9.0-STABLE #0 r233033, although it was failing for some weeks. Trying to build the port with clang makes no difference.

make.conf:

```
WRKDIRPREFIX=/usr/obj
NO_WERROR=
NO_FSCHG=
WERROR=

WITH_ICONV=YES
WITHOUT_NOUVEAU=YES

DISABLE_MAKE_JOBS=YES
# added by use.perl 2012-02-19 22:23:34
PERL_VERSION=5.12.4
```

Has someone else experienced this failure?


----------



## jb_fvwm2 (Mar 18, 2012)

Is  (are) math/gmp (etc) the most recent version? Does it show the same error upon restart, and if you temporarily move /etc/make.conf out of the way?


----------



## xibo (Mar 19, 2012)

gmp and mpfr were indeed both out of date / not most-recent versions. I upgraded them both but the error remains. Same after deleting /etc/make.conf.


----------



## xibo (Apr 1, 2012)

I found out the cause. While I removed everything from make.conf and rebuilt everything in ports, the base system wasn't recompiled, and the version installed had 
	
	



```
WITH_ICONV="YES"
```
 which causes misbehaviour in building lang/gcc (it's the only thing that misbehaves it seems, though).
After I removed the iconv line and rebuild/reinstalled the base system, the gcc ports build again.


----------

