编译 – Pip安装 – 您选择的CPU不支持x86-64指令集

我正在尝试使用

pip install mysqlpython

在virtualenv容器内,我收到了错误

building '_mysql' extension

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -D_GNU_SOURCE -fPIC -fwrapv -fPIC -Dversion_info=(1,2,4,'final',1) -D__version__=1.2.4 -I/usr/include/mysql -I/usr/include/python2.7 -c _mysql.c -o build/temp.linux-x86_64-2.7/_mysql.o -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC -fPIC -g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -DMY_PTHREAD_FASTMUTEX=1

_mysql.c:1:0: error: CPU you selected does not support x86-64 instruction set

error: command 'gcc' failed with exit status 1

为什么当我在64位系统上并使用64位版本的Python时,gcc会尝试使用-march = i686?

解决方法:

您可以通过设置CFLAGS环境变量手动设置体系结构.

CFLAGS='-march=x86-64' pip install mysql-python

此变量的内容将附加到gcc的参数列表中.

上一篇:Error:function ‘LogSoftmaxBackward‘ returned nan values in its 0th output.


下一篇:编译 – 为什么我必须在运行程序之前设置LD_LIBRARY_PATH,即使我已经在编译阶段链接了库位置?