Development/Environment

Macbook "JVM DLL not found" 에러 조치

고고마코드 2024. 9. 4. 10:26
반응형

파이썬에서 from konlpy.tag import Okt 을 사용하려고 하는데, "JVM DLL not found" 오류가 발생했습니다.
분명 java 는 설치되어 있었는데 이런 문제가 발생했습니다.
그 해결 과정을 기록합니다.

해결 과정

자바 버전 확인

제일 먼저 자바가 정상적으로 설치되어 있는지 확인했습니다.

/usr/libexec/java_home -V

Matching Java Virtual Machines (2):
    11.0.11 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 11" /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
    1.8.0_292 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

저는 AdoptOpenJDK JDK를 사용하고 있었고, 버전은 8, 11 2개가 설치되어 있었습니다.
버전을 교체해 보기도 하고, 지웠다 설치도 해봤지만 JVM 오류는 계속 발생했습니다.

서치를 좀 해보니 Apple Silicon/M 시리즈에서는 x86 은 호환이 불안정 할 수 있다는 것을 알게 되었습니다.
저의 맥북에 설치된 자바는 AdoptOpenJDK-x86_64 버전이기에 문제가 해결될 수 없는 환경이었고, Arm 버전을 설치해야 했습니다.

새로운 자바 설치

Zulu OpenJDK 는 ARM 기반의 아키텍처를 사용하고 있습니다.

https://www.azul.com/downloads/?os=macos&architecture=arm-64-bit&package=jdk#zulu
본인에게 맞는 자바 버전을 설치하면 되는데, 저는 최신 LTS 이전 버전인 Java 17 을 선택했습니다.
각자의 환경에 맞게 다운로드 하시면 되는데, Macbook 에서는 .dmg 파일을 다운로드 하면 설치가 편합니다.

.dmg 다운로드 후 설치까지 완료하면 환경변수를 추가해야 합니다.

nano ~/.zshrc 으로 에디터를 열어주세요.

# java
#export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
#export JAVA_HOME=$(/usr/libexec/java_home -v 11)
export JAVA_HOME=$(/usr/libexec/java_home -v 17)
export PATH=$JAVA_HOME/bin:$PATH

저는 기존에 사용하던 버전은 주석처리 했고, 새로 다운로드 한 17버전을 인식하도록 설정했습니다.

java -version

openjdk version "17.0.12" 2024-07-16 LTS
OpenJDK Runtime Environment Zulu17.52+17-CA (build 17.0.12+7-LTS)
OpenJDK 64-Bit Server VM Zulu17.52+17-CA (build 17.0.12+7-LTS, mixed mode, sharing)

이후 자바 버전을 확인 했을 때 openjdk 를 정상적으로 인식했다면 설치 완료입니다.

테스트

from konlpy.tag import Okt
okt = Okt()

이후 저는 문제없이 konlpy를 사용할 수 있었습니다.

반응형