Лорушка, только на тебя надежда.
Пытаюсь перенести свои рабочие процессы на Guix, для чего нужно научиться собирать buildroot и coreboot. Общая проблема - не собирается gcc из исходников.
Проблему описал в баг-трекере, там же описал лёгкий способ воспроизведения:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41091
Ошибки:
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);
Изменения версий компилятора (собираемого или хостового) не особо помогают, ошибки на месте.
Может какой-нибудь опытный пользователь Guix или собиратель GCC знает, как с этим бороться? Ошибка вроде гуглится, но толкового решения я не могу найти.
Помогите, пожалуйста.
cross-compilation, gcc, guix, guixsd, toolchain