[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13848: Statically linking guile-2.0.
From: |
Jan Schukat |
Subject: |
bug#13848: Statically linking guile-2.0. |
Date: |
Sat, 06 Apr 2013 01:14:46 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130308 Thunderbird/17.0.4 |
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 <address@hidden> 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’.
- bug#13848: Statically linking guile-2.0.,
Jan Schukat <=
- bug#13848: Statically linking guile-2.0., Ludovic Courtès, 2013/04/07
- bug#13848: Aw: Re: bug#13848: Statically linking guile-2.0., Jan Schukat, 2013/04/07
- bug#13848: Aw: Re: bug#13848: Statically linking guile-2.0., Andy Wingo, 2013/04/07
- bug#13848: Aw: Re: Re: bug#13848: Statically linking guile-2.0., Jan Schukat, 2013/04/07
- bug#13848: Aw: Re: Re: bug#13848: Statically linking guile-2.0., Ludovic Courtès, 2013/04/07
- bug#13848: Aw: Re: Re: Re: bug#13848: Statically linking guile-2.0., Jan Schukat, 2013/04/07
- bug#13848: Aw: Re: Re: Re: bug#13848: Statically linking guile-2.0., Ludovic Courtès, 2013/04/08