Freeze Dolphin
Freeze Dolphin

Reputation: 27

Leiningen unable to start a REPL: "Unable to resolve symbol: create in this context"

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!


  1. The repo: https://github.com/freeze-dolphin/Dumortierite/tree/master/clj-module

  2. Launching REPL in 'simpler' project is successful


error in CIDER

error in lein repl

lein jar done

not calling create

/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

Answers (2)

Daan Reid
Daan Reid

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

Alan Thompson
Alan Thompson

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

Related Questions