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

how to build #1

Closed
jkalbhenn opened this issue Jun 3, 2018 · 3 comments
Closed

how to build #1

jkalbhenn opened this issue Jun 3, 2018 · 3 comments

Comments

@jkalbhenn
Copy link

jkalbhenn commented Jun 3, 2018

the Building section of the manual begins with "make eggs"

$ make eggs
make: *** No rule to make target 'eggs'.  Stop.`

if i try ./configure first

./configure
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for csc... yes
./configure: 2609: test: yes: unexpected operator
checking for getch in -lncurses... yes
checking for get_wch in -lncursesw... yes
checking for cbreak in -ltinfo... yes
./configure: 2754: test: yes: unexpected operator
./configure: 2757: test: yes: unexpected operator
configure: error: ncurses not found

ncurses is installed. it has files in /usr/include, /usr/lib, etc and is working with ncmpc for example.

@drewt
Copy link
Owner

drewt commented Jun 3, 2018

Yes, ./configure should be run before make eggs. It is a mistake in the documentation.

As for the configure error, it believe it is complaining about some bash syntax that I accidentally used in the script. Can you try pulling my latest commit and running ./configure again? Hopefully I have fixed it.

Also, a warning: you may run into a segfault on the master branch. I have worked around the issue on the "tui" branch, but I haven't been able to merge this back into master yet.

Edit: disregard the above, I went ahead and backported the workaround on master.

@jkalbhenn
Copy link
Author

./configure now completes with a success exit code, only some error messages are printed

checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for csc... yes
./configure: 2621: test: yes: unexpected operator
checking for getch in -lncurses... yes
checking for get_wch in -lncursesw... yes
checking for cbreak in -ltinfo... yes
./configure: 2781: ./configure: NCURSES_LIBS+= -ltinfo: not found
configure: creating ./config.status
config.status: creating Makefile

my /bin/sh is indeed dash.

make eggs initially fails with a permission error

installing record-variants:0.5.1 ...
changing current directory to /tmp/temp1d8b.3937/record-variants
  '/usr/bin/csi' -bnq -setup-mode -e "(require-library setup-api)" -e "(import setup-api)" -e "(setup-error-handling)" -e "(extension-name-and-version '(\"record-variants\" \"0.5.1\"))" 'record-variants.setup'
  '/usr/bin/csc' -feature compiling-extension -setup-mode    -s -O2 -d0 record-variants.scm -j record-variants
  '/usr/bin/csc' -feature compiling-extension -setup-mode    -s -O2 -d0 record-variants.import.scm
  cp -r 'record-variants.so' '/usr/lib/chicken/8/record-variants.so'
cp: cannot create regular file '/usr/lib/chicken/8/record-variants.so': Permission denied

Error: shell command failed with nonzero exit status 256:

  cp -r 'record-variants.so' '/usr/lib/chicken/8/record-variants.so'


Error: shell command terminated with nonzero exit code
17920
"'/usr/bin/csi' -bnq -setup-mode -e \"(require-library setup-api)\" -e \"(import...
make: *** [Makefile:168: eggs] Error 1

it completes successfully with root rights. would of course be better if root rights were only needed for install.

make then works, the program starts and i can browse the library and add to the queue. will try it out.
thanks

@drewt
Copy link
Owner

drewt commented Jun 3, 2018

Weird, I also have dash as /bin/sh but it's accepting bash syntax in the configure script for some reason :/

I believe it's possible to run make eggs without root privileges if you set the CHICKEN_REPOSITORY environment variable to somewhere that your user has write permissions (see the man page for chicken-install). I have not tried it myself.

@drewt drewt closed this as completed Jun 3, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants