Bug 2507364 - clojure command fails to start
Summary: clojure command fails to start
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: clojure
Version: 44
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Markku Korkeala
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2026-07-26 14:00 UTC by Osmani Rosado
Modified: 2026-08-09 00:59 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2026-08-09 00:59:20 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.