Your message dated Sat, 13 Feb 2021 13:22:12 +0000
with message-id <[email protected]>
and subject line Bug#949400: Removed package(s) from unstable
has caused the Debian Bug report #734009,
regarding auto-compile noise can't be avoided by script
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
734009: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734009
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: guile-2.0
Version: 2.0.9+1-1
Severity: important
Guile 2.0 has a facility to automatically cache a compiled version of any
Scheme source file that it loads, and it wants the world to know about it!
If auto-compilation is enabled, which it is by default, then when guile
loads a file (that was not already compiled) it emits a banner describing
the auto-compilation. This interferes with the proper functionality
of any program written as a guile script, by producing output that the
program did not intend. I have tried to work around this, and although
a command-line switch can turn off the auto-compilation, it's a switch
that isn't recognised by earlier versions of guile, so there's no way for
a script to avoid the noise while being portable between guile versions
1.8 and 2.0. There's also no way to avoid the noise and actually get
the auto-compilation behaviour.
I am mainly concerned about being portable between versions while
avoiding the noise. In my particular case, my script uses the
read-eval (#.) feature, which means that the compilation process
actually can't work. (I have good reason for this, and for related
reasons the auto-compilation is also of essentially no value for
this script.) This means that *every* time the script is run, not
just the first time, guile emits the banner about auto-compilation,
followed by a rather misleading warning/error about compilation failure.
It's misleading because it then goes on to execute the script just fine.
I can demonstrate this with a minimal test case:
$ cat t0
#!/usr/bin/guile -s
!#
(fluid-set! read-eval? #t)
(display #."hello world")
(newline)
$ guile-1.8 -s t0
hello world
$ guile-2.0 -s t0
;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;; or pass the --no-auto-compile argument to disable.
;;; compiling /home/zefram/usr/lucifex/on_guile/t0
;;; WARNING: compilation of /home/zefram/usr/lucifex/on_guile/t0 failed:
;;; ERROR: #. read expansion found and read-eval? is #f.
hello world
$
I can turn off the auto-compilation from within the script by using the
--no-auto-compile option, but that breaks compatibility to 1.8:
$ cat t1
#!/usr/bin/guile \
--no-auto-compile -s
!#
(fluid-set! read-eval? #t)
(display #."hello world")
(newline)
$ guile-2.0 '\' t1
hello world
$ guile-1.8 '\' t1
guile-1.8: Unrecognized switch `--no-auto-compile'
Usage: guile-1.8 OPTION ...
Evaluate Scheme code, interactively or from a script.
...
guile should not be emitting this banner by default. It's really not
acceptable to damage the visible behaviour of a program that worked
fine on older guile versions. It also, for this auto-compilation to
serve as the invisible optimising cache as which it's intended, ought to
keep quiet about compilation failure: the fallback to interpreting the
script should be silent. But if such sensible behaviour is somehow not
possible, it absolutely needs to be possible for a script to turn off the
auto-compilation in a way that's compatible with guile-1.8 and earlier.
I have rated this bug "important" because of this lack of workaround.
-zefram
--- End Message ---
--- Begin Message ---
Version: 2.0.13+1-5.4+rm
Dear submitter,
as the package guile-2.0 has just been removed from the Debian archive
unstable we hereby close the associated bug reports. We are sorry
that we couldn't deal with your issue properly.
For details on the removal, please see https://bugs.debian.org/949400
The version of this package that was in Debian prior to this removal
can still be found using http://snapshot.debian.org/.
Please note that the changes have been done on the master archive and
will not propagate to any mirrors until the next dinstall run at the
earliest.
This message was generated automatically; if you believe that there is
a problem with it please contact the archive administrators by mailing
[email protected].
Debian distribution maintenance software
pp.
Joerg Jaspert (the ftpmaster behind the curtain)
--- End Message ---