--- Begin Message ---
Subject: |
Shepherd 0.7.0 [PATCH] services: Support compilation on the Hurd. |
Date: |
Sat, 07 Mar 2020 16:09:03 +0100 |
Hi,
Compilation on the Hurd fails with
--8<---------------cut here---------------start------------->8---
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
--8<---------------cut here---------------end--------------->8---
Find patch attached.
Greetings,
janneke
>From ac06193300aea17d6e6d1ad784585542815af94b Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <address@hidden>
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(-)
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 <address@hidden>
;; Copyright (C) 2018 Carlo Zancanaro <address@hidden>
+;; Copyright (C) 2020 Jan (janneke) Nieuwenhuizen <address@hidden>
;;
;; 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 <address@hidden> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#39975: Shepherd 0.7.0 [PATCH] services: Support compilation on the Hurd. |
Date: |
Sat, 07 Mar 2020 22:04:52 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hello!
Jan Nieuwenhuizen <address@hidden> skribis:
> (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’.
--- End Message ---