우분투에서 RetroPie 를 설치할 때 어느 특정 상황에서 retroarch 본체를 빌드하지 못하거나, mupen64plus 나 lr-beetle-psx 같은 3D 에뮬 모듈을 설치하지 못하거나 하는 경우가 있다.
retorarch 본체를 빌드 못하는 경우의 오류는 다음과 같이 나타난다.
Could not successfully build retroarch - RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators (/home/xein2000/RetroPie-Setup/tmp/build/retroarch/retroarch not found).
lr-beetle-psx 모듈을 빌드 못하는 경우의 오류는 다음과 같이 나타난다.
Could not successfully build lr-beetle-psx - PlayStation emulator - Mednafen PSX Port for libretro (mednafen_psx_hw_libretro.so not found).
두 형태의 오류와 함께 자세한 오류 내용은 로그를 살펴보라고 나오는데 저장된 로그를 읽어보면 아래와 같은 오류가 확인이 된다.
retroarch 본체 오류
/usr/bin/ld: cannot find -lEGL
collect2: error: ld returned 1 exit status
make: *** [Makefile:201: retroarch] 오류 1
lr-beetle-psx 모듈 오류
/usr/bin/ld: cannot find -lGL
collect2: error: ld returned 1 exit status
make: *** [Makefile:601: mednafen_psx_hw_libretro.so] 오류 1
이러한 경우에는 라이브러리 연결이 깨져 있는 경우였고, 라이브러리 심볼릭을 살려놓으면 두 오류를 해결할 수 있었다.
조정해줘야 할 파일은 libEGL.so 파일과 libGL.so 파일이었고, 추측하건데 nvidia 드라이버를 설치하거나 삭제하고 나서 심볼릭 링크가 깨지는게 아닐까..
libEGL.so 파일이 있는지 먼저 찾아본다.
ls -la /usr/lib/x86_64-linux-gnu/libEGL.*
lrwxrwxrwx 1 root root 15 10월 30 18:10 /usr/lib/x86_64-linux-gnu/libEGL.so.1 -> libEGL.so.1.1.0
-rw-r--r-- 1 root root 80512 11월 24 2020 /usr/lib/x86_64-linux-gnu/libEGL.so.1.1.0
libEGL.so 파일이 없다. 심볼릭 링크를 걸어준다.
sudo ln -s /usr/lib/x86_64-linux-gnu/libEGL.so.1 /usr/lib/x86_64-linux-gnu/libEGL.so
다음으로 libGL.so 파일이 있는지 먼저 찾아본다.
ls -la /usr/lib/x86_64-linux-gnu/libGL.*
lrwxrwxrwx 1 root root 14 11월 24 2020 /usr/lib/x86_64-linux-gnu/libGL.so.1 -> libGL.so.1.7.0
-rw-r--r-- 1 root root 547152 11월 24 2020 /usr/lib/x86_64-linux-gnu/libGL.so.1.7.0
libGL.so 파일이 없다. 심볼릭 링크를 걸어준다.
sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so
이렇게 조치하고 다시 설치 해보면 정상적으로 설치 할 수 있다.
참고.
/usr/lib/libGL.so 같은 위치로 해도 정상 작동한다.
글 작성 당시 우분투 버전은 20.04 이다.