bug#66852: Pipes not working in MSYS2

Francesco Corte <[email protected]>
Newsgroups gmane.lisp.guile.bugs
Message-ID <[email protected]>
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!
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.