Primero instale libhsdis0-fcmlcomo 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 stracever dónde javaestá 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 -findicador straceya que la JVM real se inicia como un proceso secundario del javacomando original .
Entre los problemas que stracepuede revelar hay un problema de permisos. Solo necesitaba permisos de lectura en la biblioteca para el inicio del usuario java.
Mi java -versionsalida:
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.soarchivo (presumiblemente funcionando) de una manera amigable para el administrador de paquetes. Siempre puede descargarlo directamente de una de las diversas fuentes también.