Shepherd 0.7.0 [PATCH] services: Support compilation on the Hurd.

  • Done
  • quality assurance status badge
Details
2 participants
  • Jan Nieuwenhuizen
  • Ludovic Courtès
Owner
unassigned
Submitted by
Jan Nieuwenhuizen
Severity
normal
J
J
Jan Nieuwenhuizen wrote on 7 Mar 2020 16:09
(address . bug-guix@gnu.org)
87y2sc6w34.fsf@gnu.org
Hi,

Compilation on the Hurd fails with

Toggle snippet (42 lines)
GUILEC modules/shepherd.go
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling /gnu/store/wq6m0l53hffnf9qa9hwdjqskcw54amf6-guile-2.2.6/bin/guild
;;; WARNING: compilation of /gnu/store/wq6m0l53hffnf9qa9hwdjqskcw54amf6-guile-2.2.6/bin/guild failed:
;;; failed to create path for auto-compiled file "/gnu/store/wq6m0l53hffnf9qa9hwdjqskcw54amf6-guile-2.2.6/bin/guild"
Backtrace:
In ice-9/boot-9.scm:
222:29 19 (map1 _)
222:29 18 (map1 _)
222:29 17 (map1 _)
222:29 16 (map1 _)
222:29 15 (map1 _)
222:29 14 (map1 (((shepherd comm)) ((shepherd config)) ((# #))))
222:29 13 (map1 (((shepherd config)) ((shepherd system))))
222:17 12 (map1 (((shepherd system))))
2800:17 11 (resolve-interface (shepherd system) #:select _ #:hide _ ?)
In ice-9/threads.scm:
390:8 10 (_ _)
In ice-9/boot-9.scm:
2726:13 9 (_)
In ice-9/threads.scm:
390:8 8 (_ _)
In ice-9/boot-9.scm:
2994:20 7 (_)
2312:4 6 (save-module-excursion #<procedure 3de2b88 at ice-9/boo?>)
3014:26 5 (_)
In unknown file:
4 (primitive-load-path "shepherd/system" #<procedure 3d7e?>)
In ice-9/eval.scm:
626:19 3 (_ #<directory (shepherd system) 3dd8230>)
245:16 2 (_ #<directory (shepherd system) 3dd8230>)
In unknown file:
1 (dynamic-func "prctl" #<dynamic-object #f>)
In ice-9/boot-9.scm:
752:25 0 (dispatch-exception _ _ _)

ice-9/boot-9.scm:752:25: In procedure dispatch-exception:
In procedure dynamic-pointer: Symbol not found: prctl
Makefile:2070: recipe for target 'modules/shepherd.go' failed

Find patch attached.

Greetings,
janneke
From ac06193300aea17d6e6d1ad784585542815af94b Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Sat, 7 Mar 2020 16:04:27 +0100
Subject: [PATCH] services: Support compilation on the Hurd.

* modules/shepherd/system.scm.in (prctl): Catch compile-time error.
---
modules/shepherd/system.scm.in | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

Toggle diff (25 lines)
diff --git a/modules/shepherd/system.scm.in b/modules/shepherd/system.scm.in
index 769404a..7def22d 100644
--- a/modules/shepherd/system.scm.in
+++ b/modules/shepherd/system.scm.in
@@ -1,6 +1,7 @@
;; system.scm -- Low-level operating system interface.
;; Copyright (C) 2013, 2014, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;; Copyright (C) 2018 Carlo Zancanaro <carlo@zancanaro.id.au>
+;; Copyright (C) 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
;;
;; This file is part of the GNU Shepherd.
;;
@@ -145,7 +146,9 @@ ctrlaltdel(8) and see kernel/reboot.c in Linux."
(define PR_SET_CHILD_SUBREAPER @PR_SET_CHILD_SUBREAPER@)
(define prctl
- (if (dynamic-func "prctl" (dynamic-link))
+ (if (catch #t
+ (lambda _ (dynamic-func "prctl" (dynamic-link)))
+ (const #f))
(let ((proc (syscall->procedure long "prctl" (list int int))))
(lambda (process operation)
"Perform an operation on the given process"
--
2.24.0
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com| Avatar® http://AvatarAcademy.com
L
L
Ludovic Courtès wrote on 7 Mar 2020 22:04
(name . Jan Nieuwenhuizen)(address . janneke@gnu.org)(address . 39975-done@debbugs.gnu.org)
87a74rg9l7.fsf@gnu.org
Hello!

Jan Nieuwenhuizen <janneke@gnu.org> skribis:

Toggle quote (6 lines)
> (define prctl
> - (if (dynamic-func "prctl" (dynamic-link))
> + (if (catch #t
> + (lambda _ (dynamic-func "prctl" (dynamic-link)))
> + (const #f))

I changed it to ‘false-if-exception’ and pushed, thanks!

There are exciting things going on here it seems. :-)

Ludo’.
Closed
?