Reputation: 27
I'm just switching from Cursive (IntelliJ IDEA) to Emacs
But I cannot launch REPL from neither CIDER nor lein...
It just says Unable to resolve symbol: create in this context
But in my code I'm not calling create
Most importantly but strangely, lein jar
can compile it successfully!
The repo: https://github.com/freeze-dolphin/Dumortierite/tree/master/clj-module
Launching REPL in 'simpler' project is successful
/tmp/clojure-16814102007241783435.edn
{:clojure.main/message
"Syntax error compiling at (/tmp/form-init4774226856010620214.clj:4354:33).\nUnable to resolve symbol: create in this context\n",
:clojure.main/triage
{:clojure.error/phase :compile-syntax-check,
:clojure.error/line 4354,
:clojure.error/column 33,
:clojure.error/source "form-init4774226856010620214.clj",
:clojure.error/path "/tmp/form-init4774226856010620214.clj",
:clojure.error/class java.lang.RuntimeException,
:clojure.error/cause
"Unable to resolve symbol: create in this context"},
:clojure.main/trace
{:via
[{:type clojure.lang.Compiler$CompilerException,
:message
"Syntax error compiling at (/tmp/form-init4774226856010620214.clj:4354:33).",
:data
{:clojure.error/phase :compile-syntax-check,
:clojure.error/line 4354,
:clojure.error/column 33,
:clojure.error/source "/tmp/form-init4774226856010620214.clj"},
:at [clojure.lang.Compiler analyze "Compiler.java" 6825]}
{:type java.lang.RuntimeException,
:message "Unable to resolve symbol: create in this context",
:at [clojure.lang.Util runtimeException "Util.java" 221]}],
:trace
[[clojure.lang.Util runtimeException "Util.java" 221]
[clojure.lang.Compiler resolveIn "Compiler.java" 7431]
[clojure.lang.Compiler resolve "Compiler.java" 7375]
[clojure.lang.Compiler analyzeSymbol "Compiler.java" 7336]
[clojure.lang.Compiler analyze "Compiler.java" 6785]
[clojure.lang.Compiler analyze "Compiler.java" 6762]
[clojure.lang.Compiler$HostExpr$Parser parse "Compiler.java" 1020]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7124]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7112]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler access$300 "Compiler.java" 38]
[clojure.lang.Compiler$LetExpr$Parser parse "Compiler.java" 6401]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7124]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7112]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7112]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler analyze "Compiler.java" 6762]
[clojure.lang.Compiler$InvokeExpr parse "Compiler.java" 3900]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7126]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler analyze "Compiler.java" 6762]
[clojure.lang.Compiler$InvokeExpr parse "Compiler.java" 3900]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7126]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler access$300 "Compiler.java" 38]
[clojure.lang.Compiler$LetExpr$Parser parse "Compiler.java" 6401]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7124]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler analyze "Compiler.java" 6762]
[clojure.lang.Compiler$BodyExpr$Parser parse "Compiler.java" 6137]
[clojure.lang.Compiler$FnMethod parse "Compiler.java" 5479]
[clojure.lang.Compiler$FnExpr parse "Compiler.java" 4041]
[clojure.lang.Compiler analyzeSeq "Compiler.java" 7122]
[clojure.lang.Compiler analyze "Compiler.java" 6806]
[clojure.lang.Compiler eval "Compiler.java" 7191]
[clojure.lang.Compiler eval "Compiler.java" 7184]
[clojure.lang.Compiler eval "Compiler.java" 7184]
[clojure.lang.Compiler load "Compiler.java" 7653]
[clojure.lang.Compiler loadFile "Compiler.java" 7591]
[clojure.main$load_script invokeStatic "main.clj" 475]
[clojure.main$init_opt invokeStatic "main.clj" 477]
[clojure.main$init_opt invoke "main.clj" 477]
[clojure.main$initialize invokeStatic "main.clj" 508]
[clojure.main$null_opt invokeStatic "main.clj" 542]
[clojure.main$null_opt invoke "main.clj" 539]
[clojure.main$main invokeStatic "main.clj" 664]
[clojure.main$main doInvoke "main.clj" 616]
[clojure.lang.RestFn applyTo "RestFn.java" 137]
[clojure.lang.Var applyTo "Var.java" 705]
[clojure.main main "main.java" 40]],
:cause "Unable to resolve symbol: create in this context",
:phase :compile-syntax-check}}
Upvotes: 0
Views: 163
Reputation: 361
I ran into this issue as well, for me the solution ended up being that I forgot to include a (ns)
command at the top of the code.
Upvotes: 0
Reputation: 29958
After some experimentation, the problem seem to be with this line:
(ns io.sn.dumortierite.clj_module.items
(:import
...
[io.sn.dumortierite.utils ClojureUtils ItemEffectUtils]
...
))
You don't have the library mentioned present in your project. In fact, observe:
~/expr/so/Dumortierite/clj-module > d lib lib/**/*
drwx------ 3 alan alan 4096 Jun 15 09:17 lib/
drwx------ 2 alan alan 4096 Jun 15 09:17 lib/Dumortierite-0.1.0.jar/
Note that the "JAR" file is actual a unix directory.
There may be other problems, but this one is definitely a blocker.
Upvotes: 0