bug-guix
[Top][All Lists]
Advanced

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

bug#17935: make check failed


From: Ludovic Courtès
Subject: bug#17935: make check failed
Date: Sat, 05 Jul 2014 11:42:39 +0200
User-agent: Gnus/5.130009 (Ma Gnus v0.9) Emacs/24.3 (gnu/linux)

Alex Kost <address@hidden> skribis:

> Ludovic Courtès (2014-07-05 01:30 +0400) wrote:
>
>> Alex Kost <address@hidden> skribis:
>>
>>> guix build: error: build failed: derivation
>>> /home/alexx/src/guix/test-tmp/store/kaz0wkisszxrjh38znhgks2pc2g7dqgh-guile-bootstrap-2.0.drv'
>>> has incorrect output
>>> /media/storage/src/guix/test-tmp/store/ym7nnqd4yqk3mn8pg52d19xyy2j3hz54-guile-bootstrap-2.0',
>>> should be
>>> /home/alexx/src/guix/test-tmp/store/zlj0z1dpwl2qccb56rwgdk3k8qnwwaz8-guile-bootstrap-2.0'
>>> 9 operations
>>> ./test-env: line 1: 9833 Terminated
>>> "/home/alexx/src/guix/pre-inst-env" "/home/alexx/src/guix/guix-daemon"
>>> --disable-chroot
>>>
>>>
>>> I don't know if it relates, but my "/home/alexx/src" is a symlink to
>>> "/media/storage/src".
>>
>> Ah yes, I hadn’t noticed that in the error message, but this is a source
>> of confusion for the daemon.
>>
>> Could you try that command again with this patch:
>>
>> diff --git a/test-env.in b/test-env.in
>> index a3b3536..f11c014 100644
>> --- a/test-env.in
>> +++ b/test-env.in
>> @@ -27,8 +27,11 @@
>>  if [ -x "@abs_top_builddir@/guix-daemon" ]
>>  then
>>      NIX_SETUID_HELPER="@abs_top_builddir@/nix-setuid-helper" # normally 
>> unused
>> -    NIX_IGNORE_SYMLINK_STORE=1      # in case the store is a symlink
>> -    NIX_STORE_DIR="@GUIX_TEST_ROOT@/store"
>> +
>> +    # Canonicalize the store directory name in an attempt to avoid symlinks 
>> in
>> +    # it or its parent directories.  See <http://bugs.gnu.org/17935>.
>> +    NIX_STORE_DIR="`cd "@GUIX_TEST_ROOT@/store"; pwd -P`"
>> +
>>      NIX_LOCALSTATE_DIR="@GUIX_TEST_ROOT@/var"
>>      NIX_LOG_DIR="@GUIX_TEST_ROOT@/var/log/guix"
>>      NIX_DB_DIR="@GUIX_TEST_ROOT@/db"
>>
>>> Also I have tried guix 0.6 (from ftp://alpha.gnu.org/gnu/guix/) and it
>>> was built successfully (no fails in "make check").
>>
>> But was it also from this symlinked directory?
>
> No, it was compiled from a direct path (no symlinks).
>
> I tried to compile guix from git from a path without symlinks and it was
> successful as well.  So apparently the problem is with symlinked paths.

Yes.

> As for the symlinked directory, with your patch, "./test-env guix build
> guile-bootstrap" also failed.

[...]

> So I think the problem with the patch is that address@hidden@/store”
> directory does not exist when “`cd "@GUIX_TEST_ROOT@/store"; pwd -P`” is
> being invoked.

Oops, indeed.  Could you try this version, again from a directory with
symlinks?

diff --git a/test-env.in b/test-env.in
index a3b3536..9d0c8cc 100644
--- a/test-env.in
+++ b/test-env.in
@@ -27,8 +27,15 @@
 if [ -x "@abs_top_builddir@/guix-daemon" ]
 then
     NIX_SETUID_HELPER="@abs_top_builddir@/nix-setuid-helper" # normally unused
-    NIX_IGNORE_SYMLINK_STORE=1 # in case the store is a symlink
     NIX_STORE_DIR="@GUIX_TEST_ROOT@/store"
+
+    # Do that because store.scm calls `canonicalize-path' on it.
+    mkdir -p "$NIX_STORE_DIR"
+
+    # Canonicalize the store directory name in an attempt to avoid symlinks in
+    # it or its parent directories.  See <http://bugs.gnu.org/17935>.
+    NIX_STORE_DIR="`cd "@GUIX_TEST_ROOT@/store"; pwd -P`"
+
     NIX_LOCALSTATE_DIR="@GUIX_TEST_ROOT@/var"
     NIX_LOG_DIR="@GUIX_TEST_ROOT@/var/log/guix"
     NIX_DB_DIR="@GUIX_TEST_ROOT@/db"
@@ -71,9 +78,6 @@ then
         GUIX_ALLOW_UNAUTHENTICATED_SUBSTITUTES                         \
         NIX_CONF_DIR XDG_CACHE_HOME
 
-    # Do that because store.scm calls `canonicalize-path' on it.
-    mkdir -p "$NIX_STORE_DIR"
-
     # Launch the daemon without chroot support because is may be
     # unavailable, for instance if we're not running as root.
     "@abs_top_builddir@/pre-inst-env"                          \
Thanks in advance,
Ludo’.

reply via email to

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