Bug 1518055
Summary: | Arduino IDE fails to start | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Jerry <bugzilla> |
Component: | arduino | Assignee: | Gianluca Sforna <giallu> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 28 | CC: | barracks510, chitlesh, florian, giallu, mhlavink, sgehwolf, swaite, tchollingsworth, thozza, tigert, wmealing |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | ||
Hardware: | x86_64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | arduino-1.8.5-6.fc28 arduino-1.8.5-6.fc29 | Doc Type: | If docs needed, set a value |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2018-10-27 16:15:01 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: |
Description
Jerry
2017-11-28 04:03:14 UTC
Hi Jerry, I just tried and on my F27 box I can correctly run both 1.8.4 and 1.8.5 from updates-testing. I am suspecting you have not installed the correct java (the package from the website is self-contained so it will work) Please try this: dnf install java-1.8.0-openjdk and let me know if that fixes the issue; if so, I'd probably need to change some require for the package. Hi Gianluca, Yes, that fixed the issue. I thought I had the correct java installed but perhaps it was lost in the dnf upgrade to Fedora 27. Thank you very much! It would be interesting to determine how the system got into this state. I checked the RPM and there is a "Requires: java" line so, unless java-headless wrongly provides it, I can't really understand how a system with arduino installed could lack java. Anyway, closing. I'm not sure what happened but the IDE was working in Fedora 26 before the upgrade. As far as I know, I had not even run any java applications until I tried to update a sketch a few days ago. Could it possibly be because I had the Oracle Java rpm installed (downloaded from their website)? Wouldn't that be unrelated? I encountered the same on a fresh install... I have not done anything special with this machine.. Error Output: [dmk@monster ~]$ arduino java.awt.HeadlessException at java.awt.SplashScreen.getSplashScreen(SplashScreen.java:117) at processing.app.Base.<init>(Base.java:206) at processing.app.Base.main(Base.java:135) [dmk@monster ~]$ rpm -q rpm libsolv hawkey dnf rpm-4.14.1-1.fc27.x86_64 libsolv-0.6.34-1.fc27.x86_64 Das Paket hawkey ist nicht installiert dnf-2.7.5-2.fc27.noarch [dmk@monster ~]$ java -version openjdk version "1.8.0_171" OpenJDK Runtime Environment (build 1.8.0_171-b10) OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode) [dmk@monster ~]$ sudo dnf install java-1.8.0-openjdk Letzte Prüfung auf abgelaufene Metadaten: vor 1:46:15 am Fr 27 Apr 2018 20:54:05 CEST. Abhängigkeiten sind aufgelöst. ================================================================================ Paket Arch Version Paketquelle Größe ================================================================================ Installieren: java-1.8.0-openjdk x86_64 1:1.8.0.171-1.b10.fc27 updates 242 k Transaktionsübersicht ================================================================================ Installieren 1 Paket Gesamte Downloadgröße: 242 k Installationsgröße: 500 k Ist dies in Ordnung? [j/N]: Now it works... So something is fishy with the dependencies of the packet i assume. I hit the same on a clean Fedora 28 install $ arduino java.awt.HeadlessException at java.awt.SplashScreen.getSplashScreen(SplashScreen.java:117) at processing.app.Base.<init>(Base.java:206) at processing.app.Base.main(Base.java:135) $ sudo dnf install java-1.8.0-openjdk Failed to synchronize cache for repo 'Dropbox', disabling. Last metadata expiration check: 0:46:52 ago on Fri 11 May 2018 02:43:06 PM EDT. Dependencies resolved. ========================================================================================== Package Arch Version Repository Size ========================================================================================== Installing: java-1.8.0-openjdk x86_64 1:1.8.0.171-4.b10.fc28 updates 245 k Transaction Summary ========================================================================================== Install 1 Package Total download size: 245 k Installed size: 523 k Is this ok [y/N]: y Downloading Packages: java-1.8.0-openjdk-1.8.0.171-4.b10.fc28.x86_64.rpm 673 kB/s | 245 kB 00:00 ------------------------------------------------------------------------------------------ Total 402 kB/s | 245 kB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : java-1.8.0-openjdk-1:1.8.0.171-4.b10.fc28.x86_64 1/1 Running scriptlet: java-1.8.0-openjdk-1:1.8.0.171-4.b10.fc28.x86_64 1/1 Verifying : java-1.8.0-openjdk-1:1.8.0.171-4.b10.fc28.x86_64 1/1 Installed: java-1.8.0-openjdk.x86_64 1:1.8.0.171-4.b10.fc28 Complete! $ arduino Loading configuration... Initializing packages... Preparing boards... Starting... After installing the jdk, it works fine Same problem, here. Package requires: java >= 1:1.8.0 Package java-11-openjdk provides java = 1:11 that is higher version and so dnf prefers it to install over 1.8.0 openjdk. and java-11-openjdk requires java-11-openjdk-headless so that's why it is installed. There are two options, either arduino should require 1.8.0 openjdk explicitly or there is a bug in java-11-openjdk that it provides something it should not. Anyway, the way it is atm it looks broken from user's perspective This reproduced with Fedora 28 clean install, with the same fix. The RPM requires must not work how you think / its documented to work Re-opening, let me know if you don't want this re-opened and I can make another report. $ sudo dnf -q repoquery --whatprovides 'java >= 1:1.8.0' --repofrompath=foo,http://download.fedoraproject.org/pub/fedora/linux/updates/28/Everything/x86_64/ --repoid=foo java-1.8.0-openjdk-1:1.8.0.181.b15-0.fc28.x86_64 java-11-openjdk-1:11.0.ea.28-2.fc28.i686 java-11-openjdk-1:11.0.ea.28-2.fc28.x86_64 java-openjdk-1:10.0.2.13-1.fc28.i686 java-openjdk-1:10.0.2.13-1.fc28.x86_64 So JDK 8, JDK 10 and JDK 11 would satisfy the requirement specified by arduino: https://src.fedoraproject.org/rpms/arduino/blob/master/f/arduino.spec#_46 Note that none of the OpenJDK providers are -headless. It suggests that the selected JDK at runtime is 8 with only java-1.8.0-openjdk-headless installed. The dep must have been resolved by dnf, though. This isn't an OpenJDK bug (wrong provides), but an arduino bug. This command could be used to verify that some non-headless OpenJDK is installed: $ rpm -qa --qf '%{NAME}\n' | grep openjdk | sort I will push an arduino package that requires "java = 1:1.8.0" and be done with this; however I still fail to see how the reporters managed to get the package installed with only the headless variant. (In reply to Gianluca Sforna from comment #10) > however I still fail to see how the reporters managed to get the > package installed with only the headless variant. Like I said above this would clarify what reporters ended up getting on their system to reproduce: $ rpm -qa --qf '%{NAME}\n' | grep openjdk | sort Installing arduino with java-11-openjdk and java-1.8.0-openjdk-headless will likely reproduce the problem. It's non-headless JDK 11, satisfying "java >= 1:1.8.0". Yet, java-1.8.0-openjdk-headless is the headless version. Then alternatives for java-1.8.0-openjdk have higher priority than JDK 11. So "/usr/bin/java" would point to JDK 8 headless. Yet, a non-headless JDK 11 is installed (which arduino perhaps doesn't use?). arduino-1.8.5-6.fc28 has been submitted as an update to Fedora 28. https://bodhi.fedoraproject.org/updates/FEDORA-2018-c2329c10f5 arduino-1.8.5-6.fc29 has been submitted as an update to Fedora 29. https://bodhi.fedoraproject.org/updates/FEDORA-2018-5750f4fe30 arduino-1.8.5-6.fc28 has been pushed to the Fedora 28 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-c2329c10f5 arduino-1.8.5-6.fc29 has been pushed to the Fedora 29 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2018-5750f4fe30 arduino-1.8.5-6.fc28 has been pushed to the Fedora 28 stable repository. If problems still persist, please make note of it in this bug report. arduino-1.8.5-6.fc29 has been pushed to the Fedora 29 stable repository. If problems still persist, please make note of it in this bug report. Hello from the future. I had the same issue on Fedora 32. Installing java-1.8.0-openjdk fixed the issue. |