- To: gcc-help@xxxxxxxxxxx
- Subject: 4.6.3 build error: go (gccgo) does not seem to see configure
- From: Michael Shell <list1@xxxxxxxxxxxxxxxx>
- Date: Tue, 20 Mar 2012 22:36:14 -0400
- Comment: DKIM? See http://www.dkim.org
- Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
I'm trying to build gcc 4.6.3 on a Linux From Scratch i586 system:
http://www.linuxfromscratch.org/lfs/view/development/chapter06/gcc.html
I am using the libiberty.a provided by binutils mod. My current gcc
version is 4.1.2. I am using a separate build directory (gcc-build).
My configure line is:
../gcc-4.6.3/configure --prefix=/usr --libexecdir=/usr/lib --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu --enable-languages=c,c++,fortran,go,objc,obj-c++ --disable-multilib --disable-bootstrap --with-system-zlib
During the build, I get an error for go:
g++ -c -I ../../gcc-4.6.3/gcc/go -I ../../gcc-4.6.3/gcc/go/gofrontend -I. -Igo -I../../gcc-4.6.3/gcc -I../../gcc-4.6.3/gcc/go -I../../gcc-4.6.3/gcc/../include -I../../gcc-4.6.3/gcc/../libcpp/include -I../../gcc-4.6.3/gcc/../libdecnumber -I../../gcc-4.6.3/gcc/../libdecnumber/bid -I../libdecnumber -fomit-frame-pointer -g -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -DHAVE_CONFIG_H ../../gcc-4.6.3/gcc/go/gofrontend/dataflow.cc -o go/dataflow.o
In file included from ../../gcc-4.6.3/gcc/go/gofrontend/dataflow.cc:7:
../../gcc-4.6.3/gcc/go/go-system.h:118:3: error: #error "requires hash table type"
../../gcc-4.6.3/gcc/system.h:462: error: declaration of C function 'const char* strsignal(int)' conflicts with
/usr/include/string.h:359: error: previous declaration 'char* strsignal(int)' here
../../gcc-4.6.3/gcc/go/gofrontend/gogo.h:640: error: ISO C++ forbids declaration of 'Unordered_map_hash' with no type
../../gcc-4.6.3/gcc/go/gofrontend/gogo.h:640: error: expected ';' before 'Map_descriptors'
../../gcc-4.6.3/gcc/go/gofrontend/gogo.h:644: error: ISO C++ forbids declaration of 'Unordered_map_hash' with no type
../../gcc-4.6.3/gcc/go/gofrontend/gogo.h:644: error: expected ';' before 'Type_descriptor_decls'
.
.
It seems that gccgo does not see that I HAVE_STRSIGNAL and
HAVE_TR1_UNORDERED_MAP and HAVE_EXT_HASH_MAP although my
gcc-build/gcc/config.log:
| #include <unordered_map>
configure:8572: result: no
configure:8583: checking for tr1/unordered_map
configure:8583: g++ -E conftest.cpp
configure:8583: $? = 0
configure:8583: result: yes
configure:8594: checking for ext/hash_map
configure:8594: g++ -E conftest.cpp
configure:8594: $? = 0
configure:8594: result: yes
.
.
configure:8835: checking for strsignal
configure:8835: gcc -o conftest -g conftest.c >&5
configure:8835: $? = 0
configure:8835: result: yes
and my gcc-build/gcc/auto-host.h:
/* Define to 1 if you have the `strsignal' function. */
#ifndef USED_FOR_TARGET
#define HAVE_STRSIGNAL 1
#endif
/* Define to 1 if you have the <ext/hash_map> header file. */
#ifndef USED_FOR_TARGET
#define HAVE_EXT_HASH_MAP 1
#endif
/* Define to 1 if you have the <tr1/unordered_map> header file. */
#ifndef USED_FOR_TARGET
#define HAVE_TR1_UNORDERED_MAP 1
#endif
indicate that I do in fact have these. It seems gccgo (and only gccgo) is
not properly seeing these configure settings because
gcc-4.63/gcc/go/go-system.h does not seem to see the configure settings
for HAVE_TR1_UNORDERED_MAP or HAVE_EXT_HASH_MAP and neither does
gcc-4.63/gcc/system.h (under gccgo) for HAVE_STRSIGNAL.
A search found this recent post to gcc-help which may be related,
(but was for gcc 4.6.1 and did not involve gccgo):
http://gcc.gnu.org/ml/gcc-help/2011-12/msg00021.html
However, that problem does not seem to have been solved.
Any suggestions or advice?
Thanks in advance,
Mike Shell
[Linux C Programming]
[Linux Kernel]
[eCos]
[Fedora Development]
[Fedora Announce]
[Autoconf]
[The DWARVES Debugging Tools]
[Yosemite Campsites]
[Yosemite News]
[Linux GCC]