bug-guix
[Top][All Lists]
Advanced

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

Re: Porting to mips64el


From: Nikita Karetnikov
Subject: Re: Porting to mips64el
Date: Wed, 09 Jan 2013 10:53:58 -0500

> Well, you could modify Nixpkgs for that.  But note that only the headers
> are used, and they are bit-for-bit the same as those of the
> corresponding Linux-Libre.  Furthermore, you will no longer need Nixpkgs
> once you’ve built the bootstrap binaries for Guix, so I would not
> bother.

Anyway, I'd like to know how to do it because I often use 'nix-env' to
test things.

'glibc' failed again.

# ./pre-inst-env guix-build -K                                           \
  -e '(@@ (distro packages make-bootstrap) %bootstrap-binaries-tarball)' \
  --system=mips64el-linux

[...]

make[2]: Leaving directory 
`/tmp/nix-build-qc2f73airw91j5hjq7dn7737wzbcygq9-glibc-2.13.drv-0/glibc-2.13/login'
building elf/others
make  subdir=elf -C elf ..=../ others
make[1]: *** [elf/others] Killed
make[1]: Leaving directory 
`/tmp/nix-build-qc2f73airw91j5hjq7dn7737wzbcygq9-glibc-2.13.drv-0/glibc-2.13'
make: *** [all] Error 2
builder for `/nix/store/qc2f73airw91j5hjq7dn7737wzbcygq9-glibc-2.13.drv' failed 
with exit code 2
@ build-failed /nix/store/qc2f73airw91j5hjq7dn7737wzbcygq9-glibc-2.13.drv 
/nix/store/ifd3d65hsymw84axpvb6x1qk76l40gw4-glibc-2.13 1 builder for 
`/nix/store/qc2f73airw91j5hjq7dn7737wzbcygq9-glibc-2.13.drv' failed with exit 
code 2
cannot build derivation 
`/nix/store/gl6lyv6z12sy7lvmzb9r77jn0bjsnm7d-linux-libre-headers-3.3.8.drv': 1 
dependencies couldn't be built
cannot build derivation 
`/nix/store/isii94vycpcsz6gjngks19lkz899aklg-guile-2.0.7.drv': 1 dependencies 
couldn't be built
cannot build derivation 
`/nix/store/v3v933mnmy0q1aa9nk93pskn5514i2rp-static-binaries-tarball-0.drv': 1 
dependencies couldn't be built
error: build failed: build of 
`/nix/store/v3v933mnmy0q1aa9nk93pskn5514i2rp-static-binaries-tarball-0.drv' 
failed
3080 worker operations

Some snippets from 'config.log':

/nix/store/91f8rlqhb9vgkghaf9p6bi7giadaawn3-bootstrap-tools/bin/gcc: error 
trying to exec 
'/nix/store/91f8rlqhb9vgkghaf9p6bi7giadaawn3-bootstrap-tools/bin/mips64el-unknown-linux-gcc--B/nix/store/hdwf3jcqrbcz5c676ch8ysf7agi51wfg-bootstrap-glibc/lib/':
 execvp: No such file or directory

conftest.c:9:28: fatal error: ac_nonexistent.h: No such file or directory
compilation terminated.

/nix/store/91f8rlqhb9vgkghaf9p6bi7giadaawn3-bootstrap-tools/bin/g++: error 
trying to exec 
'/nix/store/91f8rlqhb9vgkghaf9p6bi7giadaawn3-bootstrap-tools/bin/mips64el-unknown-linux-gcc--B/nix/store/hdwf3jcqrbcz5c676ch8ysf7agi51wfg-bootstrap-glibc/lib/':
 execvp: No such file or directory

conftest.c:24:16: fatal error: gd.h: No such file or directory
compilation terminated.

configure:7831: checking whether -fPIC is default
conftest.c:2:3: error: #error PIC is default.

> An unrelated issue that just came to mind: MIPS code for libc is in
> glibc-ports, right?  That means you’ll have to conditionally add that to
> the inputs of glibc, in base.scm.

Did it fail because of this?

I don't understand how to add 'glibc-ports'.  Should I package it?
(There is no such package in Guix.)  'grep' shows that 'glibc-ports'
come along with 'glibc' for ARM and MIPS.  Here is a snippet from
'nixpkgs/pkgs/development/libraries/glibc/2.13/common.nix':

  needsPortsNative = stdenv.isMips || stdenv.isArm;
  needsPortsCross = cross.arch == "mips" || cross.arch == "arm";
  needsPorts =
    if (stdenv ? cross) && stdenv.cross != null && hurdHeaders == null then 
true    else if cross == null then needsPortsNative
    else needsPortsCross;

  srcPorts = fetchurl {
    url = "mirror://gnu/glibc/glibc-ports-2.13.tar.bz2";
    sha256 = "0npffql62m1xba15l1wkaqf2p0l2bvb33720gx28764jmq0la75i";
  };

If it's not the related, how can I build 'glibc' without Nixpkgs?

Nikita

Attachment: pgpuG2rYGlAzQ.pgp
Description: PGP signature


reply via email to

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