Subject: Re: bug#36601: Patch series for guile-2.9.2 on mingw-w64

From: "Thompson, David" <[email-masked]>
Date: Thu, 25 Jul 2019 13:37:55 -0400

Hi Hannes,

On Thu, Jul 11, 2019 at 12:33 PM Hannes Müller <[email-masked]> wrote:
>
> Hi,
> I propose the following patch series for current guile 3 development.
> With these patches applied, on i686 and x86_64 I got until
>
>   CCLD     guile.exe
>   GEN      guile-procedures.texi
> Backtrace:
>            0 (primitive-load-path "C:/Users/hm/Documents/msys32/…")
>
> ERROR: In procedure primitive-load-path:
> In procedure primitive-load-path: Unable to find file "C:/Users/hm/Documents/msys32/home/hm/mingw-w64-guile-2.9.2/src/build-i686-w64-mingw32/libguile/C:/Users/hm/Documents/msys32/home/hm/mingw-w64-guile-2.9.2/src/build-i686-w64-mingw32/meta/guild" in load path
> make[3]: *** [Makefile:4295: guile-procedures.texi] Error 1
>
> The latest error is related to building absolute path names, which seems not new but I do not know how to fix it.
>
> But I was able on i686 and x86_64 to run simple guile commands with relative path names
> GUILE_AUTO_COMPILE=0 ../meta/build-env ./.libs/guile -l ../../../../test.scm
>
> My configuration was:
> autoreconf -fi
> configure \
>     --prefix=${MINGW_PREFIX} \
>     --build=${MINGW_CHOST} \
>     --host=${MINGW_CHOST} \
>     --enable-shared \
>     --enable-static \
>     --enable-error-on-warning=no \
>     --enable-jit=no
>
> Attached also the used draft PKGBUILD file for mingw-w64.

Thanks for sharing these patches. I tried to write a Guix package
recipe for Guile 2.9.2 that could be built for i686-w64-mingw32 (for
starters), but failed. I used your patches and disabled JIT but got a
failure in numbers.h:

    numbers.h:43:34: error: expression in static assertion is not constant

Also, on the subject of JIT support, it seems that the reason it has
to be disabled is because gnulib does not have sys/mman.h, or maybe
it's because MinGW doesn't support mmap.  This is my first time
building things for windows with mingw so I don't really understand
this stuff.

Does anyone have thoughts on a path forward here?

- Dave