Summary
Unable to run "chicken-install -deploy" with srfi-19 (must be root)
Metadata
- Id: 81b3a49490d04baf02ec77f34bfe82117a28f82c
- Trac id: 904
- Type: defect
- Reporter: zio_tom78
- Owner: kon
- Cc:
- Status: closed
- Component: extensions
- Estimated difficulty:
- Resolution: fixed
- Priority: minor
- Milestone:
- Version: 4.8.x
- Changetime: 2012-08-23 22:05:10 UTC
- Created: 2012-08-21 22:52:18 UTC
- Keywords:
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`.)
Changes and comments
[2012-08-23 21:29:31 UTC] felix changed status from new to assigned
[2012-08-23 21:29:31 UTC] felix set owner to kon
[2012-08-23 21:29:31 UTC] felix removed milestone 4.8.0
[2012-08-23 21:29:31 UTC] felix wrote:
The problem seems to be that `install-srfi-19-bundle` ("setup-helper" egg) uses `repository-path` as the destination for bundles. It should probably use `installation-prefix`, which is different in deployment mode (this can be tested by evaluating `(deployment-mode)`). I tried to use `installation-prefix` instead, but then I got a complaint about a missing bundle directory. In any case `repository-path` is not the correct destination in deployment mode.
[2012-08-23 22:05:10 UTC] kon changed status from assigned to closed
[2012-08-23 22:05:10 UTC] kon set resolution to fixed
[2012-08-23 22:05:10 UTC] kon wrote:
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.)