0
votes

So I'm using the new Bash on Ubuntu on Windows shell, and installed the clisp package to mess with Common Lisp. I get this error when I try 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

This is an entirely fresh install too. I looked in /usr/lib and found the libavcall.so.0 file, but I'm not sure what to do with it. How do I fix this issue?

1
"cannot enable executable stack" googling leads to crypt.gen.nz/selinux/faq.html#CP.19. Maybe that'll help. - cybevnm
Not an answer, but to start playing around with clisp on Windows, you could also install a windows build of clisp. Then, regardless of whether you go for the Ubuntu or Windows version, grab yourself an IDE. I started off with LispIDE, a great, little, free, native Windows app. Once I became more comfortable with Lisp, I switched to using emacs+slime as my IDE, and have never looked back. Because it is written "on" Lisp, emacs rapidly became my favorite editor for almost all my text editing requirements. - Gavin Lock
Thanks! While I've got no idea how to fix this, I'll be using this. - MisterHuac
It has GitHub issue page about it: github.com/Microsoft/BashOnWindows/issues/1128 - user6995009
Windows Developer Feedback page: wpdev.uservoice.com/forums/… - user6995009

1 Answers

3
votes

This issue no longer exists with libffcall 2.0 or newer. It was fixed through this commit.

If you are still using libffcall 1.x: The FAQ (cited by user @cybevnm) explains most of it:

  • libavcall.so is flagged as requiring executable stack (property GNU_STACK has the value RWE), although it does not need an executable stack. This occurs because it was compiled from assembly-language source code.
  • You can remove this flag through a command such as sudo execstack -c /usr/lib/libavcall.so.0.