mikera / core.matrix

core.matrix : Multi-dimensional array programming API for Clojure
Other
702 stars 113 forks source link

AOT compilation fails in 0.9.0 #64

Open mschuene opened 11 years ago

mschuene commented 11 years ago

I noticed that aot compilation fails with core.matrix 0.9.0

I created a fresh leiningen project, added core.matrix 0.9.0 as dependency and added the existing core namespace to the project.clj :aot key. When I then require core.matrix in the core namespace and do a lein compile, I get the following Exception:

Exception in thread "main" java.lang.IllegalArgumentException: No implementation of method: :implementation-key of protocol:

'clojure.core.matrix.protocols/PImplementation found for class: clojure.core.matrix.impl.ndarray.NDArray, compiling:(ndarray.clj:351:1)

When I revert back to core.matrix 0.8.0, it compiles just fine.

mikera commented 11 years ago

What about the current version 0.10.0? Same problem?

mschuene commented 11 years ago

Oh, my mistake. I looked at the project.clj file to see the current version number, which is still 0.9.0. Can you update that? The error goes away in 0.10.0, so I can close this

si14 commented 11 years ago

I'll reopen it as a reminder that I need to check AOT working with upcoming rewritten version of "ndarray-magic".

mikera commented 11 years ago

Is this fixed now? Latest version of core.matrix uses AOT compilation in the Maven build as well.

mikera commented 11 years ago

I pushed some changes that I think make AOT compilation work properly with NDArray.

One problem is it makes the .jar quite big, so I think this is only a temporary solution