From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#37876: Regression in MAKE-GCC-TOOLCHAIN after core-updates merge Date: Tue, 22 Oct 2019 23:09:02 +0200 Message-ID: <874l00xzbl.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:50313) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iN1Q6-0003ey-VS for bug-guix@gnu.org; Tue, 22 Oct 2019 17:10:42 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iN1Pm-0006Gt-Ub for bug-guix@gnu.org; Tue, 22 Oct 2019 17:10:22 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51722) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1iN1Pm-0006Gb-CU for bug-guix@gnu.org; Tue, 22 Oct 2019 17:10:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1iN1Pm-0006DL-52 for bug-guix@gnu.org; Tue, 22 Oct 2019 17:10:02 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: (Carl Dong's message of "Tue, 22 Oct 2019 19:36:15 +0000") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Carl Dong Cc: 37876@debbugs.gnu.org Hello, Carl Dong skribis: > I believe there's been a recent regression w/re MAKE-GCC-TOOLCHAIN. I'm u= nable > to guix build the following minimal reproducer: > > (use-modules (gnu packages commencement) > (gnu packages gcc) > (gnu packages base)) > > (make-gcc-toolchain gcc glibc-2.27) > > My guix describe output: > Generation 33 Oct 22 2019 15:07:03 (current) > guix f5d6c88 > repository URL: https://git.savannah.gnu.org/git/guix.git > commit: f5d6c88d0f5e1556295c1a19c46ddfcb7a23107f > > The build failure logs can be found here: > https://www.dropbox.com/s/y7sg3m786ziiwvb/gcc-glibc-2.27-7.4.0.drv.log?dl= =3D0 So we see tons of things like: --8<---------------cut here---------------start------------->8--- In file included from /gnu/store/5k8l1l6j8sjws40xvlhs7hqjb68ylf7l-glibc-2.2= 7/include/bits/fcntl.h:61:0, from /gnu/store/5k8l1l6j8sjws40xvlhs7hqjb68ylf7l-glibc-2.2= 7/include/fcntl.h:35, from ../../gcc-7.4.0/gcc/system.h:349, from ../../gcc-7.4.0/gcc/genchecksum.c:21: /gnu/store/5k8l1l6j8sjws40xvlhs7hqjb68ylf7l-glibc-2.27/include/bits/fcntl-l= inux.h:355:27: warning: ISO C++ forbids zero-size array =E2=80=98f_handle= =E2=80=99 [-Wpedantic] unsigned char f_handle[0]; ^ In file included from ./bconfig.h:3:0, from ../../gcc-7.4.0/gcc/genchecksum.c:20: ./auto-host.h:2363:16: error: declaration does not declare anything [-fperm= issive] #define rlim_t long ^ /gnu/store/5k8l1l6j8sjws40xvlhs7hqjb68ylf7l-glibc-2.27/include/bits/resourc= e.h:131:18: note: in expansion of macro =E2=80=98rlim_t=E2=80=99 typedef __rlim_t rlim_t; ^~~~~~ [=E2=80=A6] ../../gcc-7.4.0/gcc/system.h:540:20: error: conflicting declaration of C fu= nction =E2=80=98const char* strsignal(int)=E2=80=99 extern const char *strsignal (int); ^~~~~~~~~ In file included from /gnu/store/x3jx25cd3q363mr7nbgzrhrv1vza6cf7-gcc-7.4.0= /include/c++/cstring:42:0, from ../../gcc-7.4.0/gcc/system.h:235, from ../../gcc-7.4.0/gcc/genhooks.c:21: /gnu/store/5k8l1l6j8sjws40xvlhs7hqjb68ylf7l-glibc-2.27/include/string.h:446= :14: note: previous declaration =E2=80=98char* strsignal(int)=E2=80=99 extern char *strsignal (int __sig) __THROW; ^~~~~~~~~ [=E2=80=A6] In file included from ../../gcc-7.4.0/gcc/genmodes.c:21:0: ../../gcc-7.4.0/gcc/system.h:488:14: error: conflicting declaration of C fu= nction =E2=80=98void* sbrk(int)=E2=80=99 extern void *sbrk (int); ^~~~ In file included from ../../gcc-7.4.0/gcc/system.h:294:0, from ../../gcc-7.4.0/gcc/genmodes.c:21: /gnu/store/5k8l1l6j8sjws40xvlhs7hqjb68ylf7l-glibc-2.27/include/unistd.h:104= 4:14: note: previous declaration =E2=80=98void* sbrk(intptr_t)=E2=80=99 extern void *sbrk (intptr_t __delta) __THROW; ^~~~ [=E2=80=A6] make[1]: Leaving directory '/tmp/guix-build-gcc-glibc-2.27-7.4.0.drv-0/buil= d' make: *** [Makefile:934: all] Error 2 command "make" "-j" "48" "FLAGS_FOR_TARGET=3D-B/gnu/store/5k8l1l6j8sjws40xv= lhs7hqjb68ylf7l-glibc-2.27/lib" "LDFLAGS_FOR_TARGET=3D-B/gnu/store/5k8l1l6j= 8sjws40xvlhs7hqjb68ylf7l-glibc-2.27/lib -Wl,-dynamic-linker -Wl,/gnu/store/= 5k8l1l6j8sjws40xvlhs7hqjb68ylf7l-glibc-2.27/lib/ld-linux-x86-64.so.2" "LDFL= AGS=3D-Wl,-rpath=3D/gnu/store/5k8l1l6j8sjws40xvlhs7hqjb68ylf7l-glibc-2.27/l= ib -Wl,-dynamic-linker -Wl,/gnu/store/5k8l1l6j8sjws40xvlhs7hqjb68ylf7l-glib= c-2.27/lib/ld-linux-x86-64.so.2" "BOOT_CFLAGS=3D-O2 -g0" failed with status --8<---------------cut here---------------end--------------->8--- The =E2=80=98configure=E2=80=99 phase shows that =E2=80=98strsignal=E2=80= =99 and =E2=80=98sbrk=E2=80=99 were not quite found, but this is confusing: --8<---------------cut here---------------start------------->8--- checking for strsignal... no checking for pstat_getstatic... yes checking for sysconf... no checking for realpath... yes checking for sysctl... yes checking for setrlimit... yes checking for sysmp... yes checking for sbrk... no checking for table... yes checking for spawnve... no checking for times... no checking for spawnvpe... yes checking for wait3... no checking for strerror... yes checking for wait4... yes checking for strsignal... yes [=E2=80=A6] checking whether sbrk is declared... yes --8<---------------cut here---------------end--------------->8--- Does it work with =E2=80=98glibc-2.28=E2=80=99? We=E2=80=99re not building any such toolchain in CI but we probably should= =E2=80=A6 Ludo=E2=80=99.