Package: guile;
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.
View this message in rfc822 format
From: Jan Schukat <shookie <at> email.de> To: Ludovic Courtès <ludo <at> gnu.org> Cc: Andy Wingo <wingo <at> pobox.com>, 13848-done <at> debbugs.gnu.org Subject: bug#13848: Statically linking guile-2.0. Date: Sat, 06 Apr 2013 01:14:46 +0200
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’.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.