This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-12-16
Channels
- # adventofcode (76)
- # aleph (1)
- # aws (2)
- # beginners (101)
- # boot (1)
- # boot-dev (1)
- # calva (25)
- # cider (12)
- # cljs-dev (29)
- # clojure (214)
- # clojure-europe (1)
- # clojure-nl (5)
- # clojure-spec (1)
- # clojure-uk (6)
- # clojurescript (155)
- # data-science (1)
- # datomic (48)
- # figwheel-main (5)
- # immutant (1)
- # leiningen (11)
- # nrepl (2)
- # off-topic (24)
- # pathom (2)
- # pedestal (2)
- # portkey (8)
- # protorepl (5)
- # re-frame (2)
- # rum (4)
- # shadow-cljs (21)
Hi. Related to the lein check
, there is another related error. Running lein uberjar
compiles the files in non-deterministic order: locally (osx) it works, but with docker (linux x86-64) it fails as the compilation order is different and the satisfy?
fails as the protocols have been changed during the compilation process. Here’s a sample (a Luminus template project with few addons) on how to get the error:
• https://github.com/ikitommi/uberjar-problem
here’s a minimalistic example showing that the compilation order matters:
• https://github.com/ikitommi/fun
Sounds similar to a ticket that’s out there about nondeterministic protocol compilation
Oh never mind, that was with proxies not protocols https://dev.clojure.org/jira/browse/CLJ-1973
But compilation order definitely matters
This looks pretty similar to https://dev.clojure.org/jira/browse/CLJ-2303
CLJ-2303 looks related, linked the issue into there. Should this be fixed in Clojure compiler itself or in the build tools (e.g. leiningen)? Leiningen could reorder the compilation files with tools like tools.namespace?
ERROR in (a-test) (io.clj:288)
Uncaught exception, not in assertion.
expected: nil
actual: java.lang.IllegalArgumentException: Cannot open <nil> as a Reader.
at $fn__9544.invokeStatic (io.clj:288)