[racket-dev] sudo make install

From: Jon Rafkind (rafkind at cs.utah.edu)
Date: Fri Dec 31 17:56:22 EST 2010

I reproduced this. 'make install' was killed due to a memory shortage
but before it died it wrote out .racket. This happened somewhere while
the scribble files were being processed.

$ find .racket
.racket
.racket/5.0.99.6
.racket/5.0.99.6/doc
.racket/5.0.99.6/doc/handin-server
.racket/5.0.99.6/doc/handin-server/in.sxref
.racket/5.0.99.6/doc/handin-server/stamp.sxref
.racket/5.0.99.6/doc/handin-server/out.sxref

On 12/31/2010 02:44 PM, Jon Rafkind wrote:
> Well I'm not sure when he will pop into irc again but I'll try to
> reproduce this scenario.
>
> On 12/31/2010 02:43 PM, Robby Findler wrote:
>> Probably whatever is writing to the preferences file should not be doing that.
>>
>> If he could send along whatever is in the .racket/ directory (and
>> owned by root) that would be useful.
>>
>> Robby
>>
>> On Fri, Dec 31, 2010 at 1:38 AM, Jon Rafkind <rafkind at cs.utah.edu> wrote:
>>> A user on IRC complained about an issue where after building and
>>> installing racket (with 'sudo make install') he received the following
>>> error upon starting drracket:
>>>
>>> Error saving preferences: open-output-file: cannot open output file:
>>> "~/.racket/.LOCKracket-prefs.rktd" (Permission denied; errno=13)
>>>
>>> Apparently some part of the installation process writes to ~/.racket and
>>> since he used 'sudo' it was with root privileges. Its worth noting that
>>> if you use 'su -c make install' things work because 'su -c' changes
>>> $HOME to /root whereas sudo does not.
>>>
>>> The user used 'sudo make install' because he passed
>>> '--prefix=/usr/local' to configure and so expected things to install
>>> there. I suppose this is a case of user error but its extremely subtle
>>> so I wouldn't call it that.
>>>
>>> Maybe during installation ~/.racket shouldn't be used, and /tmp/racket
>>> could be used instead or something?
>>> _________________________________________________
>>>  For list-related administrative tasks:
>>>  http://lists.racket-lang.org/listinfo/dev
>>>
> _________________________________________________
>   For list-related administrative tasks:
>   http://lists.racket-lang.org/listinfo/dev



Posted on the dev mailing list.