From: Eli Zaretskii <eliz@gnu.org>
To: Mark H Weaver <mhw@netris.org>
Cc: ludo@gnu.org, guile-user@gnu.org
Subject: Re: guile 2.0.9 build on mingw
Date: Tue, 11 Jun 2013 19:53:21 +0300 [thread overview]
Message-ID: <83txl4lhby.fsf@gnu.org> (raw)
In-Reply-To: <87k3m1vg8b.fsf@tines.lan>
> From: Mark H Weaver <mhw@netris.org>
> 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.
next prev parent reply other threads:[~2013-06-11 16:53 UTC|newest]
Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-20 19:46 guile 2.0.9 build on mingw Panicz Maciej Godek
2013-05-20 20:05 ` Eli Zaretskii
2013-05-20 20:46 ` Andy Wingo
2013-05-20 21:09 ` objc
2013-05-21 2:43 ` Eli Zaretskii
2013-05-22 15:26 ` Eli Zaretskii
2013-06-07 8:37 ` Eli Zaretskii
2013-06-07 12:44 ` Ludovic Courtès
2013-06-07 14:59 ` Eli Zaretskii
2013-06-09 17:10 ` Eli Zaretskii
2013-06-09 20:33 ` Ludovic Courtès
2013-06-09 21:16 ` Andy Wingo
2013-06-09 21:35 ` Ludovic Courtès
2013-06-10 16:18 ` Eli Zaretskii
2013-06-10 16:18 ` Eli Zaretskii
2013-06-10 16:23 ` Eli Zaretskii
2013-06-10 19:09 ` Mark H Weaver
2013-06-10 19:49 ` Eli Zaretskii
2013-06-10 20:54 ` Mark H Weaver
2013-06-11 16:53 ` Eli Zaretskii [this message]
2013-06-11 22:11 ` Ludovic Courtès
2013-06-12 17:46 ` Eli Zaretskii
2013-06-18 21:51 ` Why launch the Guile signal delivery thread on exit? (was Re: guile 2.0.9 build on mingw) Mark H Weaver
2013-06-19 15:51 ` Eli Zaretskii
2013-06-19 16:06 ` Julian Graham
2013-06-19 19:20 ` Ludovic Courtès
2013-06-12 17:57 ` guile 2.0.9 build on mingw Eli Zaretskii
2013-06-13 13:26 ` Eli Zaretskii
2013-06-16 14:19 ` Ludovic Courtès
2013-06-13 13:33 ` Eli Zaretskii
2013-06-16 14:36 ` Ludovic Courtès
2013-06-16 15:40 ` Eli Zaretskii
2013-06-16 14:55 ` Ludovic Courtès
2013-06-16 15:47 ` Eli Zaretskii
2013-06-16 18:59 ` Ludovic Courtès
2013-06-13 13:40 ` Eli Zaretskii
2013-06-16 14:59 ` Ludovic Courtès
2013-06-17 15:41 ` Eli Zaretskii
2013-06-18 20:45 ` Ludovic Courtès
2013-06-18 22:28 ` Mark H Weaver
2013-06-19 3:03 ` Eli Zaretskii
2013-06-19 19:26 ` Ludovic Courtès
2013-06-19 20:02 ` Eli Zaretskii
2013-06-19 2:59 ` Eli Zaretskii
2013-06-19 15:56 ` Eli Zaretskii
2013-06-19 19:38 ` Ludovic Courtès
2013-06-13 13:41 ` Eli Zaretskii
2013-06-16 15:04 ` Ludovic Courtès
2013-06-16 15:48 ` Eli Zaretskii
2013-06-16 14:44 ` Ludovic Courtès
2013-06-16 15:41 ` Eli Zaretskii
2013-06-12 17:59 ` Eli Zaretskii
2013-06-16 14:46 ` Ludovic Courtès
2013-06-12 18:02 ` Eli Zaretskii
2013-06-16 19:50 ` Ludovic Courtès
2013-06-16 20:22 ` Eli Zaretskii
2013-06-17 15:45 ` Mark H Weaver
2013-06-18 17:17 ` Eli Zaretskii
2013-06-18 19:31 ` Eli Zaretskii
2013-06-18 20:19 ` Ludovic Courtès
2013-06-19 2:53 ` Eli Zaretskii
2013-06-19 19:28 ` Ludovic Courtès
2013-06-19 19:56 ` Eli Zaretskii
2013-05-26 20:41 ` Panicz Maciej Godek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=83txl4lhby.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=guile-user@gnu.org \
--cc=ludo@gnu.org \
--cc=mhw@netris.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).