taoensso / carmine

Redis client + message queue for Clojure
https://www.taoensso.com/carmine
Eclipse Public License 1.0
1.16k stars 131 forks source link

No matching method: sha1Hex when I try to include carmine #136

Closed brunchybit closed 9 years ago

brunchybit commented 9 years ago

Looks like there's an issue with this function:

(defn- str-sha [x] (org.apache.commons.codec.digest.DigestUtils/sha1Hex (str x)))

Is there something that changed in the Apache commons lib?

nha commented 9 years ago

I have the same error I think. How did you resolve it ?

Caused by: java.lang.IllegalArgumentException: No matching method: sha1Hex
        at clojure.lang.Compiler$StaticMethodExpr.<init>(Compiler.java:1590)
        at clojure.lang.Compiler$HostExpr$Parser.parse(Compiler.java:959)
        at clojure.lang.Compiler.analyzeSeq(Compiler.java:6644)

I have the following in my project.clj


                 [com.taoensso/encore     "1.37.0"]
                 [com.taoensso/timbre     "3.4.0"]
                 [com.taoensso/carmine    "2.11.1"]

I added encore after getting an error message (conflict between timbre and carmine I guess).

ptaoussanis commented 9 years ago

Hi Nicolas, please run lein deps :tree to list any dependency conflicts. If there are none for Apache commons, you likely just need to run lein clean.

nha commented 9 years ago

Thank you ! I have an error indeed :

Possibly confusing dependencies found:
[com.cemerick/friend "0.2.1"] -> [commons-codec "1.6"]
 overrides
[com.taoensso/carmine "2.11.1"] -> [commons-codec "1.10"]

Consider using these exclusions:
[com.taoensso/carmine "2.11.1" :exclusions [commons-codec]]

I modified my dependencies without success :

                 [com.taoensso/encore     "1.37.0"]
                 [com.taoensso/carmine    "2.11.1" :exclusions [commons-codec]]
                 [com.taoensso/timbre       "4.0.1"]

(I ran lein clean also, but I still have the same error).

ptaoussanis commented 9 years ago

You'll need to place [commons-codec "1.10"] (or Carmine) above your friend dependency.

nha commented 9 years ago

It seems related to https://github.com/ptaoussanis/carmine/issues/123 ( and it's true that you answer amazingly quickly :) )

I did just that and I am testing it in my dependencies, thank you ! Any idea of what it could mean for Friend ? I am not familiar with the commons-codec

Thanks again

ptaoussanis commented 9 years ago

Any idea of what it could mean for Friend ? I am not familiar with the commons-codec

I'm not familiar with Friend, but I'm guessing it's fine. Other folks are apparently using Friend with the newer commons-codec dependency w/o a problem.

Thanks again

No problem, you're welcome :-)