unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Mike Gran <spk121@yahoo.com>
To: Christoph Buck <christoph.buck@smartoptics.de>
Cc: guile-devel@gnu.org
Subject: Re: Compiling guile-2.2.4 for mingw
Date: Tue, 20 Nov 2018 07:59:44 -0800	[thread overview]
Message-ID: <20181120155813.GA20667@joshua.dnsalias.com> (raw)
In-Reply-To: <xxt7eh7lt1e.fsf@smartoptics.de>

On Tue, Nov 20, 2018 at 03:31:25PM +0100, Christoph Buck wrote:
> Hi!
> 

> Now i am at the point where i have a working guile binary and the helper
> scripts in the meta directory. But at this point the boostrapping fails
> with the following error:
> 
> > make[2]: Entering directory '/home/Christoph.Buck/guile-2.2.4/bootstrap'
> >   BOOTSTRAP GUILEC ice-9/eval.go
...

> >     619:8  2 (_ #(#(#(#(#(#(#(#(#(#(#(???) ???) ???) ???) ???) ???) ???) ???) ???) ???) ???))
> > In unknown file:
> >            1 (bytevector-u64-set! #vu8(0 0 0 0 0 0 0 0 0 0 0 0 0 0 ???) ???)
> > In ice-9/boot-9.scm:
> >    752:25  0 (dispatch-exception _ _ _)

...

> 
> I have no idea what might be wrong here or how to fix this problem. Does
> anbody have an idea?

Hey Chris,

This is one of two errors.  One problem is that Guile makes assumptions
about the size of long vs the size of a pointer, as do some the
libraries on which Guile depends.  In practice, your Guile needs to be
compiled under MinGW 32-bit where sizeof(void *) == sizeof(long)

There is another error that causes similar problems to the one you are
seeing.  That error is because there is an error in Guile that under
MinGW where it saves temporary files generated by 'mkstemp!' using the
text encoding, so you end up with random carriage returns in your
compiled scheme files.

I do have a working mostly working MinGW Guile on my system.  You can
check out the patches I did on a branch of the repo called
wip-mingw-guile-2.2

git.savannah.gnu.org/cgit/guile.git/log/?h=wip-mingw-guile-2.2

At the beginning of the year, I think I submitted the first of these
patches upstream, but, I got around to submitting the rest of them.

Also note that the MinGW threading library (winpthreads) almost works
with garbage collection, but, it isn't 100%, so you may need to only
compile the single-threaded version of Guile.

Good luck,

Mike



  parent reply	other threads:[~2018-11-20 15:59 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-20 14:31 Compiling guile-2.2.4 for mingw Christoph Buck
2018-11-20 15:39 ` tomas
2018-11-20 15:59 ` Mike Gran [this message]
2018-11-20 17:16   ` Christoph Buck
2018-11-20 17:45     ` Mike Gran
2018-11-20 20:27       ` Mark H Weaver
2018-11-20 17:10 ` Eli Zaretskii
2018-11-20 17:53 ` Jan Nieuwenhuizen

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=20181120155813.GA20667@joshua.dnsalias.com \
    --to=spk121@yahoo.com \
    --cc=christoph.buck@smartoptics.de \
    --cc=guile-devel@gnu.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).