Subject: Aw: Re: bug#13848: Statically linking guile-2.0.

From: "Jan Schukat" <[email-masked]>
Date: Sun, 7 Apr 2013 18:20:24 +0200 (CEST)

Embarrassing. Typo. I really appreciate you still putting up with me here :)

With the correct variable name it doesn't recompile, the eventual result of running it is the same though: the program hangs whith the last output being loading q.scm. Which is strange, since that doesn't seem to be a very complicated module.

Also it doesn't seem to be a module used during the build process.

Regards

Jan Schukat

Gesendet: Sonntag, 07. April 2013 um 12:20 Uhr
Von: "Ludovic Courtès" <[email-masked]>
An: "Jan Schukat" <[email-masked]>
Cc: "Andy Wingo" <[email-masked]>, [email-masked]
Betreff: Re: bug#13848: Statically linking guile-2.0.

Hi Jan,

Jan Schukat <[email-masked]> skribis:

> But when I start the installed guile.exe, the output is like this and
> it can't find the scheme modules:
>
> path: (/c/Users/shookie/guiletest/lib/share/guile/2.0
> /c/Users/shookie/guiletest/lib/share/guile/site/2.0
> /c/Users/shookie/guiletest/lib/share/guile/site
> /c/Users/shookie/guiletest/lib/sh are/guile)
> full_filename: #f
> compiled_filename: #f
>
> So as I suspected a conflict between mingw-paths and windows paths. I
> suspect the mingw paths in the installed exe are the static #defines
> that configure sets up since those /c/User/... paths also show up when
> you extract the strings fromthe binary with strings guile.exe|grep
> "/lib".

Yes.

> Now when I export
> GUILE_LOAD_PATH="/c/Users/shookie/guiletest/lib/share/guile/2.0" and
> GUILE_LOAD_COMPILE_PATH=""/c/Users/shookie/guiletest/lib/lib/guile/2.0/ccache"

You miss a ‘D’ here: ‘GUILE_LOAD_COMPILED_PATH’.

> before invoking the installed guile.exe it finds the modules, but it
> doesn't seem to like compile path and tries to recompile all the
> modules which eventually fails with a stall, usually at q.scm or
> thread.scm

That’s probably because of the above.

> Here is output from that case:
>
> $ export
> GUILE_LOAD_PATH="/c/Users/shookie/guiletest/lib/share/guile/2.0/"
> GUILE_LOAD_COMPILED_PATH="/c/Users/shookie/guiletest/lib(lib/guile/2.0/ccache/";./lib/bin/guile
>
>
> path: (c:/Users/shookie/guiletest/lib/share/guile/2.0/
> /c/Users/shookie/guiletest/lib/share/guile/2.0
> /c/Users/shookie/guiletest/lib/share/guile/site/2.0
> /c/Users/shookie/guiletest/lib/share/guile/site
> /c/Users/shookie/guiletest/lib/sh
> are/guile)

IIUC the difference is that the first element in the path starts with
c:/ instead of /c. That’s probably because of the conversion that MinGW
does when reading the environment variable (see
<http://www.mingw.org/wiki/Posix_path_conversion>.)

So that means that the file names obtained by ‘configure’ should be
rewritten in Windows style, I suppose. I’m not sure exactly how this
should be done though. Suggestions?

Ludo’.