[racket] many permissions & other problems using packages in 5.3.6... workarounds?

From: John Clements (clements at brinckerhoff.org)
Date: Sat Oct 12 17:02:52 EDT 2013

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


Posted on the users mailing list.