Details
-
Type: Bug
-
Status: Open
-
Priority: Minor
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: jalview-j2s
-
Labels:None
Description
AdoptOpenJDK 11.0.6+10 on macOS installs itself in what looks like the usual macOS directory structure (either in /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk or if you use the .tar.gz elsewhere):
└── Contents
├── Home
│ ├── bin
│ ├── bundle
│ ├── conf
│ ├── demo
│ ├── include
│ ├── jmods
│ ├── jre -> .
│ ├── legal
│ ├── lib
│ ├── man
│ └── release
├── Info.plist
└── MacOS
└── libjli.dylib
The difference to other adoptopenjdk installations (including the most recent 1.8.0_242-b08 and 13.0.2+8) is that
Contents/MacOS/libjli.dylib
is NOT a symbolic link to ../Home/lib/jli/libjli.dylib but a copy of libjli.dylib instead.
For reasons I don't yet understand, this prevents some applications, including Eclipse, fail to start. With Eclipse the error is:
Error: could not find libjava.dylib
Failed to GetJREPath()
Manually changing the libjli.dylib file to a symbolic link to libjli.dylib under Home fixes this, e.g. in Terminal
cd /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/MacOS
sudo mv libjli.dylib libjli.dylib.moved
sudo ln -s $(find ../Home/lib -name libjli.dylib | head -1)
## that second sudo command uses a `find` because in some jdk versions the lib in in Home/lib and in others it is in Home/lib/jli.
It is not yet clear if this is a bug in the AdoptOpenJDK-11.0.6+10 macOS distribution.
└── Contents
├── Home
│ ├── bin
│ ├── bundle
│ ├── conf
│ ├── demo
│ ├── include
│ ├── jmods
│ ├── jre -> .
│ ├── legal
│ ├── lib
│ ├── man
│ └── release
├── Info.plist
└── MacOS
└── libjli.dylib
The difference to other adoptopenjdk installations (including the most recent 1.8.0_242-b08 and 13.0.2+8) is that
Contents/MacOS/libjli.dylib
is NOT a symbolic link to ../Home/lib/jli/libjli.dylib but a copy of libjli.dylib instead.
For reasons I don't yet understand, this prevents some applications, including Eclipse, fail to start. With Eclipse the error is:
Error: could not find libjava.dylib
Failed to GetJREPath()
Manually changing the libjli.dylib file to a symbolic link to libjli.dylib under Home fixes this, e.g. in Terminal
cd /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/MacOS
sudo mv libjli.dylib libjli.dylib.moved
sudo ln -s $(find ../Home/lib -name libjli.dylib | head -1)
## that second sudo command uses a `find` because in some jdk versions the lib in in Home/lib and in others it is in Home/lib/jli.
It is not yet clear if this is a bug in the AdoptOpenJDK-11.0.6+10 macOS distribution.
Attachments
Issue Links
- depends on
-
JAL-3252 Adapt getdown to unpack .tgz resource files (to allow .tgz jre updates including symbolic links on macOS)
- Closed