From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.lisp.guile.user Subject: Re: guile 2.0.9 build on mingw Date: Tue, 11 Jun 2013 19:53:21 +0300 Message-ID: <83txl4lhby.fsf@gnu.org> References: <83sj1hv2ml.fsf@gnu.org> <874ndx9y7h.fsf@pobox.com> <83ip2bt4qk.fsf@gnu.org> <8761xqhyyt.fsf@gnu.org> <83li6mt18y.fsf@gnu.org> <83wqq3mcq9.fsf@gnu.org> <87k3m3kor5.fsf@gnu.org> <83ehcalysu.fsf@gnu.org> <87sj0pvl4a.fsf@tines.lan> <837gi1n3v5.fsf@gnu.org> <87k3m1vg8b.fsf@tines.lan> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1370969632 12976 80.91.229.3 (11 Jun 2013 16:53:52 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 11 Jun 2013 16:53:52 +0000 (UTC) Cc: ludo@gnu.org, guile-user@gnu.org To: Mark H Weaver Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Tue Jun 11 18:53:53 2013 Return-path: Envelope-to: guile-user@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 1UmRpK-0007HX-Q9 for guile-user@m.gmane.org; Tue, 11 Jun 2013 18:53:46 +0200 Original-Received: from localhost ([::1]:53427 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UmRpK-0002vY-H0 for guile-user@m.gmane.org; Tue, 11 Jun 2013 12:53:46 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33302) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UmRpB-0002v2-F8 for guile-user@gnu.org; Tue, 11 Jun 2013 12:53:38 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UmRpA-0000SQ-0a for guile-user@gnu.org; Tue, 11 Jun 2013 12:53:37 -0400 Original-Received: from mtaout20.012.net.il ([80.179.55.166]:60658) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UmRp9-0000SG-GT; Tue, 11 Jun 2013 12:53:35 -0400 Original-Received: from conversion-daemon.a-mtaout20.012.net.il by a-mtaout20.012.net.il (HyperSendmail v2007.08) id <0MO800C00MSVKQ00@a-mtaout20.012.net.il>; Tue, 11 Jun 2013 19:53:17 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout20.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0MO800AS0MWTEOQ0@a-mtaout20.012.net.il>; Tue, 11 Jun 2013 19:53:17 +0300 (IDT) In-reply-to: <87k3m1vg8b.fsf@tines.lan> X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: Solaris 10 X-Received-From: 80.179.55.166 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:10426 Archived-At: > From: Mark H Weaver > Cc: ludo@gnu.org, guile-user@gnu.org > Date: Mon, 10 Jun 2013 16:54:44 -0400 > > There are some remaining problems revealed by the test suite, but the > two people I spoke to reported that Guile 2.0.9 mostly works on mingw, > if configured with --disable-posix. > > >> Are you configuring Guile with --disable-posix? > > > > No. Should I? > > Yes. Ideally our configure script would --disable-posix by default on > mingw, but for now it has to be specified manually. Thanks. I tried that, but it didn't help. I see the same problems as without --disable-posix. What eventually did the trick was configuring --with-threads=no. Once I did that, the build ran successfully and almost 100% cleanly to completion. (I will report the details about "almost" later.) I will try to compare the two builds and find what breaks the one with threads. Since my knowledge about pthreads in general and on Windows in particular is strictly zero, I'm not sure I'll know where to look. So perhaps the following observation will help someone here to come up with ideas or hints about where to look: Guile gets stuck when it is about to exit. That is, it processes its input completely (e.g., compiles the .scm file), writes out the corresponding output (e.g., the .go file), announces that the output was written, and then gets stuck. So this suggests something related to some bookkeeping done at exit; any ideas what that could be? If no ideas are brought up, I guess the conclusion is that Guile on Windows cannot be built with pthreads, at least not with their binary package distributed by mingw.org, which is what I used. Btw, --disable-posix disables too much, for no good reason. E.g., it removes such innocent and important functionalities as "chdir", "open", and "close". This is unnecessary, especially since most of the functions disabled by --disable-posix already have HAVE_foo guards around them, so systems that don't have them will not have the corresponding Guile feature. I will try to lift as much of the disabled functionality as MinGW can bear. Another set of disabled features is the network related functions -- for some reason, the build process insists on h_errno being available, although h_errno is an obsolete facility that AFAIK no one is treating seriously anymore. Why not use errno instead? Thanks.