|
From: | GNU bug Tracking System |
Subject: | [debbugs-tracker] bug#14469: closed (non-portable pthread in finalizers.c) |
Date: | Thu, 30 May 2013 21:36:02 +0000 |
Your message dated Thu, 30 May 2013 23:33:28 +0200 with message-id <address@hidden> and subject line Re: bug#14469: non-portable pthread in finalizers.c has caused the debbugs.gnu.org bug report #14469, regarding non-portable pthread in finalizers.c to be marked as done. (If you believe you have received this mail in error, please contact address@hidden) -- 14469: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14469 GNU Bug Tracking System Contact address@hidden with problems
--- Begin Message ---Subject: non-portable pthread in finalizers.c Date: Sat, 25 May 2013 11:16:06 +0200 still hopelessly trying to build 2.0.9 on mingw,using the up-to-date git master branch, and I keepgetting the following error:finalizers.c: In function 'start_finalization_thread':finalizers.c:259:7: error: wrong type argument to unary exclamation markfinalizers.c: In function 'stop_finalization_thread':finalizers.c:274:7: error: used struct type value where scalar is requiredfinalizers.c:279:27: error: incompatible types when assigning to type 'pthread_t' from type 'int'here, the problem is that the code uses a non-portable feature of linux pthreads, namely that pthread_t is implemented as an arithmetic type.The manual page for pthread_self(3) states:"POSIX.1 allows an implementation wide freedom in choosing the type used to represent a thread ID; for example, representation using either an arithmetic type or a structure is permitted. Therefore, variables of type pthread_t can't portably be compared using the C equality operator (==); use pthread_equal(3) instead."Mingw pthreads do make use of that freedom, and define pthread_t as a struct, hence the code fails to compile.As I browsed through bug-guile, and it seems to be a recurring issue, and usually the proposed solution is to compile guile without threads, which is not acceptable in my case.
--- End Message ---
--- Begin Message ---Subject: Re: bug#14469: non-portable pthread in finalizers.c Date: Thu, 30 May 2013 23:33:28 +0200 User-agent: Gnus/5.130007 (Ma Gnus v0.7) Emacs/24.3 (gnu/linux) Panicz Maciej Godek <address@hidden> skribis: > still hopelessly trying to build 2.0.9 on mingw, > using the up-to-date git master branch, The ‘master’ branch is “version 2.1”–i.e., the upcoming development series for the future 2.2. Guile 2.0.9 is part of the stable series and should not has this problem on MinGW, so I would recommend using it. > and I keep getting the following error: > > finalizers.c: In function 'start_finalization_thread': > finalizers.c:259:7: error: wrong type argument to unary exclamation mark > finalizers.c: In function 'stop_finalization_thread': > finalizers.c:274:7: error: used struct type value where scalar is required > finalizers.c:279:27: error: incompatible types when assigning to type > 'pthread_t' from type 'int' > > here, the problem is that the code uses a non-portable feature of linux > pthreads, namely that pthread_t is implemented as an arithmetic type. Indeed. Commit 1701a68 (in ‘master’) fixes that. Thanks! Ludo’.
--- End Message ---
[Prev in Thread] | Current Thread | [Next in Thread] |