Primero instale libhsdis0-fcml
como se describe en la otra respuesta 1 :
sudo apt-get install libhsdis0-fcml
Esto solo lo instala para OpenJDK. Sin embargo, está utilizando java-8-oracle
, por lo que deberá copiarlo allí. Aquí está el comando de copia exacto que funcionó para mí:
sudo cp /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/hsdis-amd64.so /usr/lib/jvm/java-8-oracle/jre/lib/amd64/hsdis-amd64.so
Si eso todavía no funciona, puede intentar strace
ver dónde java
está mirando. Solía:
strace -f java -XX:CompileCommand='print, *.*' ... |& grep hsdis
para obtener una salida como esta:
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libhsdis-amd64.so", O_RDONLY <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libhsdis-amd64.so", O_RDONLY|O_CLOEXEC <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libhsdis-amd64.so", O_RDONLY|O_NONBLOCK <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/hsdis-amd64.so", O_RDONLY <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/hsdis-amd64.so", O_RDONLY|O_CLOEXEC <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/hsdis-amd64.so", O_RDONLY|O_NONBLOCK <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/hsdis-amd64.so", O_RDONLY <unfinished ...>
[pid 10783] open("/usr/lib/jvm/java-8-oracle/jre/lib/amd64/hsdis-amd64.so", O_RDONLY|O_CLOEXEC) = 14
Puedes ver que los lugares y nombres que estabas intentando están definitivamente entre los que busca JDK (en mi caso, probablemente habría buscado más lugares, pero se detuvo ya que la última ubicación anterior es donde encontró el objeto compartido).
Tenga en cuenta que definitivamente necesita el -f
indicador strace
ya que la JVM real se inicia como un proceso secundario del java
comando original .
Entre los problemas que strace
puede revelar hay un problema de permisos. Solo necesitaba permisos de lectura en la biblioteca para el inicio del usuario java
.
Mi java -version
salida:
java version "1.8.0_151"
Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)
1 Realmente, esta es solo una forma de obtener un hsdis.so
archivo (presumiblemente funcionando) de una manera amigable para el administrador de paquetes. Siempre puede descargarlo directamente de una de las diversas fuentes también.