GNU bug report logs - #40075
guile-3.0.1: --without-threads build failure on NetBSD

Previous Next

Package: guile;

Reported by: Thomas Klausner <tk <at> giga.or.at>

Date: Sun, 15 Mar 2020 12:56:01 UTC

Severity: normal

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 40075 in the body.
You can then email your comments to 40075 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#40075; Package guile. (Sun, 15 Mar 2020 12:56:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Thomas Klausner <tk <at> giga.or.at>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Sun, 15 Mar 2020 12:56:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Thomas Klausner <tk <at> giga.or.at>
To: bug-guile <at> gnu.org
Subject: guile-3.0.1: --without-threads build failure on NetBSD
Date: Sun, 15 Mar 2020 13:55:04 +0100
Hi!

guile-2.2.7 builds fine, but when I try to build guile 3.0.1
--without-threads on NetBSD-9.99.49/amd64, I see:

  CCLD     libguile-3.0.la
ld: .libs/libguile_3.0_la-posix.o: in function `scm_tmpnam':
/scratch/wip/guile30/work/guile-3.0.1/libguile/posix.c:1605: warning: warning: tmpnam() possibly used unsafely, use mkstemp() or mkdtemp()
  CCLD     guile
ld: ./.libs/libguile-3.0.so: warning: warning: tmpnam() possibly used unsafely, use mkstemp() or mkdtemp()
ld: ./.libs/libguile-3.0.so: undefined reference to `scm_i_pthread_key_create'

Any ideas how to solve this?

Thanks,
 Thomas




Information forwarded to bug-guile <at> gnu.org:
bug#40075; Package guile. (Wed, 18 Mar 2020 23:49:02 GMT) Full text and rfc822 format available.

Message #8 received at 40075 <at> debbugs.gnu.org (full text, mbox):

From: Matt Wette <matt.wette <at> gmail.com>
To: 40075 <at> debbugs.gnu.org
Subject: tmpnam
Date: Wed, 18 Mar 2020 16:47:54 -0700
This is related to 29001 at debbugs.gnu.org




Information forwarded to bug-guile <at> gnu.org:
bug#40075; Package guile. (Sat, 21 Mar 2020 14:31:02 GMT) Full text and rfc822 format available.

Message #11 received at 40075 <at> debbugs.gnu.org (full text, mbox):

From: Matt Wette <matt.wette <at> gmail.com>
To: 40075 <at> debbugs.gnu.org
Subject: oops
Date: Sat, 21 Mar 2020 07:30:33 -0700
scratch that - 29001 is about the tmpnam issue




Information forwarded to bug-guile <at> gnu.org:
bug#40075; Package guile. (Sat, 21 Mar 2020 14:38:02 GMT) Full text and rfc822 format available.

Message #14 received at 40075 <at> debbugs.gnu.org (full text, mbox):

From: Matt Wette <matt.wette <at> gmail.com>
To: 40075 <at> debbugs.gnu.org
Subject: pthreads
Date: Sat, 21 Mar 2020 07:37:11 -0700
I have duplicated this w/ 3.0.1 on ubuntu 18.04, x86_64.

I will look into this today.

Matt





Information forwarded to bug-guile <at> gnu.org:
bug#40075; Package guile. (Sat, 21 Mar 2020 16:44:02 GMT) Full text and rfc822 format available.

Message #17 received at 40075 <at> debbugs.gnu.org (full text, mbox):

From: Matt Wette <matt.wette <at> gmail.com>
To: 40075 <at> debbugs.gnu.org
Cc: Ludovic Courtès <ludo <at> gnu.org>
Subject: patch
Date: Sat, 21 Mar 2020 09:43:40 -0700
Below is a patch against guile-3.0.1.

"make" works, "make check" works.

null-threads.c was not seeing "SCM_USE_NULL_THREADS" so include 
libguile/scmconfig.h
null-threads.c was not seeing def of SCM_API so include "libguile/scm.h"
web-server.test used (if (provided? 'threads) <test>) so #undefined if 
no threads.


--- libguile/null-threads.h-orig    2020-03-21 08:12:37.852229565 -0700
+++ libguile/null-threads.h    2020-03-21 08:33:26.239759647 -0700
@@ -36,6 +36,8 @@
 #include <signal.h>
 #include <errno.h>

+#include "libguile/scm.h"
+
 /* Threads
 */
 typedef int scm_i_pthread_t;
--- libguile/null-threads.c-orig    2020-03-21 08:07:50.113439437 -0700
+++ libguile/null-threads.c    2020-03-21 08:08:32.681573253 -0700
@@ -23,6 +23,7 @@

 #include <stdlib.h>

+#include "libguile/scmconfig.h"

 #if SCM_USE_NULL_THREADS
 #include "null-threads.h"
--- test-suite/tests/web-server.test-orig    2020-03-21 
09:29:57.688813542 -0700
+++ test-suite/tests/web-server.test    2020-03-21 09:35:08.850651216 -0700
@@ -93,25 +93,25 @@
     "not found"
   (expect http-get "/does-not-exist" 404))

-(pass-if-equal "GET with keep-alive"
-    '("Hello, λ world!"
-      "Écrit comme ça en Latin-1."
-      "GNU Guile")
-  (if (provided? 'threads)
+(if (provided? 'threads)
+    (pass-if-equal "GET with keep-alive"
+      '("Hello, λ world!"
+    "Écrit comme ça en Latin-1."
+    "GNU Guile")
       (let ((port (open-socket-for-uri %server-base-uri)))
-        (define result
-          (map (lambda (path)
-                 (let-values (((response body)
-                               (http-get (string-append 
%server-base-uri path)
-                                         #:port port
-                                         #:keep-alive? #t
-                                         #:headers
-                                         '((user-agent . "GNU Guile")))))
-                   (and (= (response-code response) 200)
-                        body)))
-               '("/" "/latin1" "/user-agent")))
-        (close-port port)
-        result)))
+    (define result
+      (map (lambda (path)
+         (let-values (((response body)
+                   (http-get (string-append %server-base-uri path)
+                     #:port port
+                     #:keep-alive? #t
+                     #:headers
+                     '((user-agent . "GNU Guile")))))
+           (and (= (response-code response) 200)
+            body)))
+           '("/" "/latin1" "/user-agent")))
+    (close-port port)
+    result)))

 (pass-if-equal "POST /"
     "forbidden"





Reply sent to Ludovic Courtès <ludo <at> gnu.org>:
You have taken responsibility. (Sat, 21 Mar 2020 17:29:01 GMT) Full text and rfc822 format available.

Notification sent to Thomas Klausner <tk <at> giga.or.at>:
bug acknowledged by developer. (Sat, 21 Mar 2020 17:29:02 GMT) Full text and rfc822 format available.

Message #22 received at 40075-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Matt Wette <matt.wette <at> gmail.com>
Cc: 40075-done <at> debbugs.gnu.org
Subject: Re: bug#40075: patch
Date: Sat, 21 Mar 2020 18:28:31 +0100
Hi Matt,

Matt Wette <matt.wette <at> gmail.com> skribis:

> Below is a patch against guile-3.0.1.
>
> "make" works, "make check" works.
>
> null-threads.c was not seeing "SCM_USE_NULL_THREADS" so include
> libguile/scmconfig.h
> null-threads.c was not seeing def of SCM_API so include "libguile/scm.h"
> web-server.test used (if (provided? 'threads) <test>) so #undefined if
> no threads.

Perfect!  Pushed as 865d48058e6b1604b95a5da49334aaf80a6d6471 and
87bf38c93a7baa4f2c060c24d8e2d354f4771861 (slightly different).

Thank you!

Ludo’.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sun, 19 Apr 2020 11:24:10 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 344 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.