guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Compiling guile-2.2.4 for mingw


From: Mike Gran
Subject: Re: Compiling guile-2.2.4 for mingw
Date: Tue, 20 Nov 2018 07:59:44 -0800
User-agent: Mutt/1.10.1 (2018-07-13)

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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]