Fork me on GitHub
#tools-deps
<
2022-02-19
>
cfleming02:02:35

Hi all, I see t.d.a uses requiring-resolve, so I guess it’s a thing that deps requires Clojure 1.10+?

cfleming02:02:35

I’m seeing errors in my exception tracker like: Unable to resolve symbol: requiring-resolve in this context. This executes deps using the user’s version of Clojure, so I’m guessing that they’re using an older Clojure.

Alex Miller (Clojure team)04:02:02

And yes, tools deps requires 1.10

seancorfield05:02:27

@U0567Q30W I'm a bit puzzled why you're trying to execute t.d.a. in the context of the user's Clojure setup/context?

cfleming07:02:46

So that was one of my more terrible problem reports, since it was vague and also wrong. Revisiting the code, I’m not using the user’s context at all. I either use the uberjar distributed with the CLI, or I use t.d.a downloaded from Maven. So I’m not sure why users would be seeing that error, since they should be using the correct version of Clojure. Looking at the stacktrace for the root exception (below), it seems like it’s probably failing when loading clojure.tools.deps.alpha.util.s3-transporter via clojure.tools.deps.alpha.util.maven. Is there anything else that might cause that to happen?

java.lang.RuntimeException: Unable to resolve symbol: requiring-resolve in this context
  at clojure.lang.Util.runtimeException(Util.java:221)
  at clojure.lang.Compiler.resolveIn(Compiler.java:7299)
  at clojure.lang.Compiler.resolve(Compiler.java:7243)
  at clojure.lang.Compiler.analyzeSymbol(Compiler.java:7204)
  at clojure.lang.Compiler.analyze(Compiler.java:6752)
  at clojure.lang.Compiler.analyze(Compiler.java:6729)
  at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3813)
  at clojure.lang.Compiler.analyzeSeq(Compiler.java:7005)
  at clojure.lang.Compiler.analyze(Compiler.java:6773)
  at clojure.lang.Compiler.analyze(Compiler.java:6729)
  at clojure.lang.Compiler$InvokeExpr.parse(Compiler.java:3813)
  at clojure.lang.Compiler.analyzeSeq(Compiler.java:7005)
  at clojure.lang.Compiler.analyze(Compiler.java:6773)
  at clojure.lang.Compiler.access$300(Compiler.java:38)
  at clojure.lang.Compiler$LetExpr$Parser.parse(Compiler.java:6368)
  at clojure.lang.Compiler.analyzeSeq(Compiler.java:7003)
  at clojure.lang.Compiler.analyze(Compiler.java:6773)
  at clojure.lang.Compiler.analyzeSeq(Compiler.java:6991)
  at clojure.lang.Compiler.analyze(Compiler.java:6773)
  at clojure.lang.Compiler.analyze(Compiler.java:6729)
  at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:6100)
  at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5460)
  at clojure.lang.Compiler$FnExpr.parse(Compiler.java:4022)
  at clojure.lang.Compiler.analyzeSeq(Compiler.java:7001)
  at clojure.lang.Compiler.analyze(Compiler.java:6773)
  at clojure.lang.Compiler.analyzeSeq(Compiler.java:6991)
  at clojure.lang.Compiler.analyze(Compiler.java:6773)
  at clojure.lang.Compiler.access$300(Compiler.java:38)
  at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:595)
  at clojure.lang.Compiler.analyzeSeq(Compiler.java:7003)
  at clojure.lang.Compiler.analyze(Compiler.java:6773)
  at clojure.lang.Compiler.analyze(Compiler.java:6729)
  at clojure.lang.Compiler.eval(Compiler.java:7066)
  at clojure.lang.Compiler.load(Compiler.java:7514)
  at clojure.lang.RT.loadResourceScript(RT.java:379)
  at clojure.lang.RT.loadResourceScript(RT.java:370)
  at clojure.lang.RT.load(RT.java:460)
  at clojure.lang.RT.load(RT.java:426)
  at clojure.core$load$fn__6548.invoke(core.clj:6046)
  at clojure.core$load.invokeStatic(core.clj:6045)
  at clojure.core$load.doInvoke(core.clj:6029)
  at clojure.lang.RestFn.invoke(RestFn.java:408)
  at clojure.core$load_one.invokeStatic(core.clj:5848)
  at clojure.core$load_one.invoke(core.clj:5843)
  at clojure.core$load_lib$fn__6493.invoke(core.clj:5888)
  at clojure.core$load_lib.invokeStatic(core.clj:5887)
  at clojure.core$load_lib.doInvoke(core.clj:5868)
  at clojure.lang.RestFn.applyTo(RestFn.java:142)
  at clojure.core$apply.invokeStatic(core.clj:659)
  at clojure.core$load_libs.invokeStatic(core.clj:5925)
  at clojure.core$load_libs.doInvoke(core.clj:5909)
  at clojure.lang.RestFn.applyTo(RestFn.java:137)
  at clojure.core$apply.invokeStatic(core.clj:659)
  at clojure.core$require.invokeStatic(core.clj:5947)
  at clojure.core$require.doInvoke(core.clj:5947)
  at clojure.lang.RestFn.invoke(RestFn.java:457)
  at clojure.tools.deps.alpha.util.maven$eval715$loading__6434__auto____716.invoke(maven.clj:9)
  at clojure.tools.deps.alpha.util.maven$eval715.invokeStatic(maven.clj:9)
  at clojure.tools.deps.alpha.util.maven$eval715.invoke(maven.clj:9)
...etc etc...

Alex Miller (Clojure team)18:02:54

the only other thing I could think of would be the parallel loading issues we used to see in the s3 transporter thread loading

Alex Miller (Clojure team)18:02:06

that should be fixed in recent versions but maybe if you have an older version of tools.deps

cfleming19:02:16

Yeah, could be that the user just hasn’t updated their deps install. I won’t worry about that one unless it keeps happening then. Thanks!