Ich habe versucht, dem Nix-Wiki zu folgen , um Nix auf einem benutzerdefinierten Pfad zu installieren /scratch/gopinath/nix
. Der /nix
Pfad ist für mich aufgrund der Einschränkungen des von meiner Universität bereitgestellten Systems nicht zugänglich. Die PRoot- Option entspricht nicht meinen Anforderungen. Ich habe auch keinen Root-Zugriff.
Umgebung:
| uname -a
Linux hati.eecs.oregonstate.edu 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Dec 13 06:58:20 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
| cat /etc/redhat-release
Red Hat Enterprise Linux Workstation release 6.5 (Santiago)
| gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
Meine Bemühungen
Das habe ich bisher versucht; Ich habe das folgende Skript install.sh
für den extrahierten Ordner verwendet/scratch/gopinath/usr/nix-boot
#!/bin/bash
set -e
export nix_boot=${NIX_BOOT-/scratch/gopinath/usr/nix-boot}
export nix_root=${NIX_ROOT-/scratch/gopinath/nix}
export RUN_EXPENSIVE_TESTS=no
export PATH=$nix_boot/bin:/scratch/gopinath/usr/bin:$PATH
export PKG_CONFIG_PATH=$nix_boot/lib/pkgconfig:$PKG_CONFIG_PATH
export LDFLAGS="-L$nix_boot/lib -L$nix_boot/lib64 $LDFLAGS"
export LD_LIBRARY_PATH="$nix_boot/lib:$nix_boot/lib64:$LD_LIBRARY_PATH"
export CPPFLAGS="-I$nix_boot/include $CPPFLAGS"
#export PERL5OPT="-I$nix_boot/lib/perl"
export PERL5OPT="-I$nix_boot/lib64/perl5"
export NIXPKGS=/scratch/gopinath/nixpkgs
all="bzip2 curl sqlite dbi dbd wwwcurl bootstrap nix"
case $1 in
-h) echo $all nix1.8; exit 0;;
-sh) $2; exit 0;;
bzip2)
(cd bzip2-1.0.6;
make -f Makefile-libbz2_so;
make install PREFIX=$nix_boot;
cp libbz2.so.1.0 libbz2.so.1.0.6 $nix_boot/lib; ) ;;
curl)
(cd curl-7.35.0/;
./configure --prefix=$nix_boot;
make;
make install; ) ;;
sqlite)
(cd sqlite-autoconf-3080300/;
./configure --prefix=$nix_boot;
make;
make install; ) ;;
libxml2)
(cd libxml2-2.9.2; ./configure --prefix=$nix_boot;
make;
cp ./libxml2-2.9.2/xmllint $nix_boot/bin
# make install;
) ;;
libxslt)
(cd libxslt-1.1.28; ./configure --prefix=$nix_boot;
make;
make install; ) ;;
gcc)
(cd gcc-4.9.2; ./contrib/download_prerequisites; )
rm -rf gcc-objs;
mkdir -p gcc-objs
(cd gcc-objs; ./../gcc-4.9.2/configure --prefix=$nix_boot;
make;
make install; ) ;;
bison)
(cd bison-3.0; ./configure --prefix=$nix_boot;
make;
make install; ) ;;
flex)
(cd flex-2.5.39; ./configure --prefix=$nix_boot;
make;
make install; );;
coreutils)
(cd coreutils-8.23; ./configure --enable-install-program=hostname --prefix=$nix_boot;
make;
make install; );;
bash)
(cd bash-4.3; ./configure --prefix=$nix_boot;
make;
make install; );;
dbi)
(cd DBI-1.631/;
perl Makefile.PL PREFIX=$nix_boot PERLMAINCC=$nix_boot/bin/gcc;
make;
make install; ) ;;
dbd)
(cd DBD-SQLite-1.40/;
perl Makefile.PL PREFIX=$nix_boot PERLMAINCC=$nix_boot/bin/gcc;
make;
make install; ) ;;
wwwcurl)
(cd WWW-Curl-4.15;
perl Makefile.PL PREFIX=$nix_boot PERLMAINCC=$nix_boot/bin/gcc;
make;
make install; ) ;;
bootstrap)
rm -rf nix
git clone https://github.com/NixOS/nix nix
(cd nix;
./bootstrap.sh ) ;;
nix)
(cd nix;
echo "./configure --prefix=$nix_boot --with-store-dir=$nix_root/store --localstatedir=$nix_root/var" > myconfig.sh;
./configure --prefix=$nix_boot --with-store-dir=$nix_root/store --localstatedir=$nix_root/var --with-coreutils-bin=/scratch/gopinath/usr/bin --enable-static --enable-static-nix ;
/usr/bin/perl -pi -e 's#--nonet# #g' doc/manual/local.mk;
echo "GLOBAL_LDFLAGS += -lpthread" >> doc/manual/local.mk;
make;
make install; ) ;;
nixconfig)
nix-channel --add http://nixos.org/channels/nixpkgs-unstable && \
nix-channel --update && \
nix-env -iA nix -f $NIXPKGS ;
;;
all) for i in $all;
do env nix_boot=$nix_boot nix_root=$nix_root ./$0 $i ;
done ;;
*) echo $all;
echo nix_root=$nix_root
echo nix_boot=$nix_boot;;
esac
Alles funktioniert gut, bis ich die getroffen habe nix
. Auf beiden nix 1.8
und auf nix
aus dem Repository bekomme ich
bash-4.1$ make
Makefile:28: Makefile.config: No such file or directory
GEN Makefile.config
GEN doc/manual/manual.is-valid
-:1: parser error : Document is empty
^
-:1: parser error : Start tag expected, '<' not found
^
make: *** [doc/manual/manual.is-valid] Error 1
Wenn ich das tue make clean
und dann make
bekomme ich
bash-4.1$ make
Makefile:28: Makefile.config: No such file or directory
GEN Makefile.config
GEN doc/manual/version.txt
GEN doc/manual/manual.xmli
doc/manual/command-ref/nix-env.xml:203: element include: XInclude error : failed build URL
doc/manual/command-ref/nix-env.xml:1368: element include: XInclude error : failed build URL
doc/manual/command-ref/nix-build.xml:129: element include: XInclude error : failed build URL
doc/manual/command-ref/nix-build.xml:184: element include: XInclude error : failed build URL
doc/manual/command-ref/nix-shell.xml:143: element include: XInclude error : failed build URL
doc/manual/command-ref/nix-shell.xml:195: element include: XInclude error : failed build URL
doc/manual/command-ref/nix-store.xml:119: element include: XInclude error : failed build URL
doc/manual/command-ref/nix-store.xml:1346: element include: XInclude error : failed build URL
doc/manual/command-ref/nix-instantiate.xml:166: element include: XInclude error : failed build URL
doc/manual/command-ref/nix-instantiate.xml:258: element include: XInclude error : failed build URL
GEN doc/manual/manual.is-valid
-:1: parser error : Document is empty
^
-:1: parser error : Start tag expected, '<' not found
^
make: *** [doc/manual/manual.is-valid] Error 1
Beim Debuggen scheint das xsltproc
mit --nonet
flag wie in aufgerufen zu werden
file: doc/manual/local.mk
$(d)/manual.is-valid: $(d)/manual.xmli
/scratch/gopinath/usr/nix-boot/bin/xsltproc --nonet \
--param section.autolabel 1 \
--param section.label.includes.component.label 1 \
--param html.stylesheet \'style.css\' \
--param xref.with.number.and.title 1 \
--param toc.section.depth 3 \
--param admon.style \'\' \
--param callout.graphics.extension \'.gif\' \
--param contrib.inline.enabled 0 \
--stringparam generate.toc "book toc" \
--param keep.relative.image.uris 0 \
--novalid \
--stringparam profile.condition manual \
http://docbook.sourceforge.net/release/xsl-ns/1.78.1/profiling/profile.xsl \
doc/manual/manual.xmli \
| /scratch/gopinath/usr/nix-boot/bin/xmllint --nonet --noout --relaxng http://docbook.org/xml/5.0/rng/docbook.rng -
Es scheint, dass nonet
Flag mich hier irgendwie durcheinander bringt, selbst wenn ich das neueste xmllint
und xsltproc
(im Installationsskript oben erwähnt) verwende.
bash-4.1$ which xsltproc
/scratch/gopinath/usr/nix-boot/bin/xsltproc
bash-4.1$ /scratch/gopinath/usr/nix-boot/bin/xsltproc --version
Using libxml 20902, libxslt 10128 and libexslt 817
xsltproc was compiled against libxml 20902, libxslt 10128 and libexslt 817
libxslt 10128 was compiled against libxml 20902
libexslt 817 was compiled against libxml 20902
bash-4.1$ which xmllint
/scratch/gopinath/usr/nix-boot/bin/xmllint
bash-4.1$ /scratch/gopinath/usr/nix-boot/bin/xmllint --version
/scratch/gopinath/usr/nix-boot/bin/xmllint: using libxml version 20902
compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer XInclude Iconv ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules Debug Zlib Lzma
Also habe ich perl -pi -e 's#--nonet# #g'
weiter gemacht, doc/manual/local.mk
wie ich im obigen Skript erwähnt habe.
Es scheint nun, dass die C11-Unterstützung in GCC 4.4.7 (Standard) unzureichend ist. Daher habe ich mein GCC auf 4.9.2 aktualisiert und am selben Speicherort installiert (im obigen Skript aktualisiert). Jetzt auf den Aufbau mein Fehler nix
ist
$ make
...
configure: creating ./config.status
config.status: creating config.h
config.status: config.h is unchanged
GEN Makefile.config
CXX src/nix-hash/nix-hash.o
CXX src/libmain/shared.o
CXX src/libmain/stack.o
CXX src/libstore/build.o
CXX src/libstore/derivations.o
CXX src/libstore/gc.o
CXX src/libstore/globals.o
GEN src/libstore/schema.sql.hh
CXX src/libstore/local-store.o
CXX src/libstore/misc.o
CXX src/libstore/optimise-store.o
CXX src/libstore/pathlocks.o
CXX src/libstore/references.o
CXX src/libstore/remote-store.o
CXX src/libstore/store-api.o
CXX src/libutil/affinity.o
CXX src/libutil/archive.o
CXX src/libutil/hash.o
CXX src/libutil/regex.o
CXX src/libutil/serialise.o
CXX src/libutil/util.o
CXX src/libutil/xml-writer.o
CXX src/boost/format/format_implementation.o
CXX src/boost/format/free_funcs.o
CXX src/boost/format/parsing.o
LD src/boost/format/libnixformat.so
LD src/libutil/libnixutil.so
LD src/libstore/libnixstore.so
LD src/libmain/libnixmain.so
LD src/nix-hash/nix-hash
/usr/bin/ld: src/nix-hash/nix-hash: undefined reference to symbol '__pthread_key_create@@GLIBC_2.2.5'
/usr/bin/ld: note: '__pthread_key_create@@GLIBC_2.2.5' is defined in DSO /lib64/libpthread.so.0 so try adding it to the linker command line
/lib64/libpthread.so.0: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make: *** [src/nix-hash/nix-hash] Error 1
zsh: exit 1 ./install.sh nix
Ich habe diesen Fehler umgangen, doc/manual/local.mk
indem ich ihn durch Hinzufügen einer Zeile geändert habe GLOBAL_LDFLAGS += -lpthread
. Jetzt ist der Fehler
CXX src/libexpr/parser-tab.o
In file included from src/libexpr/parser-tab.cc:255:0:
src/libexpr/parser-tab.hh:124:15: error: redefinition of ‘union YYSTYPE’
typedef union YYSTYPE
^
In file included from src/libexpr/parser.y:53:0:
src/libexpr/parser-tab.hh:124:15: error: previous definition of ‘union YYSTYPE’
typedef union YYSTYPE
^
In file included from src/libexpr/parser-tab.cc:255:0:
src/libexpr/parser-tab.hh:147:10: error: invalid type in declaration before ‘;’ token
} YYSTYPE;
^
src/libexpr/parser-tab.hh:147:10: error: conflicting declaration ‘typedef int YYSTYPE’
In file included from src/libexpr/parser.y:53:0:
src/libexpr/parser-tab.hh:147:3: note: previous declaration as ‘typedef union YYSTYPE YYSTYPE’
} YYSTYPE;
^
make: *** [src/libexpr/parser-tab.o] Error 1
Und anscheinend lag das daran, dass mein Bison alt war
| yacc -V
yacc - 1.9 20070509
| bison -V
bison (GNU Bison) 2.4.1
Ich habe dies auf Bison 3.0 aktualisiert (im obigen Skript), und die Fehler sind verschwunden, müssen aber flex
aktualisiert werden
GEN Makefile.config
CXX src/libexpr/parser-tab.o
In file included from src/libexpr/parser-tab.cc:255:0:
src/libexpr/parser-tab.hh:124:15: error: redefinition of ‘union YYSTYPE’
typedef union YYSTYPE
^
In file included from src/libexpr/parser.y:53:0:
src/libexpr/parser-tab.hh:124:15: error: previous definition of ‘union YYSTYPE’
typedef union YYSTYPE
^
In file included from src/libexpr/parser-tab.cc:255:0:
src/libexpr/parser-tab.hh:147:10: error: invalid type in declaration before ‘;’ token
} YYSTYPE;
^
src/libexpr/parser-tab.hh:147:10: error: conflicting declaration ‘typedef int YYSTYPE’
In file included from src/libexpr/parser.y:53:0:
src/libexpr/parser-tab.hh:147:3: note: previous declaration as ‘typedef union YYSTYPE YYSTYPE’
} YYSTYPE;
^
Und das Aktualisieren auf flex 2.5.39
scheint die verbleibenden Fehler zu beseitigen. Nun zum Hinzufügen des Kanals
bash-4.1$ nix-channel --add http://nixos.org/channels/nixpkgs-unstable
Can't load '/scratch/gopinath/usr/nix-boot/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi/auto/Nix/Store/Store.so' for module Nix::Store: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /scratch/gopinath/usr/nix-boot/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi/auto/Nix/Store/Store.so) at /usr/lib64/perl5/XSLoader.pm line 70.
at /scratch/gopinath/usr/nix-boot/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi/Nix/Store.pm line 38
Compilation failed in require at /scratch/gopinath/usr/nix-boot/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi/Nix/Manifest.pm line 13.
BEGIN failed--compilation aborted at /scratch/gopinath/usr/nix-boot/lib/perl5/site_perl/5.10.1/x86_64-linux-thread-multi/Nix/Manifest.pm line 13.
Compilation failed in require at /scratch/gopinath/usr/nix-boot/bin/nix-channel line 8.
BEGIN failed--compilation aborted at /scratch/gopinath/usr/nix-boot/bin/nix-channel line 8.
Dies wurde behoben, indem LD_LIBRARY_PATH so eingestellt wurde, dass es nachschaut. $nix_boot/lib64
Danach fordert mich das Handbuch auf, nix mit zu installieren
bash-4.1$ cat ~/.nixpkgs/config.nix
pkgs:
{
packageOverrides = self: {
nix = self.nix.override {
storeDir = "/scratch/gopinath/nix/store";
stateDir = "/scratch/gopinath/nix/var";
};
};
}
bash-4.1$ nix-env -iA nix
error: attribute ‘nix’ in selection path ‘nix’ not found
Es scheint, dass hier eine Lösung ist. Damit,
$ nix-env -iA nix -f ~/.nix-defexpr/channels/nixpkgs
...
building tests/test-suite.log
make[5]: Entering directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23'
building all
make all-recursive
make[6]: Entering directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23'
building all-recursive
Making all in po
make[7]: Entering directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23/po'
building check-macro-version
make[7]: Leaving directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23/po'
Making all in .
make[7]: Entering directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23'
make[7]: Nothing to be done for `all-am'.
make[7]: Leaving directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23'
Making all in gnulib-tests
make[7]: Entering directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23/gnulib-tests'
building all
make all-recursive
make[8]: Entering directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23/gnulib-tests'
building all-recursive
Making all in .
make[9]: Entering directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23/gnulib-tests'
make[9]: Nothing to be done for `all-am'.
make[9]: Leaving directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23/gnulib-tests'
make[8]: Leaving directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23/gnulib-tests'
make[7]: Leaving directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23/gnulib-tests'
make[6]: Leaving directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23'
make[5]: Leaving directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23'
...
============================================================================
Testsuite summary for GNU coreutils 8.23
============================================================================
# TOTAL: 563
# PASS: 439
# SKIP: 120
# XFAIL: 0
# FAIL: 3
# XPASS: 0
# ERROR: 1
============================================================================
See ./tests/test-suite.log
Please report to [email protected]
============================================================================
make[4]: *** [tests/test-suite.log] Error 1
make[4]: Leaving directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23'
make[3]: *** [check-TESTS] Error 2
make[3]: Leaving directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23'
make[2]: *** [check-am] Error 2
make[2]: Leaving directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/tmp/nix-build-coreutils-8.23.drv-0/coreutils-8.23'
make: *** [check] Error 2
builder for ‘/scratch/gopinath/nix/store/1rcj45a27mz06rlw354k1zzwvz0wf24k-coreutils-8.23.drv’ failed
with exit code 2
cannot build derivation ‘/scratch/gopinath/nix/store/m2v75p5m7irqh0z2af5idypkil9v630m-stdenv.drv’: 1
dependencies couldn't be built
cannot build derivation ‘/scratch/gopinath/nix/store/sp3ic057ydmkv4cnxrbgz016ivy3lac3-nix-1.8.drv’:
1 dependencies couldn't be built
error: build of ‘/scratch/gopinath/nix/store/sp3ic057ydmkv4cnxrbgz016ivy3lac3-nix-1.8.drv’ failed
Also core-utils
scheitert. Was mache ich jetzt? Der Fehlertest ist
...
ERROR: tests/chown/separator
============================
id: cannot find name for user ID 44172
separator.sh: set-up failure:
...
Und scheitert sind
FAIL: tests/misc/help-version
=============================
0+1 records in
0+1 records out
whoami: cannot find name for user ID 44172
FAIL: whoami
FAIL: tests/id/uid
==================
id: cannot find name for user ID 44172
id: : no such user
id: 44172: no such user
id: 44172: no such user
id: +44172: no such user
id: 44172: no such user
id: 44172: no such user
id: +44172: no such user
id: 44172: no such user
id: 44172: no such user
id: +44172: no such user
...
FAIL: tests/id/zero
===================
id: cannot find name for user ID 44172
uid=44172 gid=16473 groups=16473,5087,5105,10550,12244,13985,14073,20416
id: 44172: no such user
id: 44172: no such user
....
id: cannot find name for group ID 16473
id: cannot find name for group ID 16473
....
--- exp 2015-04-12 04:20:21.655856440 +0000
+++ out2 2015-04-12 04:20:21.660856355 +0000
@@ -1,5 +1,17 @@
@@ -1,5 +1,17 @@
-id -g[z] 44172: id -gn[z] 44172: id -gr[z] 44172: id -grn[z] 44172: id -G[z] 44172: id -Gn[z] 44172
: id -Gr[z] 44172: id -Grn[z] 44172: id -u[z] 44172: id -un[z] 44172: id -ur[z] 44172: id -urn[z] 44
172: id -g[z] root: 0
+id -g[z] 44172:
+id -gn[z] 44172:
...
Also habe ich coreutils-8.23 unter demselben Präfix installiert und es erneut versucht. Leider sind die oben genannten Testfehler trotzdem. Es scheint, dass immer versucht wird, das System id
unabhängig von den Pfadeinstellungen zu verwenden.
Aktualisierung
Ich möchte das doChecks
in der coreutils-8.23.drv
Datei deaktivieren . Also habe ich das Repo https://github.com/nixos/nixpkgs geklont und die NIXPKGS
Umgebungsvariable gesetzt, die darauf zeigt. Als nächstes ändere ich das pkgs/tools/misc/coreutils/default.nix
so, dass doCheck = false
immer. Als nächstes habe ich ausgeführt
nix-env -iA nix -f $NIXPKGS
...
FAIL: tests/dump-db.sh
running test tests/case-hack.sh
+ clearStore
+ echo 'clearing store...'
clearing store...
+ chmod -R +w /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/store
+ rm -rf /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/store
+ mkdir /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/store
+ rm -rf /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/db
+ mkdir /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/db
+ nix-store --init
+ clearProfiles
+ profiles=/tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/var/nix/profiles
+ rm -rf /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/var/nix/profiles
+ rm -f /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/var/nix/gcroots/auto/mqgm5a11kh8r74bbz2gzygddh00lakss
+ rm -f /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/var/nix/gcroots/ref
+ rm -rf /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/case
+ opts='--option use-case-hack true'
+ nix-store --option use-case-hack true --restore /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/case
+ nix-store --option use-case-hack true --dump /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/case
+ cmp case.nar /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/case.nar
++ nix-hash --option use-case-hack true --type sha256 /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/case
++ nix-hash --flat --type sha256 case.nar
+ '[' ccd0c2353fbb6ff6853088e01f0557e8b9cbc9d11d2e1f8435175dc08091c2a3 = ccd0c2353fbb6ff6853088e01f0557e8b9cbc9d11d2e1f8435175dc08091c2a3 ']'
+ touch /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/case/xt_CONNMARK.h~nix~case~hack~3
+ nix-store --option use-case-hack true --dump /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/case
error: file name collision in between ‘/tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/case/xt_CONNMARK.h’ and ‘/tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/case/xt_CONNMARK.h~nix~case~hack~3’
PASS: tests/case-hack.sh
running test tests/check-reqs.sh
+ RESULT=/tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/result
+ nix-build -o /tmp/nix-build-nix-1.8.drv-0/nix-1.8/tests/test-tmp/result check-reqs.nix -A test1
download-from-binary-cache.pl: cannot figure out user name at /scratch/gopinath/nix/store/9313bj65al5bm42q6fiw7y74ayjxli1h-nix-1.8/libexec/nix/substituters/download-from-binary-cache.pl line 48.
error: substituter ‘download-from-binary-cache.pl’ died unexpectedly
FAIL: tests/check-reqs.sh
30 out of 42 tests failed
mk/tests.mk:11: recipe for target 'installcheck' failed
make: *** [installcheck] Error 1
builder for ‘/scratch/gopinath/nix/store/fl8hcbq2cqpadbdrlh2cf5zmafx79r6z-nix-1.8.drv’ failed with exit code 2
error: build of ‘/scratch/gopinath/nix/store/fl8hcbq2cqpadbdrlh2cf5zmafx79r6z-nix-1.8.drv’ failed
Also habe ich deaktiviert doInstallCheck
in pkgs/tools/package-management/nix/default.nix
. Hier sind meine bisherigen Änderungen
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index 1dc5bfa..635ae2c 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -59,7 +59,8 @@ let
# (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19025),
# Darwin (http://thread.gmane.org/gmane.comp.gnu.core-utils.bugs/19351),
# and {Open,Free}BSD.
- doCheck = stdenv ? glibc;
+ doCheck = false;
+ # stdenv ? glibc;
# Saw random failures like ‘help2man: can't get '--help' info from
# man/sha512sum.td/sha512sum’.
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 2d10511..f272bf7 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
installFlags = "sysconfdir=$(out)/etc";
- doInstallCheck = true;
+ doInstallCheck = false;
crossAttrs = {
postUnpack =
Als nächstes rannte ich, nix-env -iA nix -f $NIXPKGS ;
was dazu führte
downloading Nix expressions from ‘http://nixos.org/releases/nixpkgs/nixpkgs-15.05pre59184.e07ea5c/nixexprs.tar.xz’...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
unpacking channels...
installing ‘nix-1.8’
error: opening lock file ‘/nix/var/nix/profiles/default.lock’: No such file or directory
Ich hatte an --localstatedir=$nix_root/var"
die Konfiguration übergeben. Warum wird dieses Verzeichnis nicht verwendet? Jede Hilfe bei der weiteren Vorgehensweise wird sehr geschätzt.
quelle
nix-copy-closure
die resultierenden Binärdateien mit in die gemeinsam genutzte Umgebung zu kopieren. Ich melde mich zurück, wenn das bei mir funktioniert.