Hello

Pipes are not working in Windows (MSYS2)

here is an example program

(use-modules (ice-9 popen)
             (ice-9 rdelim))

(let ((pipe (open-pipe* OPEN_READ "uname")))
  (display (read-line pipe))
  (close-pipe pipe))


and its output

λ guile -s main.scm
#<eof>

of course `uname` works in the shell (bash

λ uname
MSYS_NT-10.0-19045

the *features* variable signals that pipes are in theory available

scheme@(guile-user)> *features*
$1 = (readline record defmacro debug-extensions values array-for-each array sort socket net-db regex popen fork EIDs posix readlink-port chdir-port inexact complex random i/o-extensions i18n current-time delay threads char-ready? system)

here is the version of guile I'm using
λ guile --version
guile (GNU Guile) 3.0.9
Copyright (C) 2023 Free Software Foundation, Inc.

I tried the other `open-pipe` function, to the same result. Interestingly, `(system "uname")` works as expected.

both `popen` and `pclose` are available as stdio.h functions, I made sure by writing essentially the same program as above in C.

Thanks!





Reply via email to