> I’ll note that if you’re using the com.taoensso libraries, it pays to 
make sure you keep them 
> all in sync because they change a lot

Hmmmm. 

First of all, this worked, so you are right. Second of all, I am not sure I 
understand why this worked. 

I have run into this problem with Ruby and Bundler, when I have open-ended 
version ranges, such as: 

1.9 ~>

Meaning, any version over 1.9. That can lead to problems. 

But in my project.clj I have everything locked down to specific versions, 
so I don't see how version conflicts can arise. If it's the same versions 
now as a few months ago, I'm not clear how I got a version conflict. 

But it worked, so thank you. 






On Tuesday, February 7, 2017 at 5:58:02 PM UTC-5, Sean Corfield wrote:
>
> Kevin’s provided some solid advice on the AOT stuff.
>
>  
>
> I’ll note that if you’re using the com.taoensso libraries, it pays to make 
> sure you keep them all in sync because they change a lot (that’s both good 
> and bad), and it’s definitely worth using :exclusions fairly liberally to 
> avoid transient dependencies, so you have much more control over the actual 
> versions you pull in. We tend to exclude nearly all of the com.taoensso 
> libraries and then explicitly specify known compatible versions. At the 
> very least, you’re likely to need a more up to date timbre version.
>
>  
>
> Sean Corfield -- (970) FOR-SEAN -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
>
> "If you're not annoying somebody, you're not really alive."
> -- Margaret Atwood
>
>  
>
> On 2/7/17, 2:32 PM, "Laws" <clo...@googlegroups.com <javascript:> on 
> behalf of smashco...@gmail.com <javascript:>> wrote:
>
>  
>
> Sorry about that. Here is the whole of my project.clj. It is a fairly 
> small app. 
>
>  
>
> (defproject csv-to-dynamodb "1.0"
>
>   :description "Takes a Super company import file, of CSV format, and 
> stores the data in DynamoDB, using the company_name as the sharding key"
>
>   :url "https://bitbucket.org/super/poi";
>
>   :license {:name "Copyright Super 2016"
>
>             :url "http://www.super.com/"}
>
>   :dependencies [
>
>                  [org.clojure/clojure "1.7.0"]
>
>                  [org.clojure/test.check "0.9.0"]
>
>                  [org.clojure/data.json "0.2.6"]
>
>                  [defun "0.3.0-RC1"]
>
>                  [http-kit "2.2.0"]
>
>                  [com.taoensso/timbre "4.3.1"]
>
>                  [dire "0.5.4"]
>
>                  [slingshot "0.12.2"]
>
>                  [me.raynes/fs "1.4.4"]
>
>                  [clj-stacktrace "0.2.7"]                 
>
>                  [overtone/at-at "1.2.0"]
>
>                  [com.taoensso/faraday "1.9.0"]
>
>                  ]
>
>   :disable-implicit-clean true
>
>   :warn-on-reflection true
>
>   :source-paths      ["src/clojure"]
>
>   :java-source-paths ["src/java"]
>
>   :main csv-to-dynamodb.core
>
>   :aot :all
>
>   :jvm-opts ["-Xms50m" "-Xmx50m" "-XX:-UseCompressedOops"])
>
>  
>
>  
>
>  
>
> And this:
>
>  
>
> lein deps :tree
>
>  
>
> shows me: 
>
>  
>
> [com.taoensso/faraday "1.9.0"] -> [com.taoensso/nippy "2.12.0"] -> 
> [com.taoensso/encore "2.67.1"]
>
>  
>
>  
>
> The full output: 
>
>  
>
> lein deps :tree
>
>  
>
> Possibly confusing dependencies found:
>
>  
>
> [lein-checkall "0.1.1"] -> [jonase/eastwood "0.0.2"] -> 
> [org.clojure/tools.namespace "0.1.2"]
>
>  overrides
>
> [lein-checkall "0.1.1"] -> [lein-kibit "0.0.8"] -> [jonase/kibit "0.0.8"] 
> -> [org.clojure/tools.namespace "0.2.1"]
>
>  and
>
> [lein-checkall "0.1.1"] -> [lein-bikeshed "0.1.3"] -> 
> [org.clojure/tools.namespace "0.2.3"]
>
>  
>
> Consider using these exclusions:
>
> [lein-checkall "0.1.1" :exclusions [org.clojure/tools.namespace]]
>
> [lein-checkall "0.1.1" :exclusions [org.clojure/tools.namespace]]
>
>  
>
> Possibly confusing dependencies found:
>
> [org.clojure/clojure "1.7.0"]
>
>  overrides
>
> [defun "0.3.0-RC1"] -> [org.clojure/clojure "1.8.0"]
>
>  
>
> Consider using these exclusions:
>
> [defun "0.3.0-RC1" :exclusions [org.clojure/clojure]]
>
>  
>
> [com.taoensso/timbre "4.3.1"] -> [com.taoensso/encore "2.36.2"]
>
>  overrides
>
> [com.taoensso/faraday "1.9.0"] -> [com.taoensso/nippy "2.12.0"] -> 
> [com.taoensso/encore "2.67.1"]
>
>  and
>
> [com.taoensso/faraday "1.9.0"] -> [com.taoensso/encore "2.67.2"]
>
>  
>
> Consider using these exclusions:
>
> [com.taoensso/faraday "1.9.0" :exclusions [com.taoensso/encore]]
>
> [com.taoensso/faraday "1.9.0" :exclusions [com.taoensso/encore]]
>
>  
>
> [com.taoensso/timbre "4.3.1"] -> [com.taoensso/encore "2.36.2"] -> 
> [com.taoensso/truss "1.1.1"]
>
>  overrides
>
> [com.taoensso/faraday "1.9.0"] -> [com.taoensso/nippy "2.12.0"] -> 
> [com.taoensso/encore "2.67.1"] -> [com.taoensso/truss "1.3.3"]
>
>  and
>
> [com.taoensso/faraday "1.9.0"] -> [com.taoensso/encore "2.67.2"] -> 
> [com.taoensso/truss "1.3.3"]
>
>  
>
> Consider using these exclusions:
>
> [com.taoensso/faraday "1.9.0" :exclusions [com.taoensso/truss]]
>
> [com.taoensso/faraday "1.9.0" :exclusions [com.taoensso/truss]]
>
>  
>
> [me.raynes/fs "1.4.4"] -> [org.apache.commons/commons-compress "1.4"] -> 
> [org.tukaani/xz "1.0"]
>
>  overrides
>
> [com.taoensso/faraday "1.9.0"] -> [com.taoensso/nippy "2.12.0"] -> 
> [org.tukaani/xz "1.5"]
>
>  
>
> Consider using these exclusions:
>
> [com.taoensso/faraday "1.9.0" :exclusions [org.tukaani/xz]]
>
>  
>
>  [clj-stacktrace "0.2.7"]
>
>  [clojure-complete "0.2.4" :exclusions [[org.clojure/clojure]]]
>
>  [com.taoensso/faraday "1.9.0"]
>
>    [com.amazonaws/aws-java-sdk-dynamodb "1.10.49" :exclusions 
> [[joda-time]]]
>
>      [com.amazonaws/aws-java-sdk-core "1.10.49"]
>
>        [com.fasterxml.jackson.core/jackson-databind "2.5.3"]
>
>          [com.fasterxml.jackson.core/jackson-annotations "2.5.0"]
>
>          [com.fasterxml.jackson.core/jackson-core "2.5.3"]
>
>        [commons-logging "1.1.3"]
>
>        [org.apache.httpcomponents/httpclient "4.3.6"]
>
>          [commons-codec "1.6"]
>
>          [org.apache.httpcomponents/httpcore "4.3.3"]
>
>      [com.amazonaws/aws-java-sdk-s3 "1.10.49"]
>
>        [com.amazonaws/aws-java-sdk-kms "1.10.49"]
>
>    [com.taoensso/nippy "2.12.0"]
>
>      [net.jpountz.lz4/lz4 "1.3"]
>
>      [org.iq80.snappy/snappy "0.4"]
>
>    [joda-time "2.9.4"]
>
>  [com.taoensso/timbre "4.3.1"]
>
>    [com.taoensso/encore "2.36.2"]
>
>      [com.taoensso/truss "1.1.1"]
>
>      [org.clojure/tools.reader "0.10.0"]
>
>    [io.aviso/pretty "0.1.23"]
>
>  [defun "0.3.0-RC1"]
>
>    [org.clojure/core.match "0.3.0-alpha4"]
>
>      [org.clojure/tools.analyzer.jvm "0.6.5"]
>
>        [org.clojure/core.memoize "0.5.6"]
>
>          [org.clojure/core.cache "0.6.3"]
>
>            [org.clojure/data.priority-map "0.0.2"]
>
>        [org.clojure/tools.analyzer "0.6.4"]
>
>        [org.ow2.asm/asm-all "4.2"]
>
>    [org.clojure/tools.macro "0.1.2"]
>
>  [dire "0.5.4"]
>
>    [org.clojure/core.incubator "0.1.3"]
>
>    [robert/hooke "1.3.0"]
>
>  [expectations "2.0.9"]
>
>    [junit "4.8.1"]
>
>  [http-kit "2.2.0"]
>
>  [me.raynes/fs "1.4.4"]
>
>    [org.apache.commons/commons-compress "1.4"]
>
>      [org.tukaani/xz "1.0"]
>
>  [org.clojure/clojure "1.7.0"]
>
>  [org.clojure/data.json "0.2.6"]
>
>  [org.clojure/test.check "0.9.0"]
>
>  [org.clojure/tools.nrepl "0.2.12" :exclusions [[org.clojure/clojure]]]
>
>  [overtone/at-at "1.2.0"]
>
>  [slamhound "1.3.1"]
>
>  [slingshot "0.12.2"]
>
>  
>
>  
>
>  
>
>  
>
>  
>
>  
>
>
> On Tuesday, February 7, 2017 at 4:47:10 PM UTC-5, Sean Corfield wrote:
>
> You’ll need to provide a bit more detail than that – what are your 
> project’s dependencies, for example?
>
>  
>
> (if you’re depending on any snapshots or generic “RELEASE” / “LATEST” 
> versions, those could give you different versions)
>
>  
>
> Sean
>
>  
>
> On 2/7/17, 1:31 PM, "Laws" <clo...@googlegroups.com on behalf of 
> smashco...@gmail.com> wrote:
>
>  
>
> Two months ago I could run "lein uberjar" and my project compiled. Then I 
> had to focus on other things for 2 months. Then today I come back to it, 
> change one line of code, and run "lein uberjar". I get:
>
>  
>
> java.lang.IllegalAccessError: cond* does not exist, 
> compiling:(nippy.clj:1:1)
>
> Exception in thread "main" java.lang.IllegalAccessError: cond* does not 
> exist, compiling:(nippy.clj:1:1)
>
>             at clojure.lang.Compiler$InvokeExpr.eval(Compiler.java:3628)
>
>             at clojure.lang.Compiler.compile1(Compiler.java:7323)
>
>             at clojure.lang.Compiler.compile1(Compiler.java:7313)
>
>             at clojure.lang.Compiler.compile(Compiler.java:7390)
>
>             at clojure.lang.RT.compile(RT.java:399)
>
>             at clojure.lang.RT.load(RT.java:444)
>
>  
>
> Uh, what? Did something with Nippy change? Clojars? 
>
>  
>
>  
>
> -- 
>
> -- 
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com <javascript:>
> Note that posts from new members are moderated - please be patient with 
> your first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com <javascript:>
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to clojure+u...@googlegroups.com <javascript:>.
> For more options, visit https://groups.google.com/d/optout.
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to