Opened 13 years ago
Closed 13 years ago
#904 closed defect (fixed)
Unable to run "chicken-install -deploy" with srfi-19 (must be root)
| Reported by: | Maurizio Tomasi | Owned by: | Kon Lovett |
|---|---|---|---|
| Priority: | minor | Milestone: | |
| Component: | extensions | Version: | 4.8.x |
| Keywords: | Cc: | ||
| Estimated difficulty: |
Description
On my system (Ubuntu Linux 12.04, with Chicken Scheme 4.7.0 installed from the Ubuntu repository using apt-get) I cannot add the egg srfi-19 to my deployed executable because of write permissions:
$ chicken-install -deploy -p ./standalone srfi-19
retrieving ...
resolving alias `kitten-technologies' to: http://chicken.kitten-technologies.co.uk/henrietta.cgi
connecting to host "chicken.kitten-technologies.co.uk", port 80 ...
requesting "/henrietta.cgi?name=srfi-19&mode=default" ...
reading response ...
HTTP/1.1 200 OK
Date: Tue, 21 Aug 2012 20:46:43 GMT
Server: Apache/2.2.19 (Unix) mod_ssl/2.2.19 OpenSSL/0.9.9-dev DAV/2 SVN/1.6.17 PHP/5.2.17 mod_fastcgi/2.4.6
Connection: close
Transfer-Encoding: chunked
Content-Type: text/plain
reading chunks ....
reading files ...
./TODO
./chicken-primitive-object-inlines.scm
./de/
./de/srfi-19
./en/
./en/srfi-19
./es/
./es/srfi-19
./it/
./it/srfi-19
./nl/
./nl/srfi-19
./pt/
./pt/br/
./pt/br/srfi-19
./srfi-19-common.scm
./srfi-19-core.scm
./srfi-19-date.scm
./srfi-19-io.scm
./srfi-19-period.scm
./srfi-19-support.scm
./srfi-19-time.scm
./srfi-19-timezone.scm
./srfi-19.meta
./srfi-19.scm
./srfi-19.setup
./tai-utc.dat
srfi-19 located at /tmp/temp379e/srfi-19
checking platform for `srfi-19' ...
checking dependencies for `srfi-19' ...
install order:
("srfi-19")
installing srfi-19: ...
changing current directory to /tmp/temp379e/srfi-19
/usr/bin/csi -bnq -e "(require-library setup-api)" -e "(import setup-api)" -e "(setup-error-handling)" -e "(extension-name-and-version '(\"srfi-19\" \"\"))" -e "(destination-prefix \"/home/tomasi/standalone\")" -e "(runtime-prefix \"/home/tomasi/standalone\")" -e "(deployment-mode #t)" /tmp/temp379e/srfi-19/srfi-19.setup
cp -r de/srfi-19 /var/lib/chicken/6/srfi-29-bundles/de/srfi-19
cp: cannot create regular file `/var/lib/chicken/6/srfi-29-bundles/de/srfi-19': Permission denied
Error: shell command failed with nonzero exit status 256:
cp -r de/srfi-19 /var/lib/chicken/6/srfi-29-bundles/de/srfi-19
Error: shell command terminated with nonzero exit code
17920
"/usr/bin/csi -bnq -e \"(require-library setup-api)\" -e \"(import setup-api)\" ...
To solve this, I have to use sudo. So far this is the only library I am using in my project which requires me to do so.
(Note: before doing this I already installed the egg using sudo chicken-install srfi-19.)
Change History (2)
comment:1 Changed 13 years ago by
| Milestone: | 4.8.0 |
|---|---|
| Owner: | set to Kon Lovett |
| Status: | new → assigned |
comment:2 Changed 13 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
try w/ setup-helper 1.5.3
(Note: use chicken-install -sudo srfi-19 instead of sudo chicken-install srfi-19 should it be necessary.)
Note: See
TracTickets for help on using
tickets.

The problem seems to be that
install-srfi-19-bundle("setup-helper" egg) usesrepository-pathas the destination for bundles. It should probably useinstallation-prefix, which is different in deployment mode (this can be tested by evaluating(deployment-mode)). I tried to useinstallation-prefixinstead, but then I got a complaint about a missing bundle directory.In any case
repository-pathis not the correct destination in deployment mode.