GNU bug report logs -
#13848
Statically linking guile-2.0.
Previous Next
Reported by: Jan Schukat <shookie <at> email.de>
Date: Fri, 1 Mar 2013 16:23:02 UTC
Severity: normal
Done: Andy Wingo <wingo <at> pobox.com>
Bug is archived. No further changes may be made.
Full log
Message #109 received at 13848-done <at> debbugs.gnu.org (full text, mbox):
Finally got to look into the load path issues on windows. Did so by
adding some debug output into scm_init_load_path and
scm_primitive_load_path.
When during the build/compile the load paths are are normal windows
paths, with output like this:
GEN libguile/guile-procedures.txt
path: (c:\Users\shookie\guiletest\lib\guile-2.0\module
c:\Users\shookie\guiletest\lib\guile-2.0\guile-readline)
full_filename:
c:\Users\shookie\guiletest\lib\guile-2.0\module\ice-9/boot-9.scm
compiled_filename:
c:\Users\shookie\guiletest\lib\guile-2.0\module\ice-9/boot-9.go
full_filename:
c:\Users\shookie\guiletest\lib\guile-2.0\module\ice-9/r4rs.scm
compiled_filename:
c:\Users\shookie\guiletest\lib\guile-2.0\module\ice-9/r4rs.go
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".
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"
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
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)
full_filename:
c:/Users/shookie/guiletest/lib/share/guile/2.0/ice-9/boot-9.scm
compiled_filename: #fb
full_filename:
c:/Users/shookie/guiletest/lib/share/guile/2.0/ice-9/r4rs.scm
compiled_filename: #f
full_filename:
c:/Users/shookie/guiletest/lib/share/guile/2.0/ice-9/psyntax-pp.scm
compiled_filename: #f
full_filename:
c:/Users/shookie/guiletest/lib/share/guile/2.0/ice-9/posix.scm
compiled_filename: #f
full_filename:
c:/Users/shookie/guiletest/lib/share/guile/2.0/ice-9/networking.scm
compiled_filename: #f
full_filename:
c:/Users/shookie/guiletest/lib/share/guile/2.0/srfi\srfi-4.scm
compiled_filename: #f
full_filename:
c:/Users/shookie/guiletest/lib/share/guile/2.0/rnrs\bytevectors.scm
compiled_filename: #f
full_filename:
c:/Users/shookie/guiletest/lib/share/guile/2.0/ice-9\command-line.scm
compiled_filename:
c:/Users/shookie/.cache/guile/ccache/2.0-LE-4-2.0\c/Users/shookie/guiletest/lib/share/guile/2.0/ice-9/command-line.scm.go
......snip.....
full_filename:
c:/Users/shookie/guiletest/lib/share/guile/2.0/ice-9\futures.scm
compiled_filename:
c:/Users/shookie/.cache/guile/ccache/2.0-LE-4-2.0\c/Users/shookie/guiletest/lib/share/guile/2.0/ice-9/futures.scm.go
full_filename:
c:/Users/shookie/guiletest/lib/share/guile/2.0/srfi\srfi-11.scm
compiled_filename: #f
;;; compiling
c:/Users/shookie/guiletest/lib/share/guile/2.0/srfi\srfi-11.scm
;;; it seems
c:/Users/shookie/guiletest/lib/share/guile/2.0/srfi\srfi-11.scm
;;; is part of the compiler; skipping auto-compilation
full_filename: c:/Users/shookie/guiletest/lib/share/guile/2.0/ice-9\q.scm
compiled_filename:
c:/Users/shookie/.cache/guile/ccache/2.0-LE-4-2.0\c/Users/shookie/guiletest/lib/share/guile/2.0/ice-9/q.scm.go
And at that point it stalls.
I will look more into it, but I hope this is already useful. But as
usual each build takes quite a while, so progress is slow, since I
always go away doing other things after I initiated a build and test-run.
Regards
Jan Schukat
On 03/30/2013 10:27 PM, Ludovic Courtès wrote:
> Jan Schukat <shookie <at> email.de> skribis:
>
>> Starting the guile.exe or my own guiletest.exe still fails due to init
>> not finding the paths to the scheme modules,
> Did you try after running “make install”? If you try before, it’s
> normal that it doesn’t find.
>
>> but that is something I need to look into anyway, and will do that
>> over Easter. It's possible that that is due to the different path
>> treatment in mingw and windows proper, or it could just be that guile
>> can't handle windows paths with drive letters, colons and backslashes.
> It can handle that now (until 2.0.7 included that didn’t work
> correctly.)
>
> Ludo’.
This bug report was last modified 12 years and 99 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.