74 lines
3.0 KiB
Bash
74 lines
3.0 KiB
Bash
--- bin/oj_linux.sh 2026-04-03 21:13:54.084260000 +0200
|
|
+++ bin/oj_linux.sh 2026-04-03 21:19:43.098211000 +0200
|
|
@@ -4,9 +4,11 @@
|
|
## if unset defaults to
|
|
## JUMP_HOME (oj app folder) if writable or $HOME/.openjump (user home)
|
|
#JUMP_SETTINGS="/tmp/foobar"
|
|
+JUMP_SETTINGS="$HOME/.openjump"
|
|
|
|
## uncomment and put the path to your jre here
|
|
#JAVA_HOME="/home/ed/jre1.6.0_21"
|
|
+JAVA_HOME=${JAVA_HOME}
|
|
|
|
## uncomment and change your memory configuration here
|
|
## Xms is initial size, Xmx is maximum size
|
|
@@ -282,7 +282,7 @@
|
|
echo ---GDAL_DATA---
|
|
echo $GDAL_DATA
|
|
|
|
- NATIVE_PATH="$NATIVE_PATH:/usr/local/opt/sqlite/lib/:/usr/local/lib/"
|
|
+ NATIVE_PATH="$NATIVE_PATH:/usr/local/lib/"
|
|
CLASSPATH="/usr/local/lib/gdal.jar:$CLASSPATH"
|
|
|
|
## add lib/native/[arch/] to lib path
|
|
@@ -304,7 +304,7 @@
|
|
echo ---GDAL_DATA---
|
|
echo $GDAL_DATA
|
|
|
|
- NATIVE_PATH="$GDALPATH:$GDALPATH/lib:$GDALPATH/java:$NATIVE_PATH:/usr/lib/jni"
|
|
+ NATIVE_PATH="$GDALPATH:$GDALPATH/lib:$GDALPATH/java:$NATIVE_PATH:/usr/lib/jni:/usr/local/lib:${PREFIX}/lib"
|
|
CLASSPATH="$GDALPATH/java/gdal.jar:/usr/share/java/gdal.jar:$CLASSPATH"
|
|
|
|
export LD_LIBRARY_PATH="$NATIVE_PATH:$LD_LIBRARY_PATH"
|
|
@@ -323,7 +323,15 @@
|
|
|
|
echo ---Detect maximum memory limit---
|
|
# use previously set or detect RAM size in bytes
|
|
-RAM_SIZE=${RAM_SIZE-$(expr "$(awk '/MemTotal/{print $2}' /proc/meminfo)" \* 1024)}
|
|
+# Try Linux /proc/meminfo first, then FreeBSD sysctl
|
|
+if [ -z "$RAM_SIZE" ]; then
|
|
+ if [ -f /proc/meminfo ]; then
|
|
+ RAM_SIZE=$(expr "$(awk '/MemTotal/{print $2}' /proc/meminfo)" \* 1024)
|
|
+ elif command -v sysctl > /dev/null 2>&1; then
|
|
+ # FreeBSD: hw.physmem gives size in bytes
|
|
+ RAM_SIZE=$(sysctl -n hw.physmem 2>/dev/null)
|
|
+ fi
|
|
+fi
|
|
if [ -n "$JAVA_MAXMEM" ]; then
|
|
echo "max. memory limit defined via JAVA_MAXMEM=$JAVA_MAXMEM"
|
|
elif ! is_number "$RAM_SIZE"; then
|
|
@@ -353,11 +361,22 @@
|
|
echo set max. memory limit to $MEM_MAX_MB MiB
|
|
fi
|
|
|
|
+
|
|
+# Check Java version and add necessary options for Java 9+
|
|
+java_version=$("$JAVA" -version 2>&1 | head -1)
|
|
+major_version=$(echo "$java_version" | sed -n 's/.*"\([0-9]*\).*/\1/p')
|
|
+if [ -z "$major_version" ]; then
|
|
+ major_version=$(echo "$java_version" | sed -n 's/.*version \([0-9]*\).*/\1/p')
|
|
+fi
|
|
+if [ "$major_version" -ge 9 ] 2>/dev/null; then
|
|
+ JAVA_OPTS="$JAVA_OPTS --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --enable-native-access=ALL-UNNAMED"
|
|
+fi
|
|
+
|
|
# eventually try to start if no errors so far
|
|
if [ -z "$ERROR" ]; then
|
|
echo ---Start OJ---
|
|
# log.dir needs a trailing slash for path concatenation in log4j.xml
|
|
-"$JAVA" -Djava.system.class.loader=com.vividsolutions.jump.workbench.plugin.PlugInClassLoader -cp "$CLASSPATH" -Dlog.dir="$JUMP_SETTINGS/" $JAVA_OPTS $MAIN -state "$JUMP_SETTINGS/" $JUMP_OPTS "$@"
|
|
+"$JAVA" -Djava.library.path="$NATIVE_PATH" -Djava.system.class.loader=com.vividsolutions.jump.workbench.plugin.PlugInClassLoader -cp "$CLASSPATH" -Dlog.dir="$JUMP_SETTINGS/" $JAVA_OPTS $MAIN -state "$JUMP_SETTINGS/" $JUMP_OPTS "$@"
|
|
# result of jre call
|
|
ERROR=$?
|
|
fi
|