guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Binutils build failure on MIPS


From: Ludovic Courtès
Subject: Re: Binutils build failure on MIPS
Date: Thu, 22 Sep 2016 01:02:38 +0900
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Hi!

Andreas Enge <address@hidden> skribis:

> On Tue, Sep 13, 2016 at 02:45:40PM +0200, Ludovic Courtès 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/configure: 
> 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-boot0-2.27.drv' 
> failed with exit code 1
> @ build-failed 
> /gnu/store/yw6kb2vqqws3gnrmvlp44h60rlpw4ldr-binutils-cross-boot0-2.27.drv - 1 
> builder for 
> `/gnu/store/yw6kb2vqqws3gnrmvlp44h60rlpw4ldr-binutils-cross-boot0-2.27.drv' 
> failed with exit code 1
> guix build: error: build failed: build of 
> `/gnu/store/yw6kb2vqqws3gnrmvlp44h60rlpw4ldr-binutils-cross-boot0-2.27.drv' 
> failed
>
> I launched a ./configure by hand inside the ld subdirectory, after sourcing
> 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=`${PWD_COMMAND}`; export r; \
>         s=`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=$(srcdir) ;; \
>           *) topdir=`echo $(HOST_SUBDIR)/ld/ | \
>                 sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \
>         esac; \
>         module_srcdir=ld; \
>         $(SHELL) \
>           $$s/$$module_srcdir/configure \
>           --srcdir=$${topdir}/$$module_srcdir \
>           $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \
>           --target=${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
‘set’ just before the “unhandled emulation” line in order to see the
value of the variables?

I tried this on my x86_64 machine:

  ./configure -C --prefix=$HOME/soft --build=mips64el-unknown-linux-gnu 
--target=mips64el-guix-linux-gnu

to mimic the configure flags shown at
<https://hydra.gnu.org/build/1470440/nixlog/4/raw>.  Unfortunately it
doesn’t exhibit the problem.

Thanks for looking into it!

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]