Runtime exception when requiring datomic client


Working through the Getting Started tutorial, and getting a runtime error whenever I require the client library.

; project.clj
(defproject datomic-client "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url ""
  :license {:name "Eclipse Public License"
            :url ""}
  :dependencies [[org.clojure/clojure "1.8.0"]
                 [com.datomic/client-pro "0.8.14"]]
  :main ^:skip-aot datomic-client.core
  :target-path "target/%s"
  :profiles {:uberjar {:aot :all}})

; src/datomic_client/core.clj
(ns datomic-client.core
  (require [datomic.client.api :as d])

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

Which throws the following error:

CompilerException java.lang.RuntimeException: Unable to resolve symbol: halt-when in this context, compiling:(datomic/client/api.clj:57:11)

Using java 1.8.0_161.

Totally new to Datomic, and new-ish to Clojure, so might be missing something obvious here. But searching for solutions 1.5 days hasn’t yielded anything yet.


Looks like halt-when was introduced in Clojure 1.9. Upgraded and everything works fine.


Glad you got it sorted.
Yes, the latest Client requires Clojure 1.9