From mboxrd@z Thu Jan 1 00:00:00 1970 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: Binutils build failure on MIPS Date: Thu, 22 Sep 2016 01:02:38 +0900 Message-ID: <87zin1gs0x.fsf@gnu.org> References: <87y43qu8yw.fsf@netris.org> <87r39hc1kz.fsf@netris.org> <87bn0b1two.fsf@gnu.org> <8760q3opyl.fsf@gnu.org> <878tuwyg13.fsf@gnu.org> <874m5k9pev.fsf_-_@gnu.org> <87zinc3r4b.fsf@gnu.org> <20160918184722.GA7719@solar> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50306) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bmjyy-00062s-Hd for guix-devel@gnu.org; Wed, 21 Sep 2016 12:02:49 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bmjyu-0000rI-E6 for guix-devel@gnu.org; Wed, 21 Sep 2016 12:02:48 -0400 In-Reply-To: <20160918184722.GA7719@solar> (Andreas Enge's message of "Sun, 18 Sep 2016 20:47:22 +0200") List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: Andreas Enge Cc: Guix-devel Hi! Andreas Enge skribis: > On Tue, Sep 13, 2016 at 02:45:40PM +0200, Ludovic Court=C3=A8s wrote: >> You need a mips64el machine to run: >> ./pre-inst-env guix build -e '(@@ (gnu packages commencement) binutils= -boot0)' > > I just did this (together with the paramater "-K"!), but the problem is > that I have no idea what is happening inside... > > The configure phase actually passes, the problem appears inside the build > phase, which itself launches a number of configure runs in subdirectories. > The last lines of the log are: > checking size of void *... 4 > /tmp/guix-build-binutils-cross-boot0-2.27.drv-0/binutils-2.27/ld/configur= e: unhandled emulation > make[1]: *** [Makefile:7125: configure-ld] Error 1 > make[1]: Leaving directory '/tmp/guix-build-binutils-cross-boot0-2.27.drv= -0/binutils-2.27' > make: *** [Makefile:852: all] Error 2 > phase `build' failed after 1434.0 seconds > note: keeping build directory `/tmp/guix-build-binutils-cross-boot0-2.27.= drv-1' > builder for `/gnu/store/yw6kb2vqqws3gnrmvlp44h60rlpw4ldr-binutils-cross-b= oot0-2.27.drv' failed with exit code 1 > @ build-failed /gnu/store/yw6kb2vqqws3gnrmvlp44h60rlpw4ldr-binutils-cross= -boot0-2.27.drv - 1 builder for `/gnu/store/yw6kb2vqqws3gnrmvlp44h60rlpw4ld= r-binutils-cross-boot0-2.27.drv' failed with exit code 1 > guix build: error: build failed: build of `/gnu/store/yw6kb2vqqws3gnrmvlp= 44h60rlpw4ldr-binutils-cross-boot0-2.27.drv' failed > > I launched a ./configure by hand inside the ld subdirectory, after sourci= ng > the environment variables; it succeeds with > checking size of void *... 4 > configure: creating ./config.status > config.status: creating Makefile > config.status: creating po/Makefile.in > config.status: creating config.h > config.status: config.h is unchanged > config.status: executing depfiles commands > config.status: executing libtool commands > config.status: executing default-1 commands > config.status: creating po/POTFILES > config.status: creating po/Makefile > > So even during the build, configure runs until the last test. > However, it does not write ./config.status etc. > > The error message above contains > make[1]: *** [Makefile:7125: configure-ld] Error 1 > > Lines 7125 and following of the Makefile (one level up from the ld > subdirectory) are > configure-ld: > @r=3D`${PWD_COMMAND}`; export r; \ > s=3D`cd $(srcdir); ${PWD_COMMAND}`; export s; \ > test ! -f $(HOST_SUBDIR)/ld/Makefile || exit 0; \ > $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/ld; \ > $(HOST_EXPORTS) \ > echo Configuring in $(HOST_SUBDIR)/ld; \ > cd "$(HOST_SUBDIR)/ld" || exit 1; \ > case $(srcdir) in \ > /* | [A-Za-z]:[\\/]*) topdir=3D$(srcdir) ;; \ > *) topdir=3D`echo $(HOST_SUBDIR)/ld/ | \ > sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ > esac; \ > module_srcdir=3Dld; \ > $(SHELL) \ > $$s/$$module_srcdir/configure \ > --srcdir=3D$${topdir}/$$module_srcdir \ > $(HOST_CONFIGARGS) --build=3D${build_alias} --host=3D${host_ali= as} \ > --target=3D${target_alias} \ > || exit 1 > > So apparently the "exit 1" is triggered. > The beginning of the configure log looks like this: > Configuring in ./ld > configure: creating cache ./config.cache > checking build system type... mips64el-unknown-linux-gnu > checking host system type... mips64el-unknown-linux-gnu > checking target system type... mips64el-guix-linux-gnu > So it looks as if build_alias, host_alias and target_alias are set > correctly. > > Do you have any ideas of what to check? Could you check the values of _alias in the top-level Makefile? Alternately, could you edit ld/emulparams/elf32bmipn32-defs.sh and add =E2=80=98set=E2=80=99 just before the =E2=80=9Cunhandled emulation=E2=80=9D= line in order to see the value of the variables? I tried this on my x86_64 machine: ./configure -C --prefix=3D$HOME/soft --build=3Dmips64el-unknown-linux-gnu= --target=3Dmips64el-guix-linux-gnu to mimic the configure flags shown at . Unfortunately it doesn=E2=80=99t exhibit the problem. Thanks for looking into it! Ludo=E2=80=99.