Bug 270097 - databases/jetbrains-datagrip: Java home/environment
Summary: databases/jetbrains-datagrip: Java home/environment
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Dave Cottlehuber
URL: https://www.freshports.org/databases/...
Keywords:
Depends on:
Blocks:
 
Reported: 2023-03-10 19:34 UTC by Joel Bodenmann
Modified: 2023-10-07 15:08 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Joel Bodenmann freebsd_committer freebsd_triage 2023-03-10 19:34:29 UTC
The port seems to have some issues starting on a system where multiple versions of java are installed.
In my case:

➜  ~ pkg info | grep openjdk
openjdk11-11.0.18+10.1         Java Development Kit 11
openjdk17-17.0.6+10.1          Java Development Kit 17
openjdk18-18.0.2+9.1_1         Java Development Kit 18
openjdk8-8.362.09.1_1          Java Development Kit 8

Launching datagrip regularly yields:

CompileCommand: exclude com/intellij/openapi/vfs/impl/FilePartNodeRoot.trieDescend
Error occurred during initialization of VM
java.lang.UnsupportedClassVersionError: com/intellij/util/lang/PathClassLoader has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
	at java.lang.ClassLoader.defineClass1(java.base@11.0.18/Native Method)
	at java.lang.ClassLoader.defineClass(java.base@11.0.18/ClassLoader.java:1017)
	at java.security.SecureClassLoader.defineClass(java.base@11.0.18/SecureClassLoader.java:174)
	at jdk.internal.loader.BuiltinClassLoader.defineClass(java.base@11.0.18/BuiltinClassLoader.java:800)
	at jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(java.base@11.0.18/BuiltinClassLoader.java:698)
	at jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(java.base@11.0.18/BuiltinClassLoader.java:621)
	at jdk.internal.loader.BuiltinClassLoader.loadClass(java.base@11.0.18/BuiltinClassLoader.java:579)
	at jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(java.base@11.0.18/ClassLoaders.java:178)
	at java.lang.ClassLoader.loadClass(java.base@11.0.18/ClassLoader.java:522)
	at java.lang.Class.forName0(java.base@11.0.18/Native Method)
	at java.lang.Class.forName(java.base@11.0.18/Class.java:398)
	at java.lang.ClassLoader.initSystemClassLoader(java.base@11.0.18/ClassLoader.java:1976)
	at java.lang.System.initPhase3(java.base@11.0.18/System.java:2074)

I am however able to start it by explicitly setting JAVA_HOME:

env JAVA_HOME=/usr/local/openjdk18 /usr/local/share/datagrip/bin/datagrip.sh

A fix was already provided by tcberner for devel/jetbrains-clion in this commit: https://cgit.freebsd.org/ports/commit/?id=4fecb327597025f0cd4d809c128279f12dacd5b7

databases/jetbrains-datagrip would need a similar fix.
Comment 1 commit-hook freebsd_committer freebsd_triage 2023-06-13 21:44:41 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=d6b5ecaad75d5e4ca291f5b3b47a08362ecbc79d

commit d6b5ecaad75d5e4ca291f5b3b47a08362ecbc79d
Author:     Dave Cottlehuber <dch@FreeBSD.org>
AuthorDate: 2023-06-13 21:20:14 +0000
Commit:     Dave Cottlehuber <dch@FreeBSD.org>
CommitDate: 2023-06-13 21:42:53 +0000

    databases/jetbrains-datagrip: update to 2023.1.2

    Inject ports-defined custom JAVA_HOME if not overridden by user.

    PR:             270097
    Tested by:      jbo <jbo@insane.engineer>

 databases/jetbrains-datagrip/Makefile              | 38 ++++++++++++++------
 databases/jetbrains-datagrip/distinfo              |  6 ++--
 .../jetbrains-datagrip/files/datagrip.desktop.in   |  2 +-
 databases/jetbrains-datagrip/files/datagrip.in     |  4 ++-
 databases/jetbrains-datagrip/pkg-plist             | 40 ++++++++++++----------
 5 files changed, 56 insertions(+), 34 deletions(-)
Comment 2 Graham Perrin 2023-10-07 15:04:34 UTC
@dch thank you. 

@jbo anything more to do here? 

ports 4f7b86a87a16 returned the port to the pool.