# ошибка «Набор инструкций SSE2 не включен» при установке scikit-bio через pip

Я хочу установить библиотеку python scikit-bio через pip, используя следующую команду:

sudo pip install scikit-bio

в моей системе:

uname -a
Linux grassgis 3.2.0-69-generic-pae #103-Ubuntu SMP Tue Sep 2 05:15:53 UTC 2014 i686 i686 i386 GNU/Linux

Однако это вызывает ошибку:

gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/lib/python2.7/dist-packages/numpy/core/include -I/usr/include/python2.7 -c skbio/alignment/_ssw/_ssw_wrapper.c -o build/temp.linux-i686-2.7/skbio/alignment/_ssw/_ssw_wrapper.o
    In file included from skbio/alignment/_ssw/ssw.h:17:0,
                     from skbio/alignment/_ssw/_ssw_wrapper.c:355:
    /usr/lib/gcc/i686-linux-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled"
    /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/__multiarray_api.h:1532:1: warning: ‘_import_array’ defined but not used [-Wunused-function]
    /usr/lib/python2.7/dist-packages/numpy/core/include/numpy/__ufunc_api.h:226:1: warning: ‘_import_umath’ defined but not used [-Wunused-function]
    error: command 'gcc' failed with exit status 1

Я уже запускал sudo apt-get update и sudo apt-get upgrade, чтобы получить самые последние версии установленного программного обеспечения.

Моя версия GCC:

gcc --version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3

Как я могу успешно установить пакеты scikit-bio для python?


person Johannes    schedule 06.10.2014    source источник
comment
Связано: stackoverflow.com/questions/16410149/   -  person Paul R    schedule 06.10.2014
comment
Пара вопросов. 1. Какую машину вы используете? Если ваша машина действительно старая, есть шанс, что на вашей машине просто нет встроенных инструкций SSE2. 2. Какой именно дистрибутив Ubuntu вы используете? Вы используете Точный?   -  person mortonjt    schedule 09.10.2014


Ответы (1)


Ранее об этой проблеме сообщал пользователь на машине i686 в scikit-bio. трекер проблем. Ошибка возникает при компиляции SSW, внешней программы на языке C, поставляемой с scikit-bio. Автор SSW рекомендовал передать -msse2 компилятору, чтобы решить проблему.

исправление было объединено в ветку разработки scikit-bio, чтобы включить этот флаг для машины i686.

Если вы устанавливаете релизную версию scikit-bio, вы можете указать этот флаг с помощью CFLAGS в командной строке:

CFLAGS=-msse2 pip install scikit-bio

or:

sudo CFLAGS=-msse2 pip install scikit-bio

Кроме того, файл setup.py scikit-bio можно изменить, чтобы включить '-msse2' в файл extra_compile_args SSW.

person jairideout    schedule 08.11.2014