FS#56581 - [pycharm-community-edition] don't start when using openjdk 1.7.0
Attached to Project:
Community Packages
Opened by Jeff Guo (jeffguorg) - Tuesday, 05 December 2017, 03:17 GMT
Last edited by Maxime Gauduin (Alucryd) - Friday, 22 December 2017, 20:12 GMT
Opened by Jeff Guo (jeffguorg) - Tuesday, 05 December 2017, 03:17 GMT
Last edited by Maxime Gauduin (Alucryd) - Friday, 22 December 2017, 20:12 GMT
|
Details
Description:
https://youtrack.jetbrains.com/issue/IDEA-181245 this issue comes out when using java-8-openjdk Jetbrain asked when i don't use a bundled jre, i said i'm directly using archlinux package. i think it could be a packaging issue so i report here Additional info: * pycharm-community-edition - 2017.3-1 * jdk{7,8,9}-openjdk installed Steps to reproduce: $ sudo archlinux-java set java-7-openjdk $ pycharm (crash) $ sudo archlinux-java set java-8-openjdk $ pycharm (work) |
This task depends upon
Closed by Maxime Gauduin (Alucryd)
Friday, 22 December 2017, 20:12 GMT
Reason for closing: Implemented
Additional comments about closing: 2017.3-2
Friday, 22 December 2017, 20:12 GMT
Reason for closing: Implemented
Additional comments about closing: 2017.3-2

Well, yes you have to use a jre = 8. There's nothing I can do
package-wise apart from printing a message. Forcing java-runtime =
8 doesn't prevent anyone from installing 7 or 9. Bundling theirs
just adds bloat, but I can create a split package for those who
still wish to use it.

Well, at the least you can pin the java-runtime dependency to 8,
in order to ensure people actually have the right version
installed, rather than having it completely absent from their
system. This also makes it somewhat more apparent when viewing the
package dependencies, that errors probably come from setting a
default java that is different from what the package requires. You
could also maybe use a wrapper script that first checks [[
"$(archlinux-java get)" = java-8-openjdk/jre ]] before continuing.

set dependency won't fix it. is it possible to add a wrapper
script, set java runtime to newest and launch the app, and set it
back after app is launched. i'm not a packager so i don't know
much about your principles.

Our java runtime implementation sets a root-owned symlink, which
cannot be changed by arbitrary users. OTOH setting
PYCHARM_JDK=/usr/lib/jvm/java-8-openjdk/jre/ should in theory
work. That being said, I don't fully understand how all this Java
works, and java-runtime-common has an install script warning that
JAVA_HOME does not work so I could very well be missing something.

Setting the dep won't fix it, but it's the closest thing we've got

Just pushed 2017.3-2 that forces java-runtime=8. There is the
possibility to symlink openjdk8 in pycharm's working directory as
it would take precedence thanks to their startup script, but that
would prevent anyone from using another runtime from AUR, jdk8
from Oracle, or openjdk8 with Jetbrains patches if they want font
ligatures for example (jetbrains disables them with vanilla
openjdk8 for "performance reasons").