반응형
환경
OS : Ubuntu 18.04
Openstack service pkg 중인 mistral pkg설치 중 tox command를 이용한 config 생성 중 아래와 같은 오류가 발생하였다.
증상
# tox -egencofig
... (생략)
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -I/root/mistral/.tox/genconfig/include/python3.6m -c build/temp.linux-x86_64-3.6/check_libyaml.c -o build/temp.linux-x86_64-3.6/check_libyaml.o
checking if libyaml is linkable
x86_64-linux-gnu-gcc -pthread build/temp.linux-x86_64-3.6/check_libyaml.o -lyaml -o build/temp.linux-x86_64-3.6/check_libyaml
building '_yaml' extension
creating build/temp.linux-x86_64-3.6/ext
x86_64-linux-gnu-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.6m -I/root/mistral/.tox/genconfig/include/python3.6m -c ext/_yaml.c -o build/temp.linux-x86_64-3.6/ext/_yaml.o
ext/_yaml.c:4:10: fatal error: Python.h: No such file or directory
#include "Python.h"
^~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for PyYAML
Running setup.py clean for PyYAML
Building wheel for ujson (setup.py): started
Building wheel for ujson (setup.py): finished with status 'error'
원인
error 로그 중 중간에 보면 " x86_64-linux-gnu-gcc " 관련 command error 가 발생하였다 .
#include "Python.h"
^~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Python.h라는 헤더 파일이 없어서 gcc가 응용 프로그램을 빌드하는데 실패한것이다.
조치
Python.h는 python-dev라는 PKG에 포함되어 있는데 tox라는 python pkg 는 기본적으로 python3를사용한다. 이에 python3-dev라는 pkg가 있어야 한다.
- PKG 설치 여부 확인
root@osc01(admin-openrc):~/mistral# dpkg -l | grep python3-dev
root@osc01(admin-openrc):~/mistral#
- PKG 미 설치시 설치
root@osc01(admin-openrc):~/mistral# apt install python3-dev -y
- PKG 설치 후 확인
root@osc01(admin-openrc):~/mistral# dpkg -l | grep python3-dev
ii libpython3-dev:amd64 3.6.7-1~18.04 amd64 header files and a static library for Python (default)
ii python3-dev 3.6.7-1~18.04 amd64 header files and a static library for Python (default)
ppython3-dev 설치 이후 tox command를 다시 실행하면 정상적으로 실행 된다.
반응형