unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Compiling guix 0.3 on a fedora 8 planetlab node
@ 2013-08-28 15:45 Matthias Wachs
  2013-08-29 15:46 ` Cyril Roelandt
  0 siblings, 1 reply; 13+ messages in thread
From: Matthias Wachs @ 2013-08-28 15:45 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1683 bytes --]

Hi,

I am trying to compile guix 0.3 on very old fedora core 8 system.

I get the following error message...

make[2]: Entering directory `/home/tumple_gnunet_deployment/guix-0.3'
g++ -DHAVE_CONFIG_H -I. -I./nix  -I./nix -I./nix/libutil -I./nix
-I./nix/libstore -I./nix/libstore -DNIX_STORE_DIR=\"/nix/store\"
-DNIX_DATA_DIR=\"/usr/local/share\" -DNIX_STATE_DIR=\"/usr/local/var/nix
\" -DNIX_LOG_DIR=\"/usr/local/var/log/nix\" -DNIX_CONF_DIR=
\"/usr/local/etc/nix\" -DNIX_LIBEXEC_DIR=\"/usr/local/libexec\"
-DNIX_BIN_DIR=\"/usr/local/bin\" -DOPENSSL_PATH="\"openssl\""
-I/include -g -O2 -MT nix/libstore/libstore_a-build.o -MD -MP -MF
nix/libstore/.deps/libstore_a-build.Tpo -c -o
nix/libstore/libstore_a-build.o `test -f 'nix/libstore/build.cc' || echo
'./'`nix/libstore/build.cc
nix/libstore/build.cc: In member function 'void
nix::DerivationGoal::startBuilder()':
nix/libstore/build.cc:2036: error: 'CLONE_NEWPID' was not declared in
this scope
nix/libstore/build.cc:2036: error: 'CLONE_NEWNET' was not declared in
this scope
nix/libstore/build.cc:2036: error: 'CLONE_NEWIPC' was not declared in
this scope
nix/libstore/build.cc:2036: error: 'CLONE_NEWUTS' was not declared in
this scope
make[2]: *** [nix/libstore/libstore_a-build.o] Error 1

Any ideas how to fix this error?
Thanks!

Matthias

-- 
Dipl.-Inf. Matthias Wachs
Free Secure Network Systems Group
Technische Universitaet Muenchen
Chair for Network Architectures and Services
Institute for Informatics / I8           Tel:    +49 89 289 18037
Boltzmannstr. 3 / Room 03.05.042         Fax:    +49 89 289 18033
D-85748 Garching b. Muenchen, Germany    Email: wachs@net.in.tum.de

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-08-28 15:45 Compiling guix 0.3 on a fedora 8 planetlab node Matthias Wachs
@ 2013-08-29 15:46 ` Cyril Roelandt
  2013-08-29 20:02   ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Cyril Roelandt @ 2013-08-29 15:46 UTC (permalink / raw)
  To: guix-devel

On 08/28/2013 05:45 PM, Matthias Wachs wrote:
> Hi,
>

Hi!

> I am trying to compile guix 0.3 on very old fedora core 8 system.
>

This is quite an old system: CLONE_NEWPID and CLONE_NEWNET were 
introduced in Linux 2.6.24, CLONE_NEWIPC and CLONE_NEWUTS were 
introduced in Linux 2.6.19.

Isn't there any way for you to use a more recent kernel ?


Cyril.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-08-29 15:46 ` Cyril Roelandt
@ 2013-08-29 20:02   ` Ludovic Courtès
  2013-08-29 20:13     ` Andreas Enge
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2013-08-29 20:02 UTC (permalink / raw)
  To: Matthias Wachs; +Cc: guix-devel

Hi Matthias,

Cyril Roelandt <tipecaml@gmail.com> skribis:

> On 08/28/2013 05:45 PM, Matthias Wachs wrote:
>> Hi,
>>
>
> Hi!
>
>> I am trying to compile guix 0.3 on very old fedora core 8 system.
>>
>
> This is quite an old system: CLONE_NEWPID and CLONE_NEWNET were
> introduced in Linux 2.6.24, CLONE_NEWIPC and CLONE_NEWUTS were
> introduced in Linux 2.6.19.

Indeed.

> Isn't there any way for you to use a more recent kernel ?

If the answer is “no”, then you may just as well comment out
CLONE_NEWIPC in nix/libstore/build.cc.

The effect is that the build environment will share the same IPC name
space as the outside world, which could interfere when building stuff
that uses SysV IPC.  Hopefully, that won’t be a problem in practice.

HTH,
Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-08-29 20:02   ` Ludovic Courtès
@ 2013-08-29 20:13     ` Andreas Enge
  2013-08-29 20:15       ` Andreas Enge
  0 siblings, 1 reply; 13+ messages in thread
From: Andreas Enge @ 2013-08-29 20:13 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

On Thu, Aug 29, 2013 at 10:02:46PM +0200, Ludovic Courtès wrote:
> If the answer is “no”, then you may just as well comment out
> CLONE_NEWIPC in nix/libstore/build.cc.

Apart from that, you also need guile version at least 2.0.5, released
in January 2012. It would definitely be easier to use a distribution
containing this version already.

Andreas

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-08-29 20:13     ` Andreas Enge
@ 2013-08-29 20:15       ` Andreas Enge
  2013-08-29 21:31         ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Andreas Enge @ 2013-08-29 20:15 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

PS: For work on gnunet, it would be preferable to clone the git repository,
    which contains a few dependencies not yet available in 0.3.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-08-29 20:15       ` Andreas Enge
@ 2013-08-29 21:31         ` Ludovic Courtès
  2013-08-30 10:01           ` Matthias Wachs
  2013-09-10  7:14           ` Matthias Wachs
  0 siblings, 2 replies; 13+ messages in thread
From: Ludovic Courtès @ 2013-08-29 21:31 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

Andreas Enge <andreas@enge.fr> skribis:

> PS: For work on gnunet, it would be preferable to clone the git repository,
>     which contains a few dependencies not yet available in 0.3.

... or you can install 0.3 and run “guix pull” to get them.

Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-08-29 21:31         ` Ludovic Courtès
@ 2013-08-30 10:01           ` Matthias Wachs
  2013-08-30 11:09             ` Ludovic Courtès
  2013-09-10  7:14           ` Matthias Wachs
  1 sibling, 1 reply; 13+ messages in thread
From: Matthias Wachs @ 2013-08-30 10:01 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1504 bytes --]

Hi,

yes I know the system is really old and I am suffering a lot with that
fact. Installing guix needs quite some effort due to dependencies and
having to compile guile from source manually.

Of course I would prefer to have a recent kernel version, but since
planetlab is a network testbed providing a fix image there's nothing I
can do about that...

I totally understand if you don't want to apply the patch... just wanted
to let you know how I fixed the issue. If you reject I just will apply
it manually before compiling...

In the end I made guix compile with the patch and it works when
disabling chroot... (otherwise it complained about being unabled to
fork) ... 

Thanks a lot for your effort any!
I'll let you know about progess installing gnunet with guix!

Matthias



On Thu, 2013-08-29 at 23:31 +0200, Ludovic Courtès wrote:
> Andreas Enge <andreas@enge.fr> skribis:
> 
> > PS: For work on gnunet, it would be preferable to clone the git repository,
> >     which contains a few dependencies not yet available in 0.3.
> 
> ... or you can install 0.3 and run “guix pull” to get them.
> 
> Ludo’.

-- 
Dipl.-Inf. Matthias Wachs
Free Secure Network Systems Group
Technische Universitaet Muenchen
Chair for Network Architectures and Services
Institute for Informatics / I8           Tel:    +49 89 289 18037
Boltzmannstr. 3 / Room 03.05.042         Fax:    +49 89 289 18033
D-85748 Garching b. Muenchen, Germany    Email: wachs@net.in.tum.de

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-08-30 10:01           ` Matthias Wachs
@ 2013-08-30 11:09             ` Ludovic Courtès
  2013-08-30 11:18               ` Matthias Wachs
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2013-08-30 11:09 UTC (permalink / raw)
  To: Matthias Wachs; +Cc: guix-devel

Hi,

Matthias Wachs <wachs@net.in.tum.de> skribis:

> I totally understand if you don't want to apply the patch... just wanted
> to let you know how I fixed the issue. If you reject I just will apply
> it manually before compiling...

OK, we’ll take that route.

> In the end I made guix compile with the patch and it works when
> disabling chroot... (otherwise it complained about being unabled to
> fork) ... 

How did it complain exactly?  Is it running as ‘root’, as per
<http://www.gnu.org/software/guix/manual/guix.html#Setting-Up-the-Daemon>?

The ability to run build processes in a chroot and under separate UIDs
is essential to achieve reproducibility.

> Thanks a lot for your effort any!
> I'll let you know about progess installing gnunet with guix!

Sure, let us know about any problems you may have.  Thank you!

Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-08-30 11:09             ` Ludovic Courtès
@ 2013-08-30 11:18               ` Matthias Wachs
  2013-08-30 12:05                 ` Ludovic Courtès
  0 siblings, 1 reply; 13+ messages in thread
From: Matthias Wachs @ 2013-08-30 11:18 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1438 bytes --]

> How did it complain exactly?  Is it running as ‘root’, as per
> <http://www.gnu.org/software/guix/manual/guix.html#Setting-Up-the-Daemon>?
> 
> The ability to run build processes in a chroot and under separate UIDs
> is essential to achieve reproducibility.

The basic issue is: 
I cannot add a builder group since on these machines I don't have the
"groupadd" command ... limitations of the image/testbed

So when starting the daemon with:

[tumple_gnunet_deployment@planetlab-02 ~]$ sudo guix-daemon
warning: daemon is running as root, so using `--build-users-group' is
highly recommended
accepted connection from pid 13641, uid 1376
245 operations

The client prints:

guix package -i make
<removed>
substituter-succeeded /nix/store/qhkvy39118lccxxsnrwjb9xp7s4627py-make-3.82-debug
guix package: error: build failed: unable to fork: Operation not
permitted


> > Thanks a lot for your effort any!
> > I'll let you know about progess installing gnunet with guix!
> 
> Sure, let us know about any problems you may have.  Thank you!
> 
> Ludo’.

-- 
Dipl.-Inf. Matthias Wachs
Free Secure Network Systems Group
Technische Universitaet Muenchen
Chair for Network Architectures and Services
Institute for Informatics / I8           Tel:    +49 89 289 18037
Boltzmannstr. 3 / Room 03.05.042         Fax:    +49 89 289 18033
D-85748 Garching b. Muenchen, Germany    Email: wachs@net.in.tum.de

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-08-30 11:18               ` Matthias Wachs
@ 2013-08-30 12:05                 ` Ludovic Courtès
  2013-08-31  9:37                   ` Mark H Weaver
  0 siblings, 1 reply; 13+ messages in thread
From: Ludovic Courtès @ 2013-08-30 12:05 UTC (permalink / raw)
  To: Matthias Wachs; +Cc: guix-devel

Matthias Wachs <wachs@net.in.tum.de> skribis:

>> How did it complain exactly?  Is it running as ‘root’, as per
>> <http://www.gnu.org/software/guix/manual/guix.html#Setting-Up-the-Daemon>?
>> 
>> The ability to run build processes in a chroot and under separate UIDs
>> is essential to achieve reproducibility.
>
> The basic issue is: 
> I cannot add a builder group since on these machines I don't have the
> "groupadd" command ... limitations of the image/testbed

You may have ‘addgroup’ instead, no?

> So when starting the daemon with:
>
> [tumple_gnunet_deployment@planetlab-02 ~]$ sudo guix-daemon
> warning: daemon is running as root, so using `--build-users-group' is
> highly recommended
> accepted connection from pid 13641, uid 1376
> 245 operations
>
> The client prints:
>
> guix package -i make
> <removed>
> substituter-succeeded /nix/store/qhkvy39118lccxxsnrwjb9xp7s4627py-make-3.82-debug
> guix package: error: build failed: unable to fork: Operation not
> permitted

Can you try to set those CLONE_* constants that you added to 0 instead
of some other value?

According to the clone(2) man page, EPERM means:

  CLONE_NEWIPC,  CLONE_NEWNET,  CLONE_NEWNS, CLONE_NEWPID, or CLONE_NEWUTS was specified by
  an unprivileged process (process without CAP_SYS_ADMIN).

But you said guix-daemon is running as ‘root’.  So it might be that the
kernel doesn’t recognize these flags, and returns EPERM for lack of a
better idea.

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-08-30 12:05                 ` Ludovic Courtès
@ 2013-08-31  9:37                   ` Mark H Weaver
  0 siblings, 0 replies; 13+ messages in thread
From: Mark H Weaver @ 2013-08-31  9:37 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

ludo@gnu.org (Ludovic Courtès) writes:

> Matthias Wachs <wachs@net.in.tum.de> skribis:
>
>>> How did it complain exactly?  Is it running as ‘root’, as per
>>> <http://www.gnu.org/software/guix/manual/guix.html#Setting-Up-the-Daemon>?
>>> 
>>> The ability to run build processes in a chroot and under separate UIDs
>>> is essential to achieve reproducibility.
>>
>> The basic issue is: 
>> I cannot add a builder group since on these machines I don't have the
>> "groupadd" command ... limitations of the image/testbed
>
> You may have ‘addgroup’ instead, no?

Failing that, you could manually edit /etc/{passwd,group,shadow}.

     Mark

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-08-29 21:31         ` Ludovic Courtès
  2013-08-30 10:01           ` Matthias Wachs
@ 2013-09-10  7:14           ` Matthias Wachs
  2013-09-10 17:37             ` Ludovic Courtès
  1 sibling, 1 reply; 13+ messages in thread
From: Matthias Wachs @ 2013-09-10  7:14 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2949 bytes --]

On Thu, 2013-08-29 at 23:31 +0200, Ludovic Courtès wrote:
> Andreas Enge <andreas@enge.fr> skribis:
> 
> > PS: For work on gnunet, it would be preferable to clone the git repository,
> >     which contains a few dependencies not yet available in 0.3.
> 
> ... or you can install 0.3 and run “guix pull” to get them.
> 
> Ludo’.

Thx for your help ...

I would prefer the guix pull approach, but pull fails on my local
machine as well as on the planetlab nodes...

Any idea about that?

-Matthias

$ guix pull --verbose

<removed output>

;;; guix/build/linux-initrd.scm:134:2: warning: possibly unbound
variable `mount'
;;; guix/build/linux-initrd.scm:141:2: warning: possibly unbound
variable `load-linux-module'
Backtrace:
In unknown file:
   ?: 19 [primitive-load-path "gnu/packages/base" ...]
In ice-9/eval.scm:
 505: 18 [#<procedure 13c1640 at ice-9/eval.scm:499:4 (exp)>
(define-module # # ...)]
In ice-9/psyntax.scm:
1091: 17 [expand-top-sequence ((define-module # # # ...)) ()
((top)) ...]
 976: 16 [scan ((define-module (gnu packages base) #:use-module ...))
() ...]
 270: 15 [scan ((#(syntax-object let # ...) (#) (# #) ...)) () ...]
In ice-9/eval.scm:
 411: 14 [eval # ()]
In ice-9/boot-9.scm:
2870: 13 [define-module* (gnu packages base) #:filename ...]
2845: 12 [resolve-imports ((# # #) (#) (#) (#) ...)]
2783: 11 [resolve-interface (gnu packages bootstrap) #:select ...]
2708: 10 [#<procedure 1482f40 at ice-9/boot-9.scm:2696:4 (name
#:optional autoload version #:key ensure)> # ...]
2981: 9 [try-module-autoload (gnu packages bootstrap) #f]
2320: 8 [save-module-excursion #<procedure 3047960 at
ice-9/boot-9.scm:2982:17 ()>]
3001: 7 [#<procedure 3047960 at ice-9/boot-9.scm:2982:17 ()>]
In unknown file:
   ?: 6 [primitive-load-path "gnu/packages/bootstrap" ...]
In ice-9/eval.scm:
 453: 5 [eval # ()]
 432: 4 [eval # #]
 436: 3 [eval # #]
 393: 2 [eval # #]
In unknown file:
   ?: 1 [memoize-variable-access! # #]
In ice-9/boot-9.scm:
 106: 0 [#<procedure 2b9d8c0 at ice-9/boot-9.scm:97:6 (thrown-k . args)>
unbound-variable ...]

ice-9/boot-9.scm:106:20: In procedure #<procedure 2b9d8c0 at
ice-9/boot-9.scm:97:6 (thrown-k . args)>:
ice-9/boot-9.scm:106:20: Unbound variable: trivial-build-system
copying and compiling Guix to
`/nix/store/q3dzifx2z1yxswqp577r18jvgk51whgy-guix-latest'...
builder for
`/nix/store/78vwfvniiq9wv9mrw9s0hks6a24zypg0-guix-latest.drv' failed
with exit code 1
guix pull: error: build failed: build of
`/nix/store/78vwfvniiq9wv9mrw9s0hks6a24zypg0-guix-latest.drv' failed


-- 
Dipl.-Inf. Matthias Wachs
Free Secure Network Systems Group
Technische Universitaet Muenchen
Chair for Network Architectures and Services
Institute for Informatics / I8           Tel:    +49 89 289 18037
Boltzmannstr. 3 / Room 03.05.042         Fax:    +49 89 289 18033
D-85748 Garching b. Muenchen, Germany    Email: wachs@net.in.tum.de

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: Compiling guix 0.3 on a fedora 8 planetlab node
  2013-09-10  7:14           ` Matthias Wachs
@ 2013-09-10 17:37             ` Ludovic Courtès
  0 siblings, 0 replies; 13+ messages in thread
From: Ludovic Courtès @ 2013-09-10 17:37 UTC (permalink / raw)
  To: Matthias Wachs; +Cc: guix-devel

Matthias Wachs <wachs@net.in.tum.de> skribis:

> On Thu, 2013-08-29 at 23:31 +0200, Ludovic Courtès wrote:
>> Andreas Enge <andreas@enge.fr> skribis:
>> 
>> > PS: For work on gnunet, it would be preferable to clone the git repository,
>> >     which contains a few dependencies not yet available in 0.3.
>> 
>> ... or you can install 0.3 and run “guix pull” to get them.
>> 
>> Ludo’.
>
> Thx for your help ...
>
> I would prefer the guix pull approach, but pull fails on my local
> machine as well as on the planetlab nodes...
>
> Any idea about that?

It could indicate that something’s broken in the distro, or that
something’s broken in how ‘pull’ compiles things.

Could you apply the patch at
<http://git.sv.gnu.org/cgit/guix.git/commit/?id=bda44eed939ae251a21ad3cd1337c58e8d349581>,
and try again?

TIA,
Ludo’.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2013-09-10 17:43 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-28 15:45 Compiling guix 0.3 on a fedora 8 planetlab node Matthias Wachs
2013-08-29 15:46 ` Cyril Roelandt
2013-08-29 20:02   ` Ludovic Courtès
2013-08-29 20:13     ` Andreas Enge
2013-08-29 20:15       ` Andreas Enge
2013-08-29 21:31         ` Ludovic Courtès
2013-08-30 10:01           ` Matthias Wachs
2013-08-30 11:09             ` Ludovic Courtès
2013-08-30 11:18               ` Matthias Wachs
2013-08-30 12:05                 ` Ludovic Courtès
2013-08-31  9:37                   ` Mark H Weaver
2013-09-10  7:14           ` Matthias Wachs
2013-09-10 17:37             ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).