bug-guix
[Top][All Lists]
Advanced

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

Re: Porting to mips64el


From: Ludovic Courtès
Subject: Re: Porting to mips64el
Date: Wed, 23 Jan 2013 16:33:38 +0100
User-agent: Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.2 (gnu/linux)

Hi,

Nikita Karetnikov <address@hidden> skribis:

>> Wild guess: you’re building outside of a chroot, and Perl’s configure
>> found /usr/lib/libgdbm.so, so it decided to link against it, which
>> didn’t work because our linker doesn’t look for libraries there.
>
>> Can you confirm?
>
>> Solution: add “build-use-chroot = true” in nix.conf.
>
> Everything I tried failed.
>
> First attempt:
>
> # cat /usr/local/etc/nix/nix.conf
> build-users-group = nixbld
> build-use-chroot = true
>
> # ./pre-inst-env guix-build -K                \
>       -e '(@ (gnu packages make-bootstrap) %bootstrap-tarballs)'  \
>       --system=mips64el-linux
>
> [...]
>
> @ build-started /nix/store/1qladfk4nppn4bgq6v6agy69r4pwgy9w-patch-2.6.1.drv 
> /nix/store/sbgh5q8blbf0nd3w81qpzy47plmrphzp-patch-2.6.1 mips64el-linux 
> /nix/var/log/nix/drvs/1qladfk4nppn4bgq6v6agy69r4pwgy9w-patch-2.6.1.drv.bz2
> build error: mounting /proc: No such file or directory

This is weird.  Is it nix-daemon?  Which version?

> Second:
>
> # cat /usr/local/etc/nix/nix.conf
> build-users-group = nixbld
> build-use-chroot = true
> build-chroot-dirs = /dev /proc
>
> @ build-started /nix/store/1qladfk4nppn4bgq6v6agy69r4pwgy9w-patch-2.6.1.drv 
> /nix/store/sbgh5q8blbf0nd3w81qpzy47plmrphzp-patch-2.6.1 mips64el-linux 
> /nix/var/log/nix/drvs/1qladfk4nppn4bgq6v6agy69r4pwgy9w-patch-2.6.1.drv.bz2
> building /nix/store/sbgh5q8blbf0nd3w81qpzy47plmrphzp-patch-2.6.1
> unpacking sources
> unpacking source archive 
> /nix/store/ics0cri221a5lnym4a92xsyv02qis003-patch-2.6.1.tar.gz
> source root is patch-2.6.1
> patching sources
> configuring
> configure flags: 
> --prefix=/nix/store/sbgh5q8blbf0nd3w81qpzy47plmrphzp-patch-2.6.1  
> /nix/store/71xcmhyizrp7n0xl596waid5fijckchm-stdenv-linux-boot/setup: 
> ./configure: /bin/sh: bad interpreter: No such file or directory

As you’ve surely guessed ;-), the chroot lacks /bin/sh, hence the error.
Here, you’re building Patch from Nixpkgs, and Nixpkgs requires /bin/sh.

Now, I thought you had successfully built Nixpkgs’s stdenv, and had even
started building Perl from Guix, no?  In that case, I don’t see why
Nixpkgs’s Patch is being rebuilt here.

> Third:
>
> # cat /usr/local/etc/nix/nix.conf
> build-users-group = nixbld
> build-use-chroot = true
> build-chroot-dirs = /dev /proc /bin
>
> @ build-started /nix/store/1qladfk4nppn4bgq6v6agy69r4pwgy9w-patch-2.6.1.drv 
> /nix/store/sbgh5q8blbf0nd3w81qpzy47plmrphzp-patch-2.6.1 mips64el-linux 
> /nix/var/log/nix/drvs/1qladfk4nppn4bgq6v6agy69r4pwgy9w-patch-2.6.1.drv.bz2
> building /nix/store/sbgh5q8blbf0nd3w81qpzy47plmrphzp-patch-2.6.1
> unpacking sources
> unpacking source archive 
> /nix/store/ics0cri221a5lnym4a92xsyv02qis003-patch-2.6.1.tar.gz
> source root is patch-2.6.1
> patching sources
> configuring
> configure flags: 
> --prefix=/nix/store/sbgh5q8blbf0nd3w81qpzy47plmrphzp-patch-2.6.1  
> /nix/store/71xcmhyizrp7n0xl596waid5fijckchm-stdenv-linux-boot/setup: 
> ./configure: /bin/sh: bad interpreter: No such file or directory

Here /bin/sh is dynamically linked, hence the failure.

> I'll try to build statically-linked Bash.  Then I'll place it in
> '/bin/sh' and try again.  (This worked on i686.)

OK.

Ludo’.



reply via email to

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