"Bindings/python-efl" 빌드 이슈와 해결 방법


14년 7월 현재, python-efl을 Make 하면 다음과 같은 로그가 출력된다.


Checking for Eina: OK, found 1.10.99.26931>

Checking for Eo: OK, found 1.10.99.26931
Checking for Evas: OK, found 1.10.99.26931
Checking for Ecore: OK, found 1.10.99.26931
Checking for EcoreFile: OK, found 1.10.99.26931
Checking for EcoreInput: OK, found 1.10.99.26931
Checking for EcoreX: OK, found 1.10.99.26931
Checking for Ethumb: OK, found 1.10.99.26931
Checking for Ethumb_Client: OK, found 1.10.99.26931
Checking for Edje: OK, found 1.10.99.26931
Checking for Emotion: OK, found 1.10.99.26931
Checking for DBus: OK, found 1.2.0
Checking for Elementary: OK, found 1.10.99.10408
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/efl
copying efl/__init__.py -> build/lib.linux-x86_64-2.7/efl
creating build/lib.linux-x86_64-2.7/efl/utils
copying efl/utils/__init__.py -> build/lib.linux-x86_64-2.7/efl/utils
creating build/lib.linux-x86_64-2.7/efl/ecore
copying efl/ecore/__init__.py -> build/lib.linux-x86_64-2.7/efl/ecore
creating build/lib.linux-x86_64-2.7/efl/elementary
copying efl/elementary/__init__.py -> build/lib.linux-x86_64-2.7/efl/elementary
running build_ext
building 'eo' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/efl
creating build/temp.linux-x86_64-2.7/efl/eo
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DEFL_BETA_API_SUPPORT -Iinclude/ -I/usr/include/python2.7 -c efl/eo/efl.eo.c -o build/temp.linux-x86_64-2.7/efl/eo/efl.eo.o -I/usr/local/include/eo-1 -I/usr/local/include/eina-1/eina -I/usr/local/include/efl-1 -I/usr/local/include/eina-1
x86_64-linux-gnu-gcc: error: efl/eo/efl.eo.c: No such file or directory
x86_64-linux-gnu-gcc: fatal error: no input files
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 4


아래에서 4번째 줄을 보면 "efl.eo.c" 파일을 찾을 수 없다고 한다.

http://git.enlightenment.org/bindings/python/python-efl.git/tree/ 에 접속하면 Makefile 에 명시된 것과 달리 Git 저장소에는 여러 핵심 파일들이 누락되어 있는 상태다. 자세한 이유는 알 수 없지만 enlightenment 프로젝트의 Jenkins[각주:1]에 들어가보면 해당 파일들을 찾을 수 있다. 


python-efl의 최신 tarball 은 다음 주소에서 다운로드 받을 수 있다.

https://build.enlightenment.org/view/Base%20jobs/job/base_pyefl_build/lastSuccessfulBuild/artifact/dist/


해당 폴더를 python-efl 폴더에 그대로 덮어쓰면 정상적으로 빌드가 가능하다. 


  1. 형상관리툴, https://build.enlightenment.org/ [본문으로]