can't build external gcc

  • Open
  • quality assurance status badge
Details
2 participants
  • Tim Komarov
  • raingloom
Owner
unassigned
Submitted by
Tim Komarov
Severity
normal
T
T
Tim Komarov wrote on 5 May 2020 03:35
(name . bug-guix)(address . bug-guix@gnu.org)
366751588641871@mail.yandex.ru
Many projects (Buildroot, coreboot, Yocto) require building a toolchain.

Every time it tries to build it (I've checked Buildroot and coreboot) it fails with the following errors:

In file included from ./bconfig.h:3:0,
from ../../gcc/gengtype-lex.c:4:
./auto-host.h:2396:16: error: declaration does not declare anything [-fpermissive]
#define rlim_t long
^
In file included from /d/gcc-8.4.0/gcc-8.4.0/gcc/gengtype-lex.l:30:0:
../../gcc/system.h:488:14: error: conflicting declaration of C function ‘void* sbrk(int)’
extern void *sbrk (int);

In file included from /d/gcc-8.4.0/gcc-8.4.0/gcc/gengtype-lex.l:30:0:
../../gcc/system.h:496:14: error: ambiguating new declaration of ‘char* strstr(const char*, const char*)’
extern char *strstr (const char *, const char *);

In file included from /d/gcc-8.4.0/gcc-8.4.0/gcc/gengtype-lex.l:30:0:
../../gcc/system.h:540:20: error: conflicting declaration of C function ‘const char* strsignal(int)’
extern const char *strsignal (int);

In file included from ../../gcc/system.h:691:0,
from /d/gcc-8.4.0/gcc-8.4.0/gcc/gengtype-lex.l:30:
../../gcc/../include/libiberty.h:112:14: error: ambiguating new declaration of ‘char* basename(const char*)’
extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1);

Switching gcc versions doesn't help.

One can find a simple way to reproduce in buildroot.txt, build-gcc.log provides a complete log.

Looking forward for your help. Thanks!

-- 
Best Regards,
Timofey Komarov
Attachment: build-gcc.log
tar -xf buildroot-2020.02.1.tar.gz
cd buildroot-2020.02.1
make menuconfig # save default
make
R
R
raingloom wrote on 6 May 2020 12:21
(address . bug-guix@gnu.org)
20200506122120.7a9d3bd6@riseup.net
On Tue, 05 May 2020 04:35:31 +0300
Tim Komarov <happycorsair@yandex.ru> wrote:

Toggle quote (42 lines)
> Many projects (Buildroot, coreboot, Yocto) require building a
> toolchain.
>
> Every time it tries to build it (I've checked Buildroot and coreboot)
> it fails with the following errors:
>
> In file included from ./bconfig.h:3:0,
> from ../../gcc/gengtype-lex.c:4:
> ./auto-host.h:2396:16: error: declaration does not declare anything
> [-fpermissive] #define rlim_t long
> ^
> In file included from /d/gcc-8.4.0/gcc-8.4.0/gcc/gengtype-lex.l:30:0:
> ../../gcc/system.h:488:14: error: conflicting declaration of C
> function ‘void* sbrk(int)’ extern void *sbrk (int);
>
> In file included from /d/gcc-8.4.0/gcc-8.4.0/gcc/gengtype-lex.l:30:0:
> ../../gcc/system.h:496:14: error: ambiguating new declaration of
> ‘char* strstr(const char*, const char*)’ extern char *strstr (const
> char *, const char *);
>
> In file included from /d/gcc-8.4.0/gcc-8.4.0/gcc/gengtype-lex.l:30:0:
> ../../gcc/system.h:540:20: error: conflicting declaration of C
> function ‘const char* strsignal(int)’ extern const char *strsignal
> (int);
>
> In file included from ../../gcc/system.h:691:0,
> from /d/gcc-8.4.0/gcc-8.4.0/gcc/gengtype-lex.l:30:
> ../../gcc/../include/libiberty.h:112:14: error: ambiguating new
> declaration of ‘char* basename(const char*)’ extern char *basename
> (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1);
>
> Switching gcc versions doesn't help.
>
> One can find a simple way to reproduce in buildroot.txt,
> build-gcc.log provides a complete log.
>
> Looking forward for your help. Thanks!
>
> -- 
> Best Regards,
> Timofey Komarov

What I'm trying to do (currently with devkitPro and EDK2) is to just
create a Guix package for the patched GCC toolchain and either use that
directly (devkitPro) or convince the build scripts to use the packaged
toolchain (EDK2).

I'm not sure if it will work out, but in the long run, it seems like
the better choice. That is, if it will work at all.
?