简体   繁体   中英

java: symbol lookup error: java: undefined symbol: JLI_StringDup in conda environment

Running anything with java (even just the java command on its own) yields the error:

java: symbol lookup error: java: undefined symbol: JLI_StringDup

I am in a conda environment with java-jdk and openjdk installed. OS is Red Hat Enterprise Linux Server, version 7.9.

I believe that this JLI_StringDup might have something to do with libjli, so I tried adding paths to LIBRARY_PATH, LD_LIBRARY_PATH, JAVA_LD_LIBRARY_PATH and even PATH (cause why not) to no avail:

PATH=$PATH:<conda-env>/lib/jvm/lib
LIBRARY_PATH=$LIBRARY_PATH:<conda-env>/lib/jvm/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<conda-env>/lib/jvm/lib
JAVA_LD_LIBRARY_PATH=$JAVA_LD_LIBRARY_PATH:<conda-env>/lib/jvm/lib

PATH=$PATH:<conda-env>/jre/lib
LIBRARY_PATH=$LIBRARY_PATH:<conda-env>/jre/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<conda-env>/jre/lib
JAVA_LD_LIBRARY_PATH=$JAVA_LD_LIBRARY_PATH:<conda-env>/jre/lib

PATH=$PATH:<conda-env>/jre/lib/amd64/jli
LIBRARY_PATH=$LIBRARY_PATH:<conda-env>/jre/lib/amd64/jli
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<conda-env>/jre/lib/amd64/jli
JAVA_LD_LIBRARY_PATH=$JAVA_LD_LIBRARY_PATH:<conda-env>/jre/lib/amd64/jli

java

Where is the path to my conda environment, and it returns:

java: symbol lookup error: java: undefined symbol: JLI_StringDup

Does anyone know how to solve this?

I solved this issue and I'm posting in case others encounter the same. This seemed to be due to some conflict between openjdk and java-jdk conda packages. I solved it by:

conda install --force-reinstall java-jdk

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM