Fedora Account System
Red Hat Associate
Red Hat Customer
When I run the clojure command, it fails with a runtime error. Reproducible: Always Steps to Reproduce: 1. Install clojure using dnf 2. Run clojure in a console 3. Actual Results: $ clojure Exception in thread "main" java.lang.ExceptionInInitializerError at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:547) at clojure.lang.RT.classForName(RT.java:2229) at clojure.lang.RT.classForName(RT.java:2238) at clojure.lang.RT.loadClassForName(RT.java:2257) at clojure.lang.RT.load(RT.java:469) at clojure.lang.RT.load(RT.java:444) at clojure.core$load$fn__6933.invoke(core.clj:6189) at clojure.core$load.invokeStatic(core.clj:6188) at clojure.core$load.doInvoke(core.clj:6172) at clojure.lang.RestFn.invoke(RestFn.java:411) at clojure.core$load_one.invokeStatic(core.clj:5961) at clojure.core$load_one.invoke(core.clj:5956) at clojure.core$load_lib$fn__6875.invoke(core.clj:6003) at clojure.core$load_lib.invokeStatic(core.clj:6002) at clojure.core$load_lib.doInvoke(core.clj:5981) at clojure.lang.RestFn.applyTo(RestFn.java:145) at clojure.core$apply.invokeStatic(core.clj:669) at clojure.core$load_libs.invokeStatic(core.clj:6044) at clojure.core$load_libs.doInvoke(core.clj:6028) at clojure.lang.RestFn.applyTo(RestFn.java:140) at clojure.core$apply.invokeStatic(core.clj:669) at clojure.core$require.invokeStatic(core.clj:6066) at clojure.core.server$loading__6814__auto____9007.invoke(server.clj:9) at clojure.core.server__init.load(Unknown Source) at clojure.core.server__init.<clinit>(Unknown Source) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:547) at clojure.lang.RT.classForName(RT.java:2229) at clojure.lang.RT.classForName(RT.java:2238) at clojure.lang.RT.loadClassForName(RT.java:2257) at clojure.lang.RT.load(RT.java:469) at clojure.lang.RT.load(RT.java:444) at clojure.core$load$fn__6933.invoke(core.clj:6189) at clojure.core$load.invokeStatic(core.clj:6188) at clojure.core$load.doInvoke(core.clj:6172) at clojure.lang.RestFn.invoke(RestFn.java:411) at clojure.core$load_one.invokeStatic(core.clj:5961) at clojure.core$load_one.invoke(core.clj:5956) at clojure.core$load_lib$fn__6875.invoke(core.clj:6003) at clojure.core$load_lib.invokeStatic(core.clj:6002) at clojure.core$load_lib.doInvoke(core.clj:5981) at clojure.lang.RestFn.applyTo(RestFn.java:145) at clojure.core$apply.invokeStatic(core.clj:669) at clojure.core$load_libs.invokeStatic(core.clj:6044) at clojure.core$load_libs.doInvoke(core.clj:6028) at clojure.lang.RestFn.applyTo(RestFn.java:140) at clojure.core$apply.invokeStatic(core.clj:669) at clojure.core$require.invokeStatic(core.clj:6066) at clojure.core$require.doInvoke(core.clj:6066) at clojure.lang.RestFn.invoke(RestFn.java:411) at clojure.lang.Var.invoke(Var.java:386) at clojure.lang.RT.doInit(RT.java:511) at clojure.lang.RT.init(RT.java:487) at clojure.main.main(main.java:38) Caused by: Syntax error macroexpanding clojure.core/defn at (clojure/spec/alpha.clj:85:1). at clojure.lang.Compiler.checkSpecs(Compiler.java:7561) at clojure.lang.Compiler.macroexpand1(Compiler.java:7577) at clojure.lang.Compiler.macroexpand(Compiler.java:7655) at clojure.lang.Compiler.eval(Compiler.java:7741) at clojure.lang.Compiler.load(Compiler.java:8223) at clojure.lang.RT.loadResourceScript(RT.java:401) at clojure.lang.RT.loadResourceScript(RT.java:392) at clojure.lang.RT.load(RT.java:479) at clojure.lang.RT.load(RT.java:444) at clojure.core$load$fn__6933.invoke(core.clj:6189) at clojure.core$load.invokeStatic(core.clj:6188) at clojure.core$load.doInvoke(core.clj:6172) at clojure.lang.RestFn.invoke(RestFn.java:411) at clojure.core$load_one.invokeStatic(core.clj:5961) at clojure.core$load_one.invoke(core.clj:5956) at clojure.core$load_lib$fn__6875.invoke(core.clj:6003) at clojure.core$load_lib.invokeStatic(core.clj:6002) at clojure.core$load_lib.doInvoke(core.clj:5981) at clojure.lang.RestFn.applyTo(RestFn.java:145) at clojure.core$apply.invokeStatic(core.clj:669) at clojure.core$load_libs.invokeStatic(core.clj:6044) at clojure.core$load_libs.doInvoke(core.clj:6028) at clojure.lang.RestFn.applyTo(RestFn.java:140) at clojure.core$apply.invokeStatic(core.clj:669) at clojure.core$require.invokeStatic(core.clj:6066) at clojure.main$loading__6814__auto____9136.invoke(main.clj:11) at clojure.main__init.load(Unknown Source) at clojure.main__init.<clinit>(Unknown Source) ... 55 more Caused by: java.lang.Exception: #object[clojure.spec.alpha$and_spec_impl$reify__1043 0x67b100fe "clojure.spec.alpha$and_spec_impl$reify__1043@67b100fe"] is not a fn, expected predicate fn at clojure.spec.alpha$dt.invokeStatic(alpha.clj:767) at clojure.spec.alpha$dt.invoke(alpha.clj:757) at clojure.spec.alpha$dt.invokeStatic(alpha.clj:758) at clojure.spec.alpha$dt.invoke(alpha.clj:757) at clojure.spec.alpha$deriv.invokeStatic(alpha.clj:1532) at clojure.spec.alpha$deriv.invoke(alpha.clj:1526) at clojure.spec.alpha$deriv.invokeStatic(alpha.clj:1540) at clojure.spec.alpha$deriv.invoke(alpha.clj:1526) at clojure.spec.alpha$deriv$fn__1285.invoke(alpha.clj:1542) at clojure.core$map$fn__5956.invoke(core.clj:2772) at clojure.lang.LazySeq.force(LazySeq.java:50) at clojure.lang.LazySeq.realize(LazySeq.java:87) at clojure.lang.LazySeq.seq(LazySeq.java:104) at clojure.lang.RT.seq(RT.java:555) at clojure.core$seq__5488.invokeStatic(core.clj:139) at clojure.core$map$fn__5963.invoke(core.clj:2780) at clojure.lang.LazySeq.force(LazySeq.java:50) at clojure.lang.LazySeq.realize(LazySeq.java:87) at clojure.lang.LazySeq.seq(LazySeq.java:104) at clojure.lang.RT.seq(RT.java:555) at clojure.core$seq__5488.invokeStatic(core.clj:139) at clojure.core$filter$fn__5983.invoke(core.clj:2826) at clojure.lang.LazySeq.force(LazySeq.java:50) at clojure.lang.LazySeq.realize(LazySeq.java:87) at clojure.lang.LazySeq.seq(LazySeq.java:104) at clojure.lang.RT.seq(RT.java:555) at clojure.core$seq__5488.invokeStatic(core.clj:139) at clojure.core$map$fn__5956.invoke(core.clj:2763) at clojure.lang.LazySeq.force(LazySeq.java:50) at clojure.lang.LazySeq.realize(LazySeq.java:87) at clojure.lang.LazySeq.seq(LazySeq.java:104) at clojure.lang.RT.seq(RT.java:555) at clojure.core$seq__5488.invokeStatic(core.clj:139) at clojure.core$seq__5488.invoke(core.clj:139) at clojure.spec.alpha$filter_alt.invokeStatic(alpha.clj:1429) at clojure.spec.alpha$filter_alt.invoke(alpha.clj:1423) at clojure.spec.alpha$alt_STAR_.invokeStatic(alpha.clj:1433) at clojure.spec.alpha$alt_STAR_.invoke(alpha.clj:1432) at clojure.spec.alpha$deriv.invokeStatic(alpha.clj:1542) at clojure.spec.alpha$deriv.invoke(alpha.clj:1526) at clojure.spec.alpha$deriv.invokeStatic(alpha.clj:1540) at clojure.spec.alpha$deriv.invoke(alpha.clj:1526) at clojure.spec.alpha$deriv.invokeStatic(alpha.clj:1541) at clojure.spec.alpha$deriv.invoke(alpha.clj:1526) at clojure.spec.alpha$deriv.invokeStatic(alpha.clj:1541) at clojure.spec.alpha$deriv.invoke(alpha.clj:1526) at clojure.spec.alpha$re_conform.invokeStatic(alpha.clj:1667) at clojure.spec.alpha$re_conform.invoke(alpha.clj:1658) at clojure.spec.alpha$regex_spec_impl$reify__1369.conform_STAR_(alpha.clj:1708) at clojure.spec.alpha$conform.invokeStatic(alpha.clj:171) at clojure.spec.alpha$conform.invoke(alpha.clj:167) at clojure.spec.alpha$macroexpand_check.invokeStatic(alpha.clj:706) at clojure.spec.alpha$macroexpand_check.invoke(alpha.clj:702) at clojure.lang.AFn.applyToHelper(AFn.java:156) at clojure.lang.AFn.applyTo(AFn.java:144) at clojure.lang.Var.applyTo(Var.java:707) at clojure.lang.Compiler.checkSpecs(Compiler.java:7559) ... 82 more Expected Results: $ clojure user=>
Thanks you for the bug report. I can replicate the issue in Fedora 44, does not seem to happend in Fedora 43. It seems build of spec.alpha is not compatible with the rest, if I download that from maven central (https://repo1.maven.org/maven2/org/clojure/spec.alpha/0.6.249/ ) and run it repl starts: java -cp /usr/share/java/clojure/clojure.jar:/usr/share/java/clojure-core-specs-alpha/core.specs.alpha.jar:spec.alpha-0.6.249.jar clojure.main But with the jar in fedora, it fails: java -cp /usr/share/java/clojure/clojure.jar:/usr/share/java/clojure-core-specs-alpha/core.specs.alpha.jar:/usr/share/java/clojure-spec-alpha/spec.alpha.jar clojure.main Have to dig little deeper where is the fault.
I did a new scratch build for spec.alpha ( https://koji.fedoraproject.org/koji/taskinfo?taskID=148447380 ), could you try if this fixes your issue? Download the package: $ wget https://kojipkgs.fedoraproject.org//work/tasks/7380/148447380/clojure-spec-alpha-0.6.249-1.fc44.noarch.rpm Install the package: $ sudo rpm -U --force clojure-spec-alpha-0.6.249-1.fc44.noarch.rpm Try again to run clojure: $ clojure You can always try those in toolbox/distrobox/other container, if you do not want to run rpm -U --force on your system.
Thanks for your help. It works using the scratch build you provided: $ wget https://kojipkgs.fedoraproject.org//work/tasks/7380/148447380/clojure-spec-alpha-0.6.249-1.fc44.noarch.rpm Saving 'clojure-spec-alpha-0.6.249-1.fc44.noarch.rpm' HTTP response 200 OK [https://kojipkgs.fedoraproject.org//work/tasks/7380/148447380/clojure-spec-alpha-0.6.249-1.fc44.noarch.rpm] clojure-spec-alpha-0 100% [===========================================================================================================>] 558.47K 269.52KB/s [Files: 1 Bytes: 558.47K [140.17KB/s] Redirects: 0 Todo: 0 Errors: 0 ] $ sudo rpm -U --force clojure-spec-alpha-0.6.249-1.fc44.noarch.rpm $ clojure Clojure 1.12.4 user=> (+ 4 6) 10 user=>
FEDORA-2026-75fc98da42 (clojure-spec-alpha-0.6.249-2.fc44) has been submitted as an update to Fedora 44. https://bodhi.fedoraproject.org/updates/FEDORA-2026-75fc98da42
FEDORA-2026-75fc98da42 has been pushed to the Fedora 44 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-75fc98da42` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2026-75fc98da42 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2026-75fc98da42 (clojure-spec-alpha-0.6.249-2.fc44) has been pushed to the Fedora 44 stable repository. If problem still persists, please make note of it in this bug report.