Eu tenho tentado seguir o wiki do Nix para instalar o Nix em um caminho personalizado /scratch/gopinath/nix
. O caminho /nix
não está acessível para mim devido às restrições no sistema fornecidas pela minha universidade. A opção PRoot não se ajusta aos meus requisitos. Eu também não tenho acesso root.
Ambiente:
| 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)
Isso é o que eu tentei até agora; Eu usei o script abaixo install.sh
na pasta extraída /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
Tudo funciona bem até eu atingir o nix
. No nix 1.8
e no nix
do repositório, recebo
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
Se eu fizer make clean
e, em seguida, make
, obtenho
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
Na depuração, parece que xsltproc
é chamado com --nonet
flag como em
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 -
Parece que nonet
flag está brincando comigo de alguma forma, mesmo quando usamos as últimas xmllint
e xsltproc
(mencionadas no script de instalação acima).
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
Então, eu fiz perl -pi -e 's#--nonet# #g'
on doc/manual/local.mk
como mencionei no script acima.
Parece agora que o suporte a C11 no GCC 4.4.7 (padrão) é insuficiente. Por isso, atualizei meu GCC para 4.9.2 e instalei-o no mesmo local (atualizado no script acima). Agora, meu erro ao criar nix
é
$ 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
Eu contornei esse erro modificando doc/manual/local.mk
adicionando uma linha GLOBAL_LDFLAGS += -lpthread
. Agora o erro é
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
E aparentemente isso foi porque meu bisão era velho
| yacc -V
yacc - 1.9 20070509
| bison -V
bison (GNU Bison) 2.4.1
Eu atualizei isso para bison 3.0 (no script acima), e os erros foram embora, mas flex
precisa ser atualizado
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;
^
E a atualização para flex 2.5.39
parece remover os erros restantes. Agora, adicionando o canal
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.
Isso foi resolvido ao definir LD_LIBRARY_PATH para procurar em $nix_boot/lib64
Depois disso, o guia me pede para instalar o nix com
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
Parece que aqui é uma solução. Então,
$ 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
Portanto, core-utils
falha. Agora o que eu faço? O teste de erro é
...
ERROR: tests/chown/separator
============================
id: cannot find name for user ID 44172
separator.sh: set-up failure:
...
E as falhas são
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:
...
Então eu instalei o coreutils-8.23 no mesmo prefixo e tentei novamente. Infelizmente, os erros de teste acima de qualquer maneira. Parece que está sempre tentando usar o sistema id
, independentemente das configurações do caminho.
Gostaria de desativar o doChecks
no arquivo coreutils-8.23.drv
. Então eu clonei o repo link e defini a variável NIXPKGS
enviornment apontando para ele. Em seguida, modifico o pkgs/tools/misc/coreutils/default.nix
para que doCheck = false
sempre. Em seguida eu executei
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
Por isso, desativei doInstallCheck
in pkgs/tools/package-management/nix/default.nix
. Aqui estão minhas mudanças até agora
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 =
Em seguida, eu corri nix-env -iA nix -f $NIXPKGS ;
, o que resultou em
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
Eu passei --localstatedir=$nix_root/var"
para o configure. Então, por que não está usando esse diretório? Qualquer ajuda para prosseguir será muito apreciada.
Tags command-line linux unix