Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem with coffi? #2

Open
Saurav-S-Purushothaman opened this issue Dec 26, 2024 · 2 comments
Open

Problem with coffi? #2

Saurav-S-Purushothaman opened this issue Dec 26, 2024 · 2 comments

Comments

@Saurav-S-Purushothaman
Copy link

I tried to run this project. Getting syntax due to some problem with the coffi library.

~/raylib-clj $ lein repl                                                                                                                                        ✭main
#error {
 :cause java.lang.foreign.Addressable
 :via
 [{:type clojure.lang.Compiler$CompilerException
   :message Syntax error macroexpanding at (coffi/mem.clj:1:1).
   :data #:clojure.error{:phase :execution, :line 1, :column 1, :source coffi/mem.clj}
   :at [clojure.lang.Compiler load Compiler.java 7665]}
  {:type java.lang.ClassNotFoundException
   :message java.lang.foreign.Addressable
   :at [java.net.URLClassLoader findClass URLClassLoader.java 445]}]
 :trace
 [[java.net.URLClassLoader findClass URLClassLoader.java 445]
  [clojure.lang.DynamicClassLoader findClass DynamicClassLoader.java 69]
  [java.lang.ClassLoader loadClass ClassLoader.java 595]
  [clojure.lang.DynamicClassLoader loadClass DynamicClassLoader.java 77]
  [java.lang.ClassLoader loadClass ClassLoader.java 528]
  [java.lang.Class forName0 Class.java -2]
  [java.lang.Class forName Class.java 578]
  [java.lang.Class forName Class.java 557]
  [clojure.lang.RT classForName RT.java 2209]
  [clojure.lang.RT classForNameNonLoading RT.java 2222]
  [coffi.mem$eval157$loading__6789__auto____158 invoke mem.clj 1]
  [coffi.mem$eval157 invokeStatic mem.clj 1]
  [coffi.mem$eval157 invoke mem.clj 1]
  [clojure.lang.Compiler eval Compiler.java 7194]
  [clojure.lang.Compiler eval Compiler.java 7183]
  [clojure.lang.Compiler load Compiler.java 7653]
  [clojure.lang.RT loadResourceScript RT.java 381]
  [clojure.lang.RT loadResourceScript RT.java 372]
  [clojure.lang.RT load RT.java 459]
  [clojure.lang.RT load RT.java 424]
  [clojure.core$load$fn__6908 invoke core.clj 6161]
  [clojure.core$load invokeStatic core.clj 6160]
  [clojure.core$load doInvoke core.clj 6144]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invokeStatic core.clj 5933]
  [clojure.core$load_one invoke core.clj 5928]
  [clojure.core$load_lib$fn__6850 invoke core.clj 5975]
  [clojure.core$load_lib invokeStatic core.clj 5974]
  [clojure.core$load_lib doInvoke core.clj 5953]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invokeStatic core.clj 669]
  [clojure.core$load_libs invokeStatic core.clj 6016]
  [clojure.core$load_libs doInvoke core.clj 6000]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invokeStatic core.clj 669]
  [clojure.core$require invokeStatic core.clj 6038]
  [raylib_clj.core$eval149$loading__6789__auto____150 invoke core.clj 1]
  [raylib_clj.core$eval149 invokeStatic core.clj 1]
  [raylib_clj.core$eval149 invoke core.clj 1]
  [clojure.lang.Compiler eval Compiler.java 7194]
  [clojure.lang.Compiler eval Compiler.java 7183]
  [clojure.lang.Compiler load Compiler.java 7653]
  [clojure.lang.RT loadResourceScript RT.java 381]
  [clojure.lang.RT loadResourceScript RT.java 372]
  [clojure.lang.RT load RT.java 459]
  [clojure.lang.RT load RT.java 424]
  [clojure.core$load$fn__6908 invoke core.clj 6161]
  [clojure.core$load invokeStatic core.clj 6160]
  [clojure.core$load doInvoke core.clj 6144]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invokeStatic core.clj 5933]
  [clojure.core$load_one invoke core.clj 5928]
  [clojure.core$load_lib$fn__6850 invoke core.clj 5975]
  [clojure.core$load_lib invokeStatic core.clj 5974]
  [clojure.core$load_lib doInvoke core.clj 5953]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invokeStatic core.clj 669]
  [clojure.core$load_libs invokeStatic core.clj 6016]
  [clojure.core$load_libs doInvoke core.clj 6000]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invokeStatic core.clj 669]
  [clojure.core$require invokeStatic core.clj 6038]
  [user$eval5 invokeStatic form-init6233254578320028815.clj 1]
  [user$eval5 invoke form-init6233254578320028815.clj 1]
  [clojure.lang.Compiler eval Compiler.java 7194]
  [clojure.lang.Compiler eval Compiler.java 7183]
  [clojure.lang.Compiler eval Compiler.java 7183]
  [clojure.lang.Compiler load Compiler.java 7653]
  [clojure.lang.Compiler loadFile Compiler.java 7591]
  [clojure.main$load_script invokeStatic main.clj 475]
  [clojure.main$init_opt invokeStatic main.clj 477]
  [clojure.main$init_opt invoke main.clj 477]
  [clojure.main$initialize invokeStatic main.clj 508]
  [clojure.main$null_opt invokeStatic main.clj 542]
  [clojure.main$null_opt invoke main.clj 539]
  [clojure.main$main invokeStatic main.clj 664]
  [clojure.main$main doInvoke main.clj 616]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.lang.Var applyTo Var.java 705]
  [clojure.main main main.java 40]]}
@rutenkolk
Copy link
Owner

Yes! This is a fault on my part!

java.lang.foreign.Addressable was a Class that existed in the java 16 version of the foreign function API, when it was still in it's incubator stage and is now removed. I actually authored a PR to the coffi library to make it compatible with the new stable API. I haven't updated raylib-clj yet though.

I am currently working on another PR for the coffi library and once I'm done with that, I will fix raylib-clj up, as this should actually make the bindings here perform much better.

@Saurav-S-Purushothaman
Copy link
Author

Make sense. Looking forward to it.
Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants