Subject: bug#14171: closed (Re: bug#14171: Aw: Re: bug#14171: REPL doesn't work on windows min-gw)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 20 Jun 2016 20:29:02 +0000

Your bug report

#14171: REPL doesn't work on windows min-gw

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
14171: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=14171
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#14171: Aw: Re: bug#14171: REPL doesn't work on windows min-gw
From: Andy Wingo <[email-masked]>
To: Jan Schukat <[email-masked]>
Cc: [email-masked]
Date: Mon, 20 Jun 2016 22:28:14 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi,

Expiring this old bug.  I understand that things are working better on
MinGW these days but if you find a new problem with Guile 2.0.11 or the
stable-2.0 branch, please file a new bug.  Cheers :)

Andy

On Mon 15 Apr 2013 08:37, Jan Schukat <[email-masked]> writes:

> Just a quick follow-up. Tried to run the test suite. And to see how it
> is supposed to work I first did that on linux. But when you use a -
> -disaple-posix guile it fails at the second test already because chdir
> is defined in the posix module. So I didn't even run it on windows
> yet.
>
> Here's my output:
>
> ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
> ;;; or pass the --no-auto-compile argument to disable.
> ;;; compiling /home/shookie/core/lib/guile-2.0/test-suite/guile-test
> ;;; compiling
> /home/shookie/core/lib/guile-2.0/test-suite/test-suite/lib.scm
> ;;; test-suite/lib.scm:531:46: warning: possibly unbound variable
> `setlocale'
> ;;; test-suite/lib.scm:531:46: warning: possibly unbound variable
> `LC_ALL'
> ;;; test-suite/lib.scm:533:49: warning: possibly unbound variable
> `setlocale'
> ;;; test-suite/lib.scm:533:49: warning: possibly unbound variable
> `LC_ALL'
> ;;; test-suite/lib.scm:539:14: warning: possibly unbound variable
> `setlocale'
> ;;; test-suite/lib.scm:539:14: warning: possibly unbound variable
> `LC_ALL'
> ;;; compiled
> /home/shookie/.cache/guile/ccache/2.0-LE-4-2.0/home/shookie/core/lib/guile-2.0/test-suite/test-suite/lib.scm.go
> ;;; guile-test:250:20: warning: possibly unbound variable `close'
> ;;; compiled
> /home/shookie/.cache/guile/ccache/2.0-LE-4-2.0/home/shookie/core/lib/guile-2.0/test-suite/guile-test.go
> Running tests/00-initial-env.test
> ;;; compiling
> /home/shookie/core/lib/guile-2.0/test-suite/tests/00-initial-env.test
> ;;; compiled
> /home/shookie/.cache/guile/ccache/2.0-LE-4-2.0/home/shookie/core/lib/guile-2.0/test-suite/tests/00-initial-env.test.go
> Running tests/00-socket.test
> ;;; compiling
> /home/shookie/core/lib/guile-2.0/test-suite/tests/00-socket.test
> ;;; tests/00-socket.test:195:0: warning: possibly unbound variable
> `chdir'
> ;;; tests/00-socket.test:303:23: warning: possibly unbound variable
> `primitive-fork'
> ;;; tests/00-socket.test:338:33: warning: possibly unbound variable
> `waitpid'
> ;;; tests/00-socket.test:339:24: warning: possibly unbound variable
> `status:exit-val'
> ;;; tests/00-socket.test:383:23: warning: possibly unbound variable
> `primitive-fork'
> ;;; tests/00-socket.test:411:33: warning: possibly unbound variable
> `waitpid'
> ;;; tests/00-socket.test:412:24: warning: possibly unbound variable
> `status:exit-val'
> ;;; tests/00-socket.test:481:23: warning: possibly unbound variable
> `primitive-fork'
> ;;; tests/00-socket.test:516:33: warning: possibly unbound variable
> `waitpid'
> ;;; tests/00-socket.test:517:24: warning: possibly unbound variable
> `status:exit-val'
> ;;; tests/00-socket.test:522:20: warning: possibly unbound variable
> `chdir'
> ;;; compiled
> /home/shookie/.cache/guile/ccache/2.0-LE-4-2.0/home/shookie/core/lib/guile-2.0/test-suite/tests/00-socket.test.go
> Backtrace:
> In ice-9/boot-9.scm:
> 157: 10 [catch #t #<catch-closure 9515ae0> ...]
> In unknown file:
> ?: 9 [apply-smob/1 #<catch-closure 9515ae0>]
> In ice-9/boot-9.scm:
> 63: 8 [call-with-prompt prompt0 ...]
> In ice-9/eval.scm:
> 432: 7 [eval # #]
> In guile-test:
> 240: 6 [main ("guile-test")]
> In ice-9/boot-9.scm:
> 697: 5 [for-each #<procedure 9b1d490 at guile-test:240:29 (test)> #]
> In test-suite/lib.scm:
> 459: 4 [with-test-prefix* "tests/00-socket.test" ...]
> In ice-9/boot-9.scm:
> 2320: 3 [save-module-excursion #<procedure 9b62d40 at
> ice-9/boot-9.scm:3961:3 ()>]
> 3966: 2 [#<procedure 9b62d40 at ice-9/boot-9.scm:3961:3 ()>]
> In unknown file:
> ?: 1 [load-compiled/vm
> "/home/shookie/.cache/guile/ccache/2.0-LE-4-2.0/home/shookie/core/lib/guile-2.0/test-suite/tests/00-socket.test.go"]
> In tests/00-socket.test:
> 195: 0 [#<procedure 9b0ab80 ()>]
>
> tests/00-socket.test:195:0: In procedure #<procedure 9b0ab80 ()>:
> tests/00-socket.test:195:0: In procedure module-lookup: Unbound
> variable: chdir
>
> and the guile.log:
>
> PASS: tests/00-initial-env.test: goopsless: + wrong type argument: 1st
> argument string (eval)
> PASS: tests/00-initial-env.test: goopsless: + wrong type argument: 1st
> argument string (compile)
> PASS: tests/00-initial-env.test: goopsless: + wrong type argument: 2nd
> argument bool (eval)
> PASS: tests/00-initial-env.test: goopsless: + wrong type argument: 2nd
> argument bool (compile)
> PASS: tests/00-initial-env.test: goopsless: + wrong type argument:
> implicit forcing is not supported (eval)
> PASS: tests/00-initial-env.test: goopsless: + wrong type argument:
> implicit forcing is not supported (compile)
> PASS: tests/00-initial-env.test: goopsless: - wrong type argument: 1st
> argument string (eval)
> PASS: tests/00-initial-env.test: goopsless: - wrong type argument: 1st
> argument string (compile)
> PASS: tests/00-initial-env.test: goopsless: - wrong type argument: 2nd
> argument symbol (eval)
> PASS: tests/00-initial-env.test: goopsless: - wrong type argument: 2nd
> argument symbol (compile)
> PASS: tests/00-socket.test: htonl: 0
> PASS: tests/00-socket.test: htonl: -1
> PASS: tests/00-socket.test: htonl: 2^32
> PASS: tests/00-socket.test: htonl: 2^1024
> PASS: tests/00-socket.test: inet-ntop: ipv6: 0
> PASS: tests/00-socket.test: inet-ntop: ipv6: 2^128-1
> PASS: tests/00-socket.test: inet-ntop: ipv6: -1
> PASS: tests/00-socket.test: inet-ntop: ipv6: 2^128
> PASS: tests/00-socket.test: inet-ntop: ipv6: 2^1024
> PASS: tests/00-socket.test: inet-pton: ipv6: 00:00:00:00:00:00:00:00
> PASS: tests/00-socket.test: inet-pton: ipv6: 0:0:0:0:0:0:0:1
> PASS: tests/00-socket.test: inet-pton: ipv6: ::1
> PASS: tests/00-socket.test: inet-pton: ipv6:
> FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
> PASS: tests/00-socket.test: inet-pton: ipv6:
> F000:0000:0000:0000:0000:0000:0000:0000
> PASS: tests/00-socket.test: inet-pton: ipv6:
> 0F00:0000:0000:0000:0000:0000:0000:0000
> PASS: tests/00-socket.test: inet-pton: ipv6:
> 0000:0000:0000:0000:0000:0000:0000:00F0
> PASS: tests/00-socket.test: inet-ntop: ipv4: 127.0.0.1
> PASS: tests/00-socket.test: inet-ntop: ipv6:
> FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF
> PASS: tests/00-socket.test: inet-ntop: ipv6: ::1
> PASS: tests/00-socket.test: make-socket-address: AF_INET
> PASS: tests/00-socket.test: make-socket-address: AF_INET6
> PASS: tests/00-socket.test: make-socket-address: AF_UNIX
> PASS: tests/00-socket.test: ntohl: 0
> PASS: tests/00-socket.test: ntohl: -1
> PASS: tests/00-socket.test: ntohl: 2^32
> PASS: tests/00-socket.test: ntohl: 2^1024
>
> Regards
>
> Jan Schukat
>
> On 04/11/2013 04:40 PM, Jan Schukat wrote:
>
>     
>     
>     Ok, did use this package: guile-2.0.9.2-f480a-dirty.tar.gz and can
>     build and run guile-2.0 on mingw when I --disable-posix, which
>     makes sense, since Windows is not posix :) Can even use threads.
>     
>     I guess I try to get the test-suite to run now.
>     
>     I'm pretty happy now that my issues on windows could be resolved
>     in the last few weeks.
>     
>     Regards
>     
>     Jan Schukat
>     
>     
>     
>     Gesendet: Mittwoch, 10. April 2013 um 22:23 Uhr
>     Von: "Andy Wingo" <[email-masked]>
>     An: "Jan Schukat" <[email-masked]>
>     Cc: [email-masked]
>     Betreff: Re: bug#14171: REPL doesn't work on windows min-gw
>     On Wed 10 Apr 2013 05:59, "Jan Schukat" <[email-masked]> writes:
>     
>     > system/repl/common.scm:147:25: In procedure make-repl:
>     > system/repl/common.scm:147:25: In procedure module-lookup:
>     Unbound
>     > variable: times
>     
>     Can you try with the 2.0.9 release, made yesterday? It should fix
>     this
>     error.
>     
>     Andy
>     --
>     http://wingolog.org/

Subject: REPL doesn't work on windows min-gw
From: "Jan Schukat" <[email-masked]>
To: [email-masked]
Date: Wed, 10 Apr 2013 05:59:10 +0200 (CEST)
List-Id: <debbugs-submit.debbugs.gnu.org>

I thought I better start a new bug report, since the old #13848 definitely isn't fitting anymore. I can now build guile-2.0 on windows mingw.

I can even run it. Give it expressions on the command line to evaluate, and it does so.

But it can't start the REPL. It just hangs. That's where I am at now, after investigating why I can't run it and it aborted while loading q.scm.

I guess I retrace what I have been doing:

Using gdb and some added debug output I figured that q.scm is loaded by futures.scm and futures.scm is loaded by threads.scm and threads.scm is loaded by top-repl.scm

So I thought I just --disable-threads. I did, but strangely (provided? 'threads) was still #t and threads was loaded.

So I commented out the line 61-63 in top-repl.scm where the thread module is set up to be loaded.

Now guile.exe hangs at loading null.scm. That was the point when I simply tried to run expressions from the command line with -c and saw that it works.

That's when I reconfigured and recompiled again with --disabled-posix and --disable-threads. When I now want to start the guile REPL it exits with a proper backtrace:

module: C:/Users/shookie/guiletest/lib/lib/guile/2.0/ccache\ice-9\vlist.go

Backtrace:
In ice-9/boot-9.scm:
157: 5 [catch #t #<catch-closure 1cec500> ...]
In unknown file:
?: 4 [apply-smob/1 #<catch-closure 1cec500>]
In ice-9/boot-9.scm:
63: 3 [call-with-prompt prompt0 ...]
In ice-9/top-repl.scm:
78: 2 [#<procedure 223ee50 at ice-9/top-repl.scm:68:5 ()>]
In system/repl/repl.scm:
138: 1 [start-repl scheme #:debug #f]
In system/repl/common.scm:
147: 0 [make-repl scheme #f]

system/repl/common.scm:147:25: In procedure make-repl:
system/repl/common.scm:147:25: In procedure module-lookup: Unbound variable: times

So that's where I'm at. Thought that might be of interest already. When I get to work on it again my next steps will be starting guile with command line expressions loading all different kinds of modules related to to the REPL to see which one does the hanging. If you have any suggestions or hints on how to proceed best, I'd be greateful as well.

Regards

Jan Schukat