From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Rob Browning Newsgroups: gmane.lisp.guile.devel Subject: Re: scm_cell vs threads build option Date: Sun, 02 Sep 2007 17:09:21 -0700 Message-ID: <87lkbovccu.fsf@raven.defaultvalue.org> References: <87fy1x9a8u.fsf@zip.com.au> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1188778175 6622 80.91.229.12 (3 Sep 2007 00:09:35 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 3 Sep 2007 00:09:35 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon Sep 03 02:09:33 2007 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IRzVT-0001jt-8G for guile-devel@m.gmane.org; Mon, 03 Sep 2007 02:09:31 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IRzVS-0005UF-6n for guile-devel@m.gmane.org; Sun, 02 Sep 2007 20:09:30 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IRzVO-0005U0-KI for guile-devel@gnu.org; Sun, 02 Sep 2007 20:09:26 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IRzVM-0005To-7I for guile-devel@gnu.org; Sun, 02 Sep 2007 20:09:25 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IRzVM-0005Tl-2A for guile-devel@gnu.org; Sun, 02 Sep 2007 20:09:24 -0400 Original-Received: from li12-156.members.linode.com ([70.85.129.156] helo=defaultvalue.org) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IRzVL-0000Fh-OG for guile-devel@gnu.org; Sun, 02 Sep 2007 20:09:23 -0400 Original-Received: from omen.defaultvalue.org (localhost [127.0.0.1]) by defaultvalue.org (Postfix) with ESMTP id 1E81390D35 for ; Sun, 2 Sep 2007 17:09:22 -0700 (PDT) Original-Received: from raven.defaultvalue.org (raven.defaultvalue.org [192.168.1.7]) by omen.defaultvalue.org (Postfix) with ESMTP id A8484340A8 for ; Sun, 2 Sep 2007 17:09:21 -0700 (PDT) Original-Received: by raven.defaultvalue.org (Postfix, from userid 1000) id 9843A1006A6; Sun, 2 Sep 2007 17:09:21 -0700 (PDT) In-Reply-To: <87fy1x9a8u.fsf@zip.com.au> (Kevin Ryde's message of "Sun\, 02 Sep 2007 10\:33\:37 +1000") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) X-Detected-Kernel: Linux 2.6 (newer, 1) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:6762 Archived-At: Kevin Ryde writes: > I gave Rob's new debian packaged 1.8.2 a go and found a bit of a problem > with scm_cell. The new packages have threads enabled, where the old > ones had it disabled, and alas that setting infects the inlined > scm_cell(). If you built your app against the old and run it against > the new then it bombs on SCM_FREELIST_LOC doing the different "thread > key" thingie access. > > I guess scm_cell has been inlined that way for a while, but it'd be > worth thinking about not inlining it, or only inlining for internal > uses, in the interests of binary compatibility among as many build > options as possible. > > I struck the problem in my own build of guile-gtk, not sure what > packaged stuff might be affected. gnome-games seems ok. Anything using > smobs probably isn't. This is potentially bad (for Debian at least). I'll have to investigate, but it may mean that I will have to revert Debian's build for now so that it doesn't enable threads. If the library ABIs really aren't binary compatible, then I probably won't be able to re-enable threads in Debian for 1.8 without some fairly ugly workaround (parallel packages, or similar). The problem is that Guile 1.8 in Etch was compiled without threads (due to some serious problems at the time). So if there is a binary incompatibility, then I can't re-enable threads now without breaking everything in stable (Etch) that was compiled against the non-threaded version. Of course, it's generally considered a big mistake to produce two libraries with the same soname and incompatible binary APIs. Perhaps Guile should use a different name for the threaded libs if they're not compatible. -- Rob Browning rlb @defaultvalue.org and @debian.org; previously @cs.utexas.edu GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4 _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel