dev icon indicating copy to clipboard operation
dev copied to clipboard

namespace 'cljfx.dev' not found

Open benabhi opened this issue 1 year ago • 2 comments

I am trying to load the library using lein, but for some reason it tells me that it cannot find the namespace, below are the project files (main file and project configuration)

I already loaded the dependencies with lein deps and everything seems to be fine, but I can't use any of the functions like help.

I appreciate any help you can give me to be able to use the library, I am quite new to this language.

project.clj

(defproject sandbox "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "EPL-2.0 OR GPL-2.0-or-later WITH Classpath-exception-2.0"
            :url "https://www.eclipse.org/legal/epl-2.0/"}
  :dependencies [[org.clojure/clojure "1.11.1"]
                 [cljfx "1.8.0"]
                 [io.github.cljfx/dev "1.0.32"]]
  :main ^:skip-aot sandbox.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all
                       :jvm-opts ["-Dclojure.compiler.direct-linking=true"]}})

core.clj

(ns sandbox.core
  (:require [cljfx.dev :as fxd])
  (:gen-class))

(fxd/help :text)

(defn -main
  "I don't do a whole lot ... yet."
  [& args]
  (println "Hello, World!"))

calva repl output

; Syntax error compiling at (c:\Users\Benabhi\Documents\Code\Clojure\sandbox\src\sandbox\core.clj:1:1).
; namespace 'cljfx.dev' not found

EDIT:

#error {
 :cause nil
 :via
 [{:type clojure.lang.Compiler$CompilerException
   :message Syntax error macroexpanding at (cljfx/dev/definitions.clj:2112:1).
   :data #:clojure.error{:phase :execution, :line 2112, :column 1, :source cljfx/dev/definitions.clj}
   :at [clojure.lang.Compiler load Compiler.java 7665]}
  {:type java.lang.NullPointerException
   :message nil
   :at [clojure.lang.Reflector invokeNoArgInstanceMember Reflector.java 426]}]
 :trace
 [[clojure.lang.Reflector invokeNoArgInstanceMember Reflector.java 426]
  [cljfx.dev$enum_sym__GT_spec_form invokeStatic definitions.clj 39]
  [cljfx.dev$enum_sym__GT_spec_form invoke definitions.clj 36]
  [cljfx.dev$eval2017$fn__2019 invoke definitions.clj 42]
  [clojure.lang.MultiFn invoke MultiFn.java 229]
  [cljfx.dev$prop__GT_spec_form invokeStatic dev.clj 177]
  [cljfx.dev$prop__GT_spec_form invoke dev.clj 168]
  [cljfx.dev$make_composite_spec$iter__1895__1899$fn__1900 invoke dev.clj 187]
  [clojure.lang.LazySeq sval LazySeq.java 42]
  [clojure.lang.LazySeq seq LazySeq.java 51]
  [clojure.lang.RT seq RT.java 535]
  [clojure.core$seq__5467 invokeStatic core.clj 139]
  [clojure.core$concat$cat__5560$fn__5561 invoke core.clj 736]
  [clojure.lang.LazySeq sval LazySeq.java 42]
  [clojure.lang.LazySeq seq LazySeq.java 51]
  [clojure.lang.Cons next Cons.java 39]
  [clojure.lang.RT next RT.java 713]
  [clojure.lang.Compiler eval Compiler.java 7182]
  [clojure.lang.Compiler eval Compiler.java 7149]
  [clojure.core$eval invokeStatic core.clj 3215]
  [clojure.core$eval invoke core.clj 3211]
  [cljfx.dev$make_composite_spec invokeStatic dev.clj 184]
  [cljfx.dev$make_composite_spec doInvoke dev.clj 179]
  [clojure.lang.RestFn invoke RestFn.java 439]
  [cljfx.dev$register_composite_BANG_ invokeStatic dev.clj 217]
  [cljfx.dev$register_composite_BANG_ doInvoke dev.clj 196]
  [clojure.lang.RestFn invoke RestFn.java 559]
  [cljfx.dev$eval4620 invokeStatic definitions.clj 2112]
  [cljfx.dev$eval4620 invoke definitions.clj 2112]
  [clojure.lang.Compiler eval Compiler.java 7194]
  [clojure.lang.Compiler load Compiler.java 7653]
  [clojure.lang.RT loadResourceScript RT.java 381]
  [clojure.lang.RT loadResourceScript RT.java 372]
  [clojure.lang.RT load RT.java 459]
  [clojure.lang.RT load RT.java 424]
  [clojure.core$load$fn__6908 invoke core.clj 6161]
  [clojure.core$load invokeStatic core.clj 6160]
  [clojure.core$load doInvoke core.clj 6144]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [cljfx.dev$eval1915 invokeStatic dev.clj 220]
  [cljfx.dev$eval1915 invoke dev.clj 220]
  [clojure.lang.Compiler eval Compiler.java 7194]
  [clojure.lang.Compiler load Compiler.java 7653]
  [clojure.lang.RT loadResourceScript RT.java 381]
  [clojure.lang.RT loadResourceScript RT.java 372]
  [clojure.lang.RT load RT.java 459]
  [clojure.lang.RT load RT.java 424]
  [clojure.core$load$fn__6908 invoke core.clj 6161]
  [clojure.core$load invokeStatic core.clj 6160]
  [clojure.core$load doInvoke core.clj 6144]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invokeStatic core.clj 5933]
  [clojure.core$load_one invoke core.clj 5928]
  [clojure.core$load_lib$fn__6850 invoke core.clj 5975]
  [clojure.core$load_lib invokeStatic core.clj 5974]
  [clojure.core$load_lib doInvoke core.clj 5953]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invokeStatic core.clj 669]
  [clojure.core$load_libs invokeStatic core.clj 6016]
  [clojure.core$load_libs doInvoke core.clj 6000]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invokeStatic core.clj 669]
  [clojure.core$require invokeStatic core.clj 6038]
  [clojure.core$require doInvoke core.clj 6038]
  [clojure.lang.RestFn invoke RestFn.java 421]
  [clj_ui.core$eval149$loading__6789__auto____150 invoke core.clj 1]
  [clj_ui.core$eval149 invokeStatic core.clj 1]
  [clj_ui.core$eval149 invoke core.clj 1]
  [clojure.lang.Compiler eval Compiler.java 7194]
  [clojure.lang.Compiler eval Compiler.java 7183]
  [clojure.lang.Compiler load Compiler.java 7653]
  [clojure.lang.RT loadResourceScript RT.java 381]
  [clojure.lang.RT loadResourceScript RT.java 372]
  [clojure.lang.RT load RT.java 459]
  [clojure.lang.RT load RT.java 424]
  [clojure.core$load$fn__6908 invoke core.clj 6161]
  [clojure.core$load invokeStatic core.clj 6160]
  [clojure.core$load doInvoke core.clj 6144]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [clojure.core$load_one invokeStatic core.clj 5933]
  [clojure.core$load_one invoke core.clj 5928]
  [clojure.core$load_lib$fn__6850 invoke core.clj 5975]
  [clojure.core$load_lib invokeStatic core.clj 5974]
  [clojure.core$load_lib doInvoke core.clj 5953]
  [clojure.lang.RestFn applyTo RestFn.java 142]
  [clojure.core$apply invokeStatic core.clj 669]
  [clojure.core$load_libs invokeStatic core.clj 6016]
  [clojure.core$load_libs doInvoke core.clj 6000]
  [clojure.lang.RestFn applyTo RestFn.java 137]
  [clojure.core$apply invokeStatic core.clj 669]
  [clojure.core$require invokeStatic core.clj 6038]
  [clojure.core$require doInvoke core.clj 6038]
  [clojure.lang.RestFn invoke RestFn.java 408]
  [user$eval5 invokeStatic form-init6254119792460689719.clj 1]
  [user$eval5 invoke form-init6254119792460689719.clj 1]
  [clojure.lang.Compiler eval Compiler.java 7194]
  [clojure.lang.Compiler eval Compiler.java 7183]
  [clojure.lang.Compiler eval Compiler.java 7183]
  [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]]}

benabhi avatar Apr 01 '24 02:04 benabhi

Sorry that you have the issue, I'm not sure what's causing it. The offending function is this:

(defn- enum-sym->spec-form [of]
  `(s/or :keyword ~(into #{}
                         (map #(keyword (str/replace (str/lower-case (.name ^Enum %)) #"_" "-")))
                         (.getEnumConstants (resolve of)))
         :instance (instance-of ~of)))

Looks like it couldn't resolve some enum

vlaaad avatar Apr 05 '24 09:04 vlaaad

I can't reproduce the issue with:

clj -Sdeps '{:deps {org.clojure/clojure {:mvn/version "1.11.1"} cljfx/cljfx {:mvn/version "1.8.0"} io.github.cljfx/dev {:mvn/version "1.0.32"}}}' -M -e "((requiring-resolve 'cljfx.dev/help) :text)"

vlaaad avatar Apr 05 '24 09:04 vlaaad