abcl icon indicating copy to clipboard operation
abcl copied to clipboard

running cl-autowrap::cl-include of an ffmpeg file breaks compile

Open alanruttenberg opened this issue 3 years ago • 2 comments

I probably can narrow this, but wanted to put it in because I can't do that now. To reproduce

  • clone [email protected]:FFmpeg/FFmpeg.git
  • Install c2ffi - the instructions in this comment work on MacOS
  • (ql:quickload "cl-autowrap")
  • (autowrap::c-include <path to FFmpeg/libavutil/color_utils.c>) - use the absolute pathname
  • (defun foo ())
  • (compile 'foo)

ABCL errors out with the below (or similar) and quits. Can't imagine how that's possible...

	at org.armedbear.lisp.LispThread.popStackFrame(LispThread.java:827)
	at org.armedbear.lisp.LispThread.execute(LispThread.java:900)
	at org.armedbear.lisp.Lisp$1.execute(Lisp.java:286)
	at org.armedbear.lisp.Symbol.execute(Symbol.java:803)
	at org.armedbear.lisp.LispThread.execute(LispThread.java:897)
	at org.armedbear.lisp.top_level_47.execute(top-level.lisp:407)
	at org.armedbear.lisp.CompiledClosure.execute(CompiledClosure.java:89)
	at org.armedbear.lisp.Symbol.execute(Symbol.java:793)
	at org.armedbear.lisp.LispThread.execute(LispThread.java:881)
	at org.armedbear.lisp.top_level_48.execute(top-level.lisp:415)
	at org.armedbear.lisp.LispThread.execute(LispThread.java:881)
	at org.armedbear.lisp.Interpreter.run(Interpreter.java:361)
	at org.armedbear.lisp.Main$1.run(Main.java:48)
	at java.base/java.lang.Thread.run(Thread.java:833)
java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 524284
	at org.armedbear.lisp.LispThread.popStackFrame(LispThread.java:827)
	at org.armedbear.lisp.LispThread.execute(LispThread.java:884)
	at org.armedbear.lisp.Interpreter.run(Interpreter.java:361)
	at org.armedbear.lisp.Main$1.run(Main.java:48)
	at java.base/java.lang.Thread.run(Thread.java:833)

This is running with java 11, invoking ABCL with java --add-opens java.base/java.util=ALL-UNNAMED -jar abcl-aio.jar

My .abclrc loads the usual asdf, abcl-contrib, jss

alanruttenberg avatar Jan 15 '22 01:01 alanruttenberg

Install c2ffi - the instructions in this comment work on MacOS

Missed one thing: need to checkout branch llvm-11.0.0 of c2ffi

alanruttenberg avatar Jan 15 '22 01:01 alanruttenberg

I tested on x86_64-linux :

running these commands:

java --add-opens=java.base/java.util.jar=ALL-UNNAMED -cp "abcl.jar:abcl-contrib.jar:jna-5.9.0.jar" org.armedbear.lisp.Main
(require 'asdf)
(require 'cl-autowrap)
(autowrap::c-include "/.../ffmpeg/libavutil/color_utils.c")
(defun foo ())
(compile 'foo)

No error there

Uthar avatar Apr 23 '22 07:04 Uthar