1

我试图用 CHICKEN 编译一个方案文件,它说我需要安装 CHICKEN 的 iup 端口。所以我去了网站并尝试安装 iup 端口,但出现错误。然后我意识到我需要得到ffcall。我安装了它并尝试再次安装 iup 端口。并且失败了。我不知道我的系统上是否安装了 srfi-42。即使我知道它没有安装,我仍然不知道如何安装 srfi-42 来让 iup 端口工作。

这是我得到的错误:

    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 \"(...

我知道它很长,但是在上面输出堆的末尾会弹出错误。

4

1 回答 1

1

这里真正的错误是iup.c:17:16: fatal error: im.h: No such file or directory,这实际上是 C 编译器在抱怨。

此错误意味着您没有安装 iup 的开发包(系统头文件),或者 C 编译器找不到头文件,因为它位于非标准位置。如果是后者,你可以试试CSC_OPTIONS=-I/path/to/include chicken-install iup

不幸的是,众所周知,IUP 本身安装起来很痛苦,主要是因为很少有发行版有它的软件包。您在消息中没有说的是为什么您需要 iup。这是您尝试安装的某种程序,它使用 CHICKEN 加 IUP 吗?

于 2016-11-12T19:04:41.517 回答