From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.bugs Subject: bug#13848: Statically linking guile-2.0. Date: Sat, 09 Mar 2013 10:32:32 +0100 Message-ID: <87d2v85367.fsf@pobox.com> References: <5130D52F.3000704@email.de> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1362821615 14911 80.91.229.3 (9 Mar 2013 09:33:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 9 Mar 2013 09:33:35 +0000 (UTC) Cc: 13848@debbugs.gnu.org To: Jan Schukat Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Sat Mar 09 10:34:00 2013 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UEGA9-0000yC-4f for guile-bugs@m.gmane.org; Sat, 09 Mar 2013 10:33:57 +0100 Original-Received: from localhost ([::1]:42106 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UEG9m-0008It-Nc for guile-bugs@m.gmane.org; Sat, 09 Mar 2013 04:33:34 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:37337) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UEG9d-0008Ig-MM for bug-guile@gnu.org; Sat, 09 Mar 2013 04:33:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UEG9Y-0004lb-A1 for bug-guile@gnu.org; Sat, 09 Mar 2013 04:33:25 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:36742) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UEG9Y-0004lX-6C for bug-guile@gnu.org; Sat, 09 Mar 2013 04:33:20 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1UEGAD-0003KX-WB for bug-guile@gnu.org; Sat, 09 Mar 2013 04:34:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Andy Wingo Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-guile@gnu.org Resent-Date: Sat, 09 Mar 2013 09:34:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 13848 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 13848-submit@debbugs.gnu.org id=B13848.136282160312756 (code B ref 13848); Sat, 09 Mar 2013 09:34:01 +0000 Original-Received: (at 13848) by debbugs.gnu.org; 9 Mar 2013 09:33:23 +0000 Original-Received: from localhost ([127.0.0.1]:40851 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UEG9a-0003Jf-KL for submit@debbugs.gnu.org; Sat, 09 Mar 2013 04:33:23 -0500 Original-Received: from a-pb-sasl-quonix.pobox.com ([208.72.237.25]:59476 helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1UEG9X-0003JX-Lx for 13848@debbugs.gnu.org; Sat, 09 Mar 2013 04:33:21 -0500 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id 795F2CE1D; Sat, 9 Mar 2013 04:32:36 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=aE8OlKHM3RXPdRgbs4DuiLuKkQs=; b=kApvz9 KbAaERQKU++HgyNlIehnZOsW2B6nU4VaoynSs6eIo5g8mxox9EvoVVBlTKg/2/6v HUbK3bnrcY2Jq2xkEvgsODNc/VqgBJZEJY9cItk0PkxBPu80RTDZ67GSpjg49gr5 p/O6CdlelslgHtKYn9DXg+HAvw9PZm0suQeM0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=enKDk1U7fn82cOVtJlBzjrlMZ2ey2mG3 O3pOK45GdbYquDGtyCvqyKS5d3zW16qJGJBUmrg+LtcpcWoAtYuWKA9xS1Rpqdrh LLxmTRe1DEI8godzk+/H+qFRViX3lSJ8tjYesWp0Fa7ghpFrjhuuBN3JiJlLpaSd QqsXCLDfZaI= Original-Received: from a-pb-sasl-quonix.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTP id 72257CE1C; Sat, 9 Mar 2013 04:32:36 -0500 (EST) Original-Received: from badger (unknown [88.160.190.192]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-quonix.pobox.com (Postfix) with ESMTPSA id B588CCE1B; Sat, 9 Mar 2013 04:32:35 -0500 (EST) In-Reply-To: <5130D52F.3000704@email.de> (Jan Schukat's message of "Fri, 01 Mar 2013 17:19:59 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2 (gnu/linux) X-Pobox-Relay-ID: 46CDC8C4-889C-11E2-818D-59240E5B5709-02397024!a-pb-sasl-quonix.pobox.com X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:6898 Archived-At: Hi, On Fri 01 Mar 2013 17:19, Jan Schukat writes: > But compiling guile-2.0 on MinGW is a very hairy undertaking. I'm not > sure how often it is tested by the developers. Approximately never, unfortunately. However we have been improving it recently, and cross-compiling from GNU systems to MinGW is done occasionally. I will mostly address concerns about cross-compiling. Note that you should really be using Guile from stable-2.0 git and the latest MinGW. The easiest way to do that is to install a Fedora 18 VM, because they package mingw very well and are closest to upstream. I'm a Debian user and that's what I did, FWIW. I haven't yet tried with Debian itself. Also I would mention that dynamic linking should work on Windows, if all your DLLs are in the same folder. But I am ignorant and maybe that doesn't work. > Also, when you link statically and the symbol resolving works > differently, you have to go through some hoops to resolve boehm-gc > symbols, despite the preprocessor guards: That concerns > HAVE_GC_SET_FINALIZER_NOTIFIER, HAVE_GC_GET_HEAP_USAGE_SAFE, > HAVE_GC_GET_FREE_SPACE_DIVISOR, HAVE_GC_SET_FINALIZE_ON_DEMAND. In guile > there are statically defined fallbacks for the respective functions, > that cause linker conflicts when statically linked. Those functions > probably should be renamed completely to prevent this kind of problem. Are you saying that symbols with internal, static linkage inside bdw-gc conflict with static symbols inside Guile? This sounds like a misconfiguration issue. > Then there is also the old problem of the conflicting definitions of > struct timespec on MinGW in time.h and pthreads.h. FWIW I did not experience this in my cross-compile. > The bug #13768 about scm_getpid being used in "--without-posix" builds I > have sent already. Fixed upstream; thanks. > Also, on mingw the guile-tools/guild copy script can't deal with the > .exe ending. I have to configure and make once with > --program-suffix=.exe to create the proper script names and files, and > then again without, so they can be copied. (or find and copy them by > hand between builds) Are you certain that the meta/guile and meta/guild scripts need the .exe extension? They are not EXE files. MinGW should add on .exe to programs like libguile/guile (NB: not meta/guile) as needed. Also note that I just fixed a bug in meta/guile in which it was referencing libguile/guile without the @EXEEXT@. Basically I think --program-suffix is not what you want. > But then on install (processing .texi files) guile.exe fails with this > message: > > "Throw without catch before boot: > Throw to key system-error with args ("canonicalize-path" "~A" ("No such > file or directory") (2))Aborting. This is fixed in git, I believe. I think we're close. Can you give it another try? If needed I can handle the autogen side of things and give you a freshly prepared tarball. Andy -- http://wingolog.org/