Bug 1916547 - Silverblue cannot run clojure in toolbox
Summary: Silverblue cannot run clojure in toolbox
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: clojure
Version: 33
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Markku Korkeala
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1918425 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-01-15 02:47 UTC by Eric Riese
Modified: 2021-01-26 01:58 UTC (History)
6 users (show)

Fixed In Version: clojure-1.10.1-6.fc33
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-01-26 01:58:58 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
/usr/bin/clojure (631 bytes, text/plain)
2021-01-15 02:47 UTC, Eric Riese
no flags Details

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.


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