Mike Gran writes: > 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) Ok that makes sense. > 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 already wondered why my file-pathes were messed up. > 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. > Ok i checked out your branch and it indeed seems to compile under mingw32. However, I needed to comment out the pollfd struct definition in lib/poll.in.h to prevent a collusion in the winsock2.h header (see attached patch file). I guess this can be fixed more adequate somewhere in the configure scripts? > 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. Ok good to know. Is there currently no way to get guile running under mingw-64bit? My plan was to integrate guile in a project of mine which currently only builds under 64bit. > Good luck, > > Mike > Thanks Christoph