Opened 9 years ago

Last modified 9 years ago

#791 new enhancement

First time (require :cocoa) tries to write in system-wide installation directory of ccl.

Reported by: pjb@… Owned by:
Priority: normal Milestone: Cocoa IDE v?
Component: IDE Version: 1.6
Keywords: Cc:

Description

When loading for the first time cocoa with (require :cocoa), on a system-wide install of ccl (specifically, as installed by MacPorts?, but I guess this is a generic problem), the user doesn't necessarily have the access rights to the following directories, so the require fails. This problem will occur also if the same ccl installation is used by different users.

So, the application bundle should be created in a user specific directory (eg. ~/Developer/CclTemplate?.app), and the fasl files and hemlock binaries should be compiled into user specific directories and even (user x host x implementation) specific directories to deal with NFS mounted homedirs, such as ~/.cache/common-lisp/${host}/${implementation}-${version}/ ...).

sudo mkdir -p  "/opt/local/share/ccl/1.6/temp bundle64.app/"
sudo chown pjb "/opt/local/share/ccl/1.6/temp bundle64.app/"
sudo mkdir -p  "/opt/local/share/ccl/1.6/cocoa-ide/fasls/"
sudo chown pjb "/opt/local/share/ccl/1.6/cocoa-ide/fasls/"
sudo mkdir -p  "/opt/local/share/ccl/1.6/cocoa-ide/hemlock/bin/"
sudo chown pjb "/opt/local/share/ccl/1.6/cocoa-ide/hemlock/bin/"
sudo chown pjb "/opt/local/share/ccl/1.6/cocoa-ide/"

Change History (3)

comment:1 Changed 9 years ago by pjb@…

  • Version changed from trunk to 1.6

comment:2 Changed 9 years ago by pjb@…

When trying to build the application make install fails in altconsole too, because of access rights. Instead, it should build in a different directory...

/opt/local/share/ccl/1.6/cocoa-ide/altconsole/

comment:3 Changed 9 years ago by rme

  • Milestone set to Cocoa IDE v?
  • Type changed from defect to enhancement

Well, you'd need write permission to the ccl directory in order to do (rebuild-ccl :full t) as well.

It might be useful to have a build function that does what you describe; I'll mark this ticket as an enhancement request.

Note: See TracTickets for help on using tickets.