본문 바로가기
Infra/Docker

m1 mac환경 django를 docker이미지 빌드시 cffi 문제

by whitele 2022. 8. 18.
반응형

m1 맥에서 django requirements.txt를 실행 중 cffi 문제로 인한 이미지 빌드 실패

  맥이 아닌 상황에서도 발생여부는 모르나 M1이나 리눅스 환경에서 발생하는 것을 확인

ffi.h:No such file or directory

error: legacy-install-failure

 

environment

  • python 3.8 (3.10.5 추가 테스트)
  • django 4.0.6
  • docker 20.10.17
  • OS MacOS monterey12.5 (m1 mac pro 16)

 

결과적으로 파이썬 비교적 최근 버전인 3.10버전에서 빌드했으며 파이썬 버전 문제가 아닙니다.

 해당 문제는 ffi 관련 라이브러리가 부재해 cffi 패키지가 실패하는 문제가 발생합니다.

 

해당 오류로는 pip에서 레거시 문제로 표시됩니다.

ffi.h

좀더 위로 올라가서 에러내용을 확인하면 ffi.h 관련 파일이나 디렉토리가 존재하지 않는다고 에러가 납니다.

이는 libffi가 해당 환경에서 설치가 되지 않아 발생하는 문제이며 도커 이미지 빌드 과정에 cffi pip를 설치하기 전 libffi를 설치해야 합니다.

 

Dockerfile에서 requirements.txt를 설치하기전 libffi-dev를 설치할 수 있도록 

RUN apk add libff-dev를 추가합니다.

RUN apk add libffi-dev
728x90
반응형

댓글