Проблемы с использованием Clisp для компиляции файлов

Поэтому я использую новый Bash на Ubuntu в оболочке Windows и установил пакет 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 ответ

Эта проблема больше не существует с libffcall 2.0 или новее. Это было исправлено через этот коммит.

Если вы все еще используете libffcall 1.x: FAQ (цитируется пользователем @cybevnm) объясняет большую часть этого:

  • libavcall.so помечен как требующий исполняемый стек (свойство GNU_STACK имеет значение RWE), хотя для этого не требуется исполняемый стек. Это происходит потому, что он был скомпилирован из исходного кода на ассемблере.
  • Вы можете удалить этот флаг с помощью такой команды, как sudo execstack -c /usr/lib/libavcall.so.0,
Другие вопросы по тегам