From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Vorobiev Subject: Re: Daemon update Date: Wed, 27 May 2015 15:10:59 -0500 Message-ID: References: <87siasirgo.fsf@gnu.org> <87a8wy5oet.fsf@gnu.org> <877fs0k9ox.fsf@gnu.org> <87d21mhww4.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a1147f2b0421a9d051715d9d9 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:32776) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Yxhfp-0005T1-CL for guix-devel@gnu.org; Wed, 27 May 2015 16:11:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Yxhfn-0003YB-Ks for guix-devel@gnu.org; Wed, 27 May 2015 16:11:33 -0400 In-Reply-To: <87d21mhww4.fsf@gnu.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: =?UTF-8?Q?Ludovic_Court=C3=A8s?= Cc: guix-devel@gnu.org --001a1147f2b0421a9d051715d9d9 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi, I modified the files (to use my paths for the cache and store) and ran guix-daemon as root. Now it got much, much further! But still failed, it seems while building perl. Here is the end of the log file: In unknown file: ?: 5 [load-compiled/vm "/home/alex/.cache/guile/ccache/2.0-LE-8-2.0/home/alex/src/guix/build-aux/m= ake-binary-tarball.scm.go"] In build-aux/make-binary-tarball.scm: 38: 4 [#] In guix/store.scm: 986: 3 [run-with-store # ...] In build-aux/make-binary-tarball.scm: 41: 2 [# #] In guix/store.scm: 933: 1 [# #] 624: 0 [build-things # #] guix/store.scm:624:0: In procedure build-things: guix/store.scm:624:0: Throw to key `srfi-34' with args `(#)'. Makefile:4331: recipe for target 'guix-binary.x86_64-linux.tar.xz' failed make: [guix-binary.x86_64-linux.tar.xz] Error 1 (ignored) /dev/full seems to be where is it supposed to be. I also tried to use --disable-chroot but it also failed while building perl. The first error message seems to be during perl's configure run: Checking your choice of C compiler and flags for coherency... I've tried to compile and run the following simple program: #include int main() { printf("Ok\n"); return(0); } I used the command: gcc -o try -O2 -fno-strict-aliasing -pipe -fstack-protector -I/shared/shape_tier3/common/local/guix/store/idc1i3zmd0i04h3n9ii9pz1k1wi7z= 16z-glibc-bootstrap-0/include -fstack-protector -L/shared/shape_tier3/common/local/guix/store/idc1i3zmd0i04h3n9ii9pz1k1wi7z= 16z-glibc-bootstrap-0/lib try.c -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lgdbm_compat ./try and I got the following output: /shared/shape_tier3/common/local/guix/store/714jwgzxf49qw2ysv8p9zz80b1q8bv5= n-binutils-bootstrap-0/bin/ld: cannot find -lgdbm /shared/shape_tier3/common/local/guix/store/714jwgzxf49qw2ysv8p9zz80b1q8bv5= n-binutils-bootstrap-0/bin/ld: cannot find -ldb collect2: error: ld returned 1 exit status I can't compile the test program. (The supplied flags or libraries might be incorrect.) You have a BIG problem. Shall I abort Configure [y] Ok. Stopping Configure. Thanks, Alex On Wed, May 27, 2015 at 10:18 AM, Ludovic Court=C3=A8s wrote= : > Alexander Vorobiev skribis: > > > Ok, I have just tried to build the binary tarball on a VM where I > > reproduced all the paths I want (basically, instead of /gnu I want > > /shared/shape_tier3/common/local/guix) and which has c++11 compliant gc= c > -- > > that also failed. > > What failed exactly? > > Note that =E2=80=98make guix-binary.x86_64-linux.tar.xz=E2=80=99 produces= a tarball that > uses the exact same store directory as the host Guix. So if you want to > produce a binary tarball with a custom store directory, you first need > to build Guix --with-store-dir=3D/custom/store. > > If, in addition, you want a custom $localstatedir, then at least the > =E2=80=98guix=E2=80=99 recipe in (gnu packages package-management) must b= e adjusted, as > well as the =E2=80=9C/var=E2=80=9D in =E2=80=98self-contained-tarball=E2= =80=99 in (gnu system install). > > > I pulled today's git and ran guix-daemon --no-substitutes. The error > > seems to be "unable to fork: Operation not permitted". I am running > > guix-daemon as myself > > When running guix-daemon unprivileged, you need to pass --disable-chroot > (EACCES is returned by clone(2) here since we ask for separate name > spaces, which only root or someone with CAP_SYS_ADMIN can do.) > > It=E2=80=99s better to use run it as root though (info "(guix) Invoking > guix-daemon"). > > Thanks, > Ludo=E2=80=99. > --001a1147f2b0421a9d051715d9d9 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,=C2=A0
I modified the files (to use my paths for th= e cache and store) and ran guix-daemon as root. Now it got much, much furth= er! But still failed, it seems while building perl. Here is the end of the = log file:

In unknown file:
=C2=A0 = =C2=A0?: 5 [load-compiled/vm "/home/alex/.cache/guile/ccache/2.0-LE-8-= 2.0/home/alex/src/guix/build-aux/make-binary-tarball.scm.go"]
In build-aux/make-binary-tarball.scm:
=C2=A0 38: 4 [#<proced= ure 21c0840 ()>]
In guix/store.scm:
=C2=A0986: 3 [ru= n-with-store # ...]
In build-aux/make-binary-tarball.scm:
=C2=A0 41: 2 [#<procedure 3961960 at build-aux/make-binary-tarball.sc= m:40:7 (state)> #]
In guix/store.scm:
=C2=A0933: 1 [= #<procedure 4ed3f30 at guix/store.scm:932:28 (store)> #]
= =C2=A0624: 0 [build-things # #]

guix/store.scm:624= :0: In procedure build-things:
guix/store.scm:624:0: Throw to key= `srfi-34' with args `(#<condition &nix-protocol-error [message:= "| =C2=A0 | =C2=A0 | =C2=A0 bind mounting `/dev/full' to `/shared= /shape_tier3/commo/local/guix/store/828rlmpkg4bi5i28lif2a1af7g4s62yq-perl-5= .16.1.drv.chroot/dev/full'" status: 1] 4b4cae0>)'.
Makefile:4331: recipe for target 'guix-binary.x86_64-linux.tar.xz'= ; failed
make: [guix-binary.x86_64-linux.tar.xz] Error 1 (ignored= )

/dev/full seems to be where is it supposed= to be.=C2=A0

I also tried to use --disable-chroot= but it also failed while building perl. The first error message seems to b= e during perl's configure run:

Checking y= our choice of C compiler and flags for coherency...
I've trie= d to compile and run the following simple program:

#include <stdio.h>
int main() { printf("Ok\n"); = return(0); }

I used the command:

=C2=A0 =C2=A0 =C2=A0 =C2=A0 gcc -o try -O2 -fno-strict-aliasing -pi= pe -fstack-protector -I/shared/shape_tier3/common/local/guix/store/idc1i3zm= d0i04h3n9ii9pz1k1wi7z16z-glibc-bootstrap-0/include -fstack-protector -L/sha= red/shape_tier3/common/local/guix/store/idc1i3zmd0i04h3n9ii9pz1k1wi7z16z-gl= ibc-bootstrap-0/lib try.c -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc -lg= dbm_compat
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0./try

=
and I got the following output:

/shared= /shape_tier3/common/local/guix/store/714jwgzxf49qw2ysv8p9zz80b1q8bv5n-binut= ils-bootstrap-0/bin/ld: cannot find -lgdbm
/shared/shape_tier3/co= mmon/local/guix/store/714jwgzxf49qw2ysv8p9zz80b1q8bv5n-binutils-bootstrap-0= /bin/ld: cannot find -ldb
collect2: error: ld returned 1 exit sta= tus
I can't compile the test program.
(The supplied= flags or libraries might be incorrect.)

You have = a BIG problem.=C2=A0 Shall I abort Configure [y]
Ok.=C2=A0 Stoppi= ng Configure.


Thanks,
Alex


On Wed, May 27, 2015 at 10:18 AM, Ludovic Court=C3=A8s <ludo@g= nu.org> wrote:
Alexander Vo= robiev <alexander.vorobi= ev@gmail.com> skribis:

> Ok, I have just tried to build the binary tarball on a VM where I
> reproduced all the paths I want (basically, instead of /gnu I want
> /shared/shape_tier3/common/local/guix) and which has c++11 compliant g= cc --
> that also failed.

What failed exactly?

Note that =E2=80=98make guix-binary.x86_64-linux.tar.xz=E2=80=99 produces a= tarball that
uses the exact same store directory as the host Guix.=C2=A0 So if you want = to
produce a binary tarball with a custom store directory, you first need
to build Guix --with-store-dir=3D/custom/store.

If, in addition, you want a custom $localstatedir, then at least the
=E2=80=98guix=E2=80=99 recipe in (gnu packages package-management) must be = adjusted, as
well as the =E2=80=9C/var=E2=80=9D in =E2=80=98self-contained-tarball=E2=80= =99 in (gnu system install).

> I pulled today's git and ran guix-daemon --no-substitutes. The err= or
> seems to be "unable to fork: Operation not permitted". I am = running
> guix-daemon as myself

When running guix-daemon unprivileged, you need to pass --disable-ch= root
(EACCES is returned by clone(2) here since we ask for separate name
spaces, which only root or someone with CAP_SYS_ADMIN can do.)

It=E2=80=99s better to use run it as root though (info "(guix) Invokin= g
guix-daemon").

Thanks,
Ludo=E2=80=99.

--001a1147f2b0421a9d051715d9d9--