Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Non-standard install location fails #7

Open
vjorlikowski opened this issue Mar 31, 2021 · 1 comment
Open

Non-standard install location fails #7

vjorlikowski opened this issue Mar 31, 2021 · 1 comment
Assignees
Labels

Comments

@vjorlikowski
Copy link

Hi there...

When one attempts to install chicken-doc into a custom install location, the installation of the chicken-doc binary fails, because it assumes it will always be installed into /usr/bin; as a non-privileged user, then:

vjo@glaucus/pts/24:~ % export CHICKEN_INSTALL_REPOSITORY=~/local_chickendev/eggs/11
vjo@glaucus/pts/24:~ % chicken-install apropos chicken-doc
building apropos
   /usr/bin/csc -host -D compiling-extension -J -s -regenerate-import-libraries -setup-mode -I /home/vjo/.cache/chicken-install/apropos -C -I/home/vjo/.cache/chicken-install/apropos -O3 -d1 -strict-types -no-procedure-checks -no-bound-checks -emit-types-file '/home/vjo/.cache/chicken-install/apropos/symbol-access.types' symbol-access.scm -o /home/vjo/.cache/chicken-install/apropos/symbol-access.so
   /usr/bin/csc -regenerate-import-libraries -setup-mode -static -I /home/vjo/.cache/chicken-install/apropos -emit-link-file /home/vjo/.cache/chicken-install/apropos/symbol-access.link -host -D compiling-extension -c -unit symbol-access -D compiling-static-extension -C -I/home/vjo/.cache/chicken-install/apropos -O3 -d1 -strict-types -no-procedure-checks -no-bound-checks symbol-access.scm -o /home/vjo/.cache/chicken-install/apropos/symbol-access.static.o
   /usr/bin/csc -setup-mode -s -host -I /home/vjo/.cache/chicken-install/apropos -C -I/home/vjo/.cache/chicken-install/apropos -O3 -d1 -strict-types -no-procedure-checks -no-bound-checks symbol-access.import.scm -o /home/vjo/.cache/chicken-install/apropos/symbol-access.import.so

<several_lines_elided/>

  /usr/bin/csc -regenerate-import-libraries -setup-mode -static -I /home/vjo/.cache/chicken-install/chicken-doc -emit-link-file /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc.link -host -D compiling-extension -c -unit chicken-doc -D compiling-static-extension -C -I/home/vjo/.cache/chicken-install/chicken-doc -O2 -d1 chicken-doc.scm -o /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc.static.o
   /usr/bin/csc -setup-mode -s -host -I /home/vjo/.cache/chicken-install/chicken-doc -C -I/home/vjo/.cache/chicken-install/chicken-doc -O2 -d0 chicken-doc.import.scm -o /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc.import.so
   /usr/bin/csc -setup-mode -s -host -I /home/vjo/.cache/chicken-install/chicken-doc -C -I/home/vjo/.cache/chicken-install/chicken-doc -O2 -d0 chicken-doc-text.import.scm -o /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc-text.import.so
   /usr/bin/csc -setup-mode -host -I /home/vjo/.cache/chicken-install/chicken-doc -C -I/home/vjo/.cache/chicken-install/chicken-doc -O2 -d1 chicken-doc-cmd.scm -o /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc-cmd
  installing chicken-doc
install: cannot create regular file '/usr/bin/chicken-doc': Permission denied

Error: shell command terminated with nonzero exit code
256
"sh /home/vjo/.cache/chicken-install/chicken-doc/chicken-doc.install.sh"

When I look in "chicken-doc.install.sh", I find:

mkdir -p ${DESTDIR}'/home/vjo/local_chickendev/eggs/11'
rm -f ${DESTDIR}'/home/vjo/local_chickendev/eggs/11/chicken-doc.import.so'
install -m 755 '/home/vjo/.cache/chicken-install/chicken-doc/chicken-doc.import.
so' ${DESTDIR}'/home/vjo/local_chickendev/eggs/11/chicken-doc.import.so'

mkdir -p ${DESTDIR}'/home/vjo/local_chickendev/eggs/11'
rm -f ${DESTDIR}'/home/vjo/local_chickendev/eggs/11/chicken-doc-text.import.so'
install -m 755 '/home/vjo/.cache/chicken-install/chicken-doc/chicken-doc-text.im
port.so' ${DESTDIR}'/home/vjo/local_chickendev/eggs/11/chicken-doc-text.import.s
o'

mkdir -p ${DESTDIR}'/usr/bin'
rm -f ${DESTDIR}'/usr/bin/chicken-doc'
install -m 755 '/home/vjo/.cache/chicken-install/chicken-doc/chicken-doc-cmd' ${DESTDIR}'/usr/bin/chicken-doc'

Is there any way to have the chicken-doc binary placed in a location that's custom?

@ursetto
Copy link
Owner

ursetto commented Apr 17, 2021

Basically, you need to manipulate a combination of CHICKEN_INSTALL_PREFIX, CHICKEN_INSTALL_REPOSITORY, CHICKEN_REPOSITORY_PATH and PATH.

For example, see https://github.com/ursetto/cenv.

@ursetto ursetto self-assigned this Apr 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants