使用Clisp编译文件的问题

时间:2016-11-17 04:25:08

标签: common-lisp clisp

所以我在Windows shell上使用Ubuntu上的新Bash,并安装了clisp软件包以搞乱Common Lisp。我在尝试clisp test.clisp时遇到此错误:

/usr/lib/clisp-2.49/base/lisp.run: error while loading shared libraries: libavcall.so.0: cannot enable executable stack as shared object requires: Invalid argument

这也是一个全新的安装。我查看了/usr/lib并找到了libavcall.so.0文件,但我不确定如何处理它。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

libffcall 2.0或更新版本不再存在此问题。它是通过this commit修正的。

如果您仍在使用libffcall 1.x:FAQ(由@cybevnm用户引用)解释了大部分内容:

  • libavcall.so被标记为需要可执行堆栈(属性GNU_STACK具有值RWE),尽管它不需要可执行堆栈。这是因为它是从汇编语言源代码编译的。
  • 您可以通过sudo execstack -c /usr/lib/libavcall.so.0
  • 等命令删除此标记