2

I have a C# project that loads and calls a custom Clojure function via load-string. This works fine with Clojure 1.7 (installed via NuGet). However, when if I upgrade to the latest pre-release (1.9.0-alpha13), the following exception is thrown upon the invocation of load-string:

"System.ArgumentException: No matching clause: :clojure.spec/pcat at clojure/spec."

There are no issues running the same exact code in a 1.9 REPL.

Using the latest stable (1.8), I instead get the following:

"System.TypeInitializationException: The type initializer for 'clojure.clr.api.Clojure' threw an exception. ---> System.TypeInitializationException: The type initializer for 'clojure.lang.RT' threw an exception. ---> System.IO.FileNotFoundException: Could not locate clojure.core.server.cljc.dll or clojure/core/server.cljc on load path."

My best guess with the issue with 1.8 is that there seems to be an issue with ILMerge that's preventing all the DLLs from being merged.

Any thoughts on how to fix these issues? I realize that 1.9 is still in alpha, so I'm not too concerned about that, but it's a bit annoying to be unable to use 1.8.

Anonymous
  • 739
  • 7
  • 15
  • From the 1.8 error message it seems to be trying to use CLR Clojure rather than the JVM Clojure. – Chris Murphy Jul 10 '17 at 21:51
  • Ah, sorry I was unclear--I am definitely trying to use CLR Clojure rather than the JVM Clojure! =) – Anonymous Jul 10 '17 at 22:38
  • 1
    See [CLJCLR-79](https://dev.clojure.org/jira/browse/CLJCLR-79), note the fix was made a couple of months after the 1.8.0 release. – ez121sl Jul 14 '17 at 02:58

0 Answers0