[plt-scheme] using PLaneT

From: Prabhakar Ragde (plragde at uwaterloo.ca)
Date: Sun Apr 2 15:35:52 EDT 2006

Eli Barzilay wrote:

>> I put the necessary "require
>> (planet ...)  into my code, but it was run via a shell script
>> invoked from the command line, which failed with a permissions
>> error.
> 
> This should not have happened -- planet should only touch files in
> your home directory, and these all should belong to you.

See below.
> 
>> I had to run it using sudo to get the download to occur, and then my
>> code was horribly slow.  Running setup-plt (also under sudo)
>> compiled WebIt! (plus some other collections which didn't seem to be
>> compiled) and my code was much faster after that. Is it supposed to
>> be this complicated?
> 
> Seems like you had some other problem then.  If you can try the new
> installers from pre.plt-scheme.org, that will be helpful.  These are
> made in a way that should allow users with administrative rights to
> write to the plt directory.  (Although that is not needed for using
> planet.)

I just tried 301.12 from the above source. I put a symbolic link from 
/usr/local/bin/newmzscheme to the mzscheme in the bin directory of 
301.12 so I could use the same shell script. (Previously I had a 
symbolic link to 301.) When I run the shell script from Terminal, it says:

make-directory: cannot make directory: /Users/plragde/Library/PLT 
Scheme/planet/300/301.12 (Permission denied; errno=13)


  === context ===
/Applications/PLT Scheme v301.12/collects/planet/resolver.ss:172:2: resolver
/Applications/PLT Scheme 
v301.12/collects/errortrace/errortrace-lib.ss:270:4: errortrace-annotate
/Applications/PLT Scheme 
v301.12/collects/errortrace/errortrace-lib.ss:296:6: 
errortrace-compile-handler
standard-module-name-resolver
/Applications/PLT Scheme 
v301.12/collects/errortrace/errortrace-lib.ss:270:4: errortrace-annotate
/Applications/PLT Scheme 
v301.12/collects/errortrace/errortrace-lib.ss:296:6: 
errortrace-compile-handler

Perms on ~/Library and all the way down are drwxr-xr-x, which look right 
to me. My shell script starts:

#!/bin/sh
#|
#exec /usr/local/bin/mzscheme -M errortrace -qgr "$0" "$@"
exec /usr/local/bin/newmzscheme -M errortrace -qgr "$0" "$@"
|#

before continuing with some simple Scheme stuff (requiring my module, 
and invoking a function that it exports). It's the module which requires 
WebIt! by way of PLaneT. All this should run as me, right?

Oh, and when I ran setup-plt last time to fix things, there were only a 
couple of obscure things in /collects that it compiled, plus WebIt!, 
which was the only thing in my PLaneT cache (I cannot type PLaneT 
without five tries at it...) --PR


Posted on the users mailing list.