[racket] many permissions & other problems using packages in 5.3.6... workarounds?
My students are using 5.3.6 with packages... in particular, with the
rsound package, that depends on the portaudio package. They've had a
wide variety of problems; I'm hoping that these are fixed in 5.90, but
short of telling my whole class to install a pre-release version, I'm
not sure how to test that, so I'm just going to list them, and maybe
y'all can tell me they've been fixed.
1) The most pervasive problem is one of permissions on Windows, where an
update gets jammed because DrR can't delete the existing directory. This
seems to happen pretty much every time a windows user updates. Nearly
all of my students now know how to navigate to AppData/Roaming/Racket to
delete these directories.
2) In 5.3.6, is there a menu-based way to run "raco setup rsound"? I
haven't found one. I'm betting there's a way to do it in DrR, but for
the moment I'm just steering students through starting up the Command
Prompt. This is an issue whenever my students update the package
(portaudio) that rsound depends on. Perhaps I'm missing something here.
3) There's a "just plain bug" where installing the depending package
(rsound) without installing the depended-on package asks "do you want to
install the depended-on package" (paraphrased)... but takes its stdin
from a port that's already closed, so the install window goes into a
busy loop of #<EOF>-ing that requires a very forceful quit.
4) Finally, a student of mine tells me he just got this bug while trying
to install; I have no idea what's going on here, yet:
hash-ref: contract violation
expected: hash?
given: '��wXR
argument position: 1st
other arguments...:
'source
context...:
C:\Program Files (x86)\Racket\collects\pkg\lib.rkt:459:2:
install-package228
C:\Program Files (x86)\Racket\collects\pkg\lib.rkt:449:0:
install-packages55
C:\Program Files (x86)\Racket\collects\racket\file.rkt:295:8
C:\Program Files (x86)\Racket\collects\racket\file.rkt:284:0:
call-with-file-lock24
C:\Program Files (x86)\Racket\collects\mrlib\terminal.rkt:150:7
C:\Program Files
(x86)\Racket\collects\mred\private\wx\common\queue.rkt:451:6
C:\Program Files
(x86)\Racket\collects\mred\private\wx\common\queue.rkt:502:32
C:\Program Files
(x86)\Racket\collects\racket\private\more-scheme.rkt:146:2:
call-with-break-parameterization
C:\Program Files
(x86)\Racket\collects\mred\private\wx\common\queue.rkt:397:18: loop
Sorry for all the grousing.
Thanks!
John