问题
I tried to compile a scheme file with CHICKEN and it says there that I need to install the iup port of CHICKEN. So I went to the website and tried to install the iup port but I got an error. Then I realized I need to get ffcall. I got that installed and tried to install the iup port again. And failed. I don't know if I got srfi-42 installed on my system. Even if I know it's not installed I still don't know how to install srfi-42 to get the iup port to work.
This is the error that I get:
ander@Ander:~/blah/chicken-4.11.0/chicken-4.11.0$ sudo chicken-install iup
retrieving ...
connecting to host "chicken.kitten-technologies.co.uk", port 80 ...
requesting "/henrietta.cgi?name=iup&mode=default" ...
reading response ...
HTTP/1.1 200 OK
Date: Sat, 12 Nov 2016 06:16:26 GMT
Server: Apache/2.2.31 (Unix) DAV/2 PHP/5.5.36 mod_fastcgi/2.4.6
Connection: close
Transfer-Encoding: chunked
Content-Type: text/plain
reading chunks ....
reading files ...
./iup-controls.scm
./iup-base.scm
./iup-config.scm
./iup-glcanvas.scm
./iup-dialogs.scm
./iup-dynamic.scm
./iup-glcontrols.scm
./iup-mglplot.scm
./iup-ole.scm
./iup-plot.scm
./iup-pplot.scm
./iup-scintilla.scm
./iup-types.scm
./iup-web.scm
./iup.meta
./iup.release-info
./iup.scm
./iup.setup
iup located at /tmp/temp5d54.6346/iup
checking platform for `iup' ...
checking dependencies for `iup' ...
install order:
("iup")
installing iup:1.8.0 ...
changing current directory to /tmp/temp5d54.6346/iup
'/usr/local/bin/csi' -bnq -setup-mode -e "(require-library setup-api)" -e "(import setup-api)" -e "(setup-error-handling)" -e "(extension-name-and-version '(\"iup\" \"1.8.0\"))" 'iup.setup'
'/usr/local/bin/csc' -feature compiling-extension -setup-mode -s -O2 -d1 iup.scm -j iup -j iup-base -j iup-controls -j iup-dialogs -j iup-glcanvas -j iup-glcontrols -j iup-plot -j iup-mglplot -j iup-pplot -j iup-scintilla -j iup-web -j iup-config -lcallback -liup -liupim -liupimglib -liupcontrols -liupmatrixex -liupgl -liupglcontrols -liup_plot -liup_mglplot -liup_pplot -liup_scintilla -liupweb
iup.c:17:16: fatal error: im.h: No such file or directory
compilation terminated.
Error: shell command terminated with non-zero exit status 256: 'gcc' 'iup.c' -o 'iup.o' -c -fno-strict-aliasing -fwrapv -DHAVE_CHICKEN_CONFIG_H -DC_ENABLE_PTABLES -Os -fomit-frame-pointer -fPIC -DPIC -DC_SHARED -I/usr/local/include/chicken
Error: shell command failed with nonzero exit status 256:
'/usr/local/bin/csc' -feature compiling-extension -setup-mode -s -O2 -d1 iup.scm -j iup -j iup-base -j iup-controls -j iup-dialogs -j iup-glcanvas -j iup-glcontrols -j iup-plot -j iup-mglplot -j iup-pplot -j iup-scintilla -j iup-web -j iup-config -lcallback -liup -liupim -liupimglib -liupcontrols -liupmatrixex -liupgl -liupglcontrols -liup_plot -liup_mglplot -liup_pplot -liup_scintilla -liupweb
Error: shell command terminated with nonzero exit code
17920
"'/usr/local/bin/csi' -bnq -setup-mode -e \"(require-library setup-api)\" -e \"(...
I know it's pretty long but the error pops up just about at the end of the heap of output above.
回答1:
The real error here is iup.c:17:16: fatal error: im.h: No such file or directory
, which is actually the C compiler complaining.
This error means either you don't have the development package for iup installed (system headers), or the C compiler cannot find the header files because it's in a nonstandard location. If it's the latter, you can try CSC_OPTIONS=-I/path/to/include chicken-install iup
Unfortunately, IUP itself is known to be a real pain to install, mostly because very few distros have packages for it. What you didn't say in your message is why exactly you need iup. Is this some kind of program you're trying to install, which uses CHICKEN plus IUP?
来源:https://stackoverflow.com/questions/40560168/chicken-could-not-install-iup-eggs-via-the-terminal