Bug 2507364

Summary: clojure command fails to start
Product: [Fedora] Fedora Reporter: Osmani Rosado <osmanirosado>
Component: clojureAssignee: Markku Korkeala <markku.korkeala>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 44CC: mail, markku.korkeala, michel, walters
Target Milestone: ---Keywords: Desktop
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2026-08-09 00:59:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Osmani Rosado 2026-07-26 14:00:44 UTC
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=>

Comment 1 Markku Korkeala 2026-07-29 12:12:34 UTC
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.

Comment 2 Markku Korkeala 2026-07-29 12:27:55 UTC
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.

Comment 3 Osmani Rosado 2026-07-29 15:28:28 UTC
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=>

Comment 4 Fedora Update System 2026-07-31 18:13:38 UTC
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

Comment 5 Fedora Update System 2026-08-01 15:56:08 UTC
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.

Comment 6 Fedora Update System 2026-08-09 00:59:20 UTC
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.