Bug 1916547

Summary: Silverblue cannot run clojure in toolbox
Product: [Fedora] Fedora Reporter: Eric Riese <eric.riese>
Component: clojureAssignee: Markku Korkeala <markku.korkeala>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 33CC: bmh, jochen, mail, markku.korkeala, michel, walters
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: clojure-1.10.1-6.fc33 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-01-26 01:58:58 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
/usr/bin/clojure none

Description Eric Riese 2021-01-15 02:47:15 UTC
Created attachment 1747625 [details]
/usr/bin/clojure

Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:

Happens in Fedora-32 and Fedora-33 toolboxes.

Steps to Reproduce:

1. `toolbox create --container clojure`
2. `toolbox enter clojure`
3. `sudo dnf install clojure`
4. `clojure`

Actual results:

⬢[eric@toolbox ~]$ clojure
/usr/bin/clojure: line 8: /usr/share/java-utils/java-functions: No such file or directory
/usr/bin/clojure: line 27: set_jvm: command not found
/usr/bin/clojure: line 28: set_classpath: command not found
/usr/bin/clojure: line 29: set_flags: command not found
/usr/bin/clojure: line 30: set_options: command not found
/usr/bin/clojure: line 33: run: command not found

Expected results:
launch a Clojure REPL

Additional info:
I've had issues with toolbox not working well with alternative terminal emulators, specifically Tilix, and with alternative shells, specifically fish. But I tried this with gnome-terminal and bash.

Comment 1 Eric Riese 2021-01-15 03:14:10 UTC
As a sanity check I tried running `jshell` in the same toolbox. I got 

⬢[eric@toolbox ~]$ jshell
bash: jshell: command not found

but `java` works.

⬢[eric@toolbox ~]$ java
Usage: java [options] <mainclass> [args...]
           (to execute a class)
   or  java [options] -jar <jarfile> [args...]
           (to execute a jar file)
   or  java [options] -m <module>[/<mainclass>] [args...]
       java [options] --module <module>[/<mainclass>] [args...]
           (to execute the main class in a module)
   or  java [options] <sourcefile> [args]
           (to execute a single source-file program)


Then I tried installing clojure via `sudo rpm-ostree install clojure` and I got the same error (after rebooting).

But `jshell` runs fine out of the toolbox.

Comment 2 Markku Korkeala 2021-01-15 11:19:27 UTC
Thank you for the bug report. I was able reproduce the issue with the steps, the cause of the error is the first error message when running clojure:
/usr/bin/clojure: line 8: /usr/share/java-utils/java-functions: No such file or directory
The file is in package javapackages-tools and seems not pulled in by installing clojure. Can you try if installing that package fixes the issue? So the steps would be:

1. `toolbox create --container clojure`
2. `toolbox enter clojure`
3. `sudo dnf install clojure javapackages-tools`
4. `clojure`

If that fixes it, then I'll fix the clojure package for the dependency.

Comment 3 Eric Riese 2021-01-15 17:05:13 UTC
That worked for me. Thank you very much!

Comment 4 Fedora Update System 2021-01-17 17:20:02 UTC
FEDORA-2021-7b34d3bac0 has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-7b34d3bac0

Comment 5 Fedora Update System 2021-01-18 01:27:11 UTC
FEDORA-2021-7b34d3bac0 has been pushed to the Fedora 33 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-7b34d3bac0`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-7b34d3bac0

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Markku Korkeala 2021-01-18 13:19:06 UTC
Eric can you test the new update available in F33 updates-testing? Instructions:

1. `toolbox create --container clojure`
2. `toolbox enter clojure`
3. `sudo dnf install clojure`
4. `clojure` , should not work
5. `sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-7b34d3bac0`
6. `clojure` , should now work

You can then add karma to the update: https://bodhi.fedoraproject.org/updates/FEDORA-2021-7b34d3bac0

Comment 7 Eric Riese 2021-01-21 04:00:20 UTC
Cool. Done and done. Works that way too.

Got to love toolbox. Upgrading my whole system to a testing repo would have been a big ask. But this couldn't have been easier.

Comment 8 Markku Korkeala 2021-01-21 07:22:55 UTC
*** Bug 1918425 has been marked as a duplicate of this bug. ***

Comment 9 Fedora Update System 2021-01-26 01:58:58 UTC
FEDORA-2021-7b34d3bac0 has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.