-
-
Notifications
You must be signed in to change notification settings - Fork 5
Dependency Problems
This library depends on a relatively recent version of ASM
to support the newest JVM bytecode features and get the latest bugfixes and performance improvements. Unfortunately, many popular libraries still depend on much older ASM
releases. For example, core.async
(as of 1.3.610
) depends on a version of tools.analyzer.jvm
, which depends on ASM 5.2
, which is from 2016.
If you depend (either directly or indirectly) on a library like this, this can lead to errors when attempting to load insn
due to being unable to resolve newer class symbols or fields. These look like: Syntax error compiling at (insn/util.clj:...)
, or similar.
You can work around this error by adding an exclusion to the conflicting dependency. Leiningen, for example:
(defproject #_...
:dependencies [[dep.uses.asm "0.42" :exclusions [org.ow2.asm/asm]]])
Alternatively, if you do not need recent features or other fixes, you can try version 0.2.1
of this library. This version uses Clojure's bundled ASM
, by default.
In a future version of insn
this may be alleviated by using a tool such as mranderson
.