본문 바로가기

카테고리 없음

/lib/i386-linux-gnu/libc.so.6: version `GLIBC_2.34' not found 오류 해결법

- 0. 문제

- 1. 원인 : 우분투 버전문제라는 듯

22.04를 쓰면 해결된다는데, 우분투를 버전별로 하나씩 가지고 있을 순 없으니까 도커를 이용할 것이다.

- 2. 해결

도커파일로 만든다.

FROM ubuntu:22.04

WORKDIR /app
COPY ./calc /app/calc
RUN chmod +x /app/calc

CMD ["/bin/bash"]

실행 

docker build -t ubuntu-22.04 .
docker run -it ubuntu-22.04

 

- 3. Troubleshooting

실행 시 여전히 에러 발생 : No such file or directory. 파일이 있는데도 없다고 나옴.

22.04는 기본적으로 64비트 라이브러리들이 깔리는데, calc파일이 32비트 파일이라 여전히 실행이 안된다.

32bit와 관련된 라이브러리를 설치해준다.

apt-get update
dpkg --add-architecture i386
apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386

기본적으로 root이기때문에 sudo안먹음.

 

- 4. 결론

3번 내용 Dockerfile에 추가

FROM ubuntu:22.04

WORKDIR /app

COPY ./calc /app/calc

RUN apt-get update
RUN dpkg --add-architecture i386
RUN apt-get update
RUN apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 -y
RUN chmod +x /app/calc


CMD ["/bin/bash"]