Fork me on GitHub
#quil
<
2021-10-10
>
Juλian (he/him)07:10:58

trying to get Quil working on my Raspberry Pi 3+ (Clockwork DevTerm). I installed OpenJDK (11.0.12), Clojure (1.10.1) and Leiningen (2.9.0). When I create a Quil project and try to start it from REPL, it seems to be stuck somewhere when initializing the output window. Pressing Ctrl-C in the REPL, the output window is shown, but I can't close it afterwards. Any idea what the issue could be?

Juλian (he/him)07:10:50

here the output of my terminal, I pressed Ctrl-C after waiting for a while after entering (use 'piquil.core):

oenone@clockworkpi:~/Sources $ lein new quil piquil
Generating fresh 'lein new' quil project.
oenone@clockworkpi:~/Sources $ cd piquil/
oenone@clockworkpi:~/Sources/piquil $ lein repl
nREPL server started on port 42955 on host 127.0.0.1 - 
REPL-y 0.4.3, nREPL 0.6.0
Clojure 1.10.1
OpenJDK Server VM 11.0.12+7-post-Raspbian-2deb10u1
    Docs: (doc function-name-here)
          (find-doc "part-of-name-here")
  Source: (source function-name-here)
 Javadoc: (javadoc java-object-or-class-here)
    Exit: Control+D or (exit) or (quit)
 Results: Stored in vars *1, *2, *3, an exception in *e

user=> (use 'piquil.core)

Okt. 10, 2021 9:52:15 VORM. sun.awt.X11.XBaseWindow init
WARNING: Exception during peer initialization
java.lang.ThreadDeath
	at java.base/java.lang.Thread.stop(Thread.java:937)
	at nrepl.middleware.session$session_exec$fn__1033.invoke(session.clj:190)
	at nrepl.middleware.session$interrupt_session.invokeStatic(session.clj:210)
	at nrepl.middleware.session$interrupt_session.invoke(session.clj:207)
	at nrepl.middleware.session$session$fn__1055.invoke(session.clj:268)
	at nrepl.middleware$wrap_conj_descriptor$fn__610.invoke(middleware.clj:16)
	at nrepl.server$handle_STAR_.invokeStatic(server.clj:18)
	at nrepl.server$handle_STAR_.invoke(server.clj:15)
	at nrepl.server$handle$fn__1092.invoke(server.clj:27)
	at clojure.core$binding_conveyor_fn$fn__5754.invoke(core.clj:2030)
	at clojure.lang.AFn.call(AFn.java:18)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:829)

AWT blocker activation interrupted:
java.lang.InterruptedException
	at java.base/java.lang.Object.wait(Native Method)
	at java.base/java.lang.Object.wait(Object.java:328)
	at java.desktop/sun.awt.AWTAutoShutdown.activateBlockerThread(AWTAutoShutdown.java:348)
	at java.desktop/sun.awt.AWTAutoShutdown.notifyPeerMapUpdated(AWTAutoShutdown.java:219)
	at java.desktop/sun.awt.AWTAutoShutdown.registerPeer(AWTAutoShutdown.java:359)
	at java.desktop/sun.awt.SunToolkit.targetCreatedPeer(SunToolkit.java:312)
	at java.desktop/sun.awt.X11.XToolkit.createFrame(XToolkit.java:461)
	at java.desktop/java.awt.Frame.addNotify(Frame.java:480)
	at processing.awt.PSurfaceAWT.setFrameSize(PSurfaceAWT.java:817)
	at processing.awt.PSurfaceAWT.placeWindow(PSurfaceAWT.java:866)
	at processing.core.PApplet.runSketch(PApplet.java:10939)
	at quil.applet$applet_run.invokeStatic(applet.clj:82)
	at quil.applet$applet_run.invoke(applet.clj:79)
	at quil.applet$applet.invokeStatic(applet.clj:330)
	at quil.applet$applet.doInvoke(applet.clj:270)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3702)
	at clojure.lang.Compiler$DefExpr.eval(Compiler.java:457)
	at clojure.lang.Compiler.eval(Compiler.java:7182)
	at clojure.lang.Compiler.load(Compiler.java:7636)
	at clojure.lang.RT.loadResourceScript(RT.java:381)
	at clojure.lang.RT.loadResourceScript(RT.java:372)
	at clojure.lang.RT.load(RT.java:459)
	at clojure.lang.RT.load(RT.java:424)
	at clojure.core$load$fn__6839.invoke(core.clj:6126)
	at clojure.core$load.invokeStatic(core.clj:6125)
	at clojure.core$load.doInvoke(core.clj:6109)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at clojure.core$load_one.invokeStatic(core.clj:5908)
	at clojure.core$load_one.invoke(core.clj:5903)
	at clojure.core$load_lib$fn__6780.invoke(core.clj:5948)
	at clojure.core$load_lib.invokeStatic(core.clj:5947)
	at clojure.core$load_lib.doInvoke(core.clj:5928)
	at clojure.lang.RestFn.applyTo(RestFn.java:142)
	at clojure.core$apply.invokeStatic(core.clj:667)
	at clojure.core$load_libs.invokeStatic(core.clj:5985)
	at clojure.core$load_libs.doInvoke(core.clj:5969)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.core$apply.invokeStatic(core.clj:669)
	at clojure.core$use.invokeStatic(core.clj:6093)
	at clojure.core$use.doInvoke(core.clj:6093)
	at clojure.lang.RestFn.invoke(RestFn.java:408)
	at user$eval1522.invokeStatic(form-init8587936937827902695.clj:1)
	at user$eval1522.invoke(form-init8587936937827902695.clj:1)
	at clojure.lang.Compiler.eval(Compiler.java:7177)
	at clojure.lang.Compiler.eval(Compiler.java:7132)
	at clojure.core$eval.invokeStatic(core.clj:3214)
	at clojure.core$eval.invoke(core.clj:3210)
	at clojure.main$repl$read_eval_print__9086$fn__9089.invoke(main.clj:437)
	at clojure.main$repl$read_eval_print__9086.invoke(main.clj:437)
	at clojure.main$repl$fn__9095.invoke(main.clj:458)
	at clojure.main$repl.invokeStatic(main.clj:458)
	at clojure.main$repl.doInvoke(main.clj:368)
	at clojure.lang.RestFn.invoke(RestFn.java:1523)
	at nrepl.middleware.interruptible_eval$evaluate.invokeStatic(interruptible_eval.clj:79)
	at nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:55)
	at nrepl.middleware.interruptible_eval$interruptible_eval$fn__921$fn__925.invoke(interruptible_eval.clj:142)
	at clojure.lang.AFn.run(AFn.java:22)
	at nrepl.middleware.session$session_exec$main_loop__1022$fn__1026.invoke(session.clj:171)
	at nrepl.middleware.session$session_exec$main_loop__1022.invoke(session.clj:170)
	at clojure.lang.AFn.run(AFn.java:22)
	at java.base/java.lang.Thread.run(Thread.java:829)
user=> Okt. 10, 2021 9:52:15 VORM. sun.awt.X11.XDecoratedPeer requestXFocus
WARNING: Focus proxy is null for sun.awt.X11.XFramePeer@1630304(2200007)

cp4n20:10:30

I believe you need to use Java 8

gregoltsov09:10:42

alternatively, try using Quil’s 4.0.0-SNAPSHOT version, which has been fixed for working with Java 11

Juλian (he/him)09:10:42

Thanks, it works with 4.0.0-SNAPSHOT-1

Juλian (he/him)11:10:35

here a short video of the example Quil project

1
👏 2