Установка подушки на Raspberry Pi 1B завершается неудачно "g cc: фатальная ошибка: прерван сигнал программы cc1" - PullRequest
0 голосов
/ 02 февраля 2020

Я пытаюсь установить подушку 6.2.1 на Raspberry Pi модель 1B под управлением Arch Linux ARM (в худшем случае я мог бы купить более новую Raspberry Pi, но смысл этого проекта заключался в том, чтобы переработать старый Pi).

Я попытался установить стандартным способом

pip install pillow==6.2.1

, но компилятору не хватило памяти, поэтому я запустил

pip --no-cache-dir install pillow==6.2.1

, которая вызвала другую ошибку, приведенную ниже.

Я не уверен, как интерпретировать эту ошибку

gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -fno-semantic-interposition -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -fPIC -DHAVE_LIBJPEG -DHAVE_LIBZ -DPILLOW_VERSION="6.2.1" -I/tmp/pip-install-yqwi0r_s/pillow/src/libImaging -I/tmp/pip-install-yqwi0r_s/pillow -I/usr/include -I/usr/local/include -I/usr/include/python3.8 -c src/_imaging.c -o build/temp.linux-armv6l-3.8/src/_imaging.o
src/_imaging.c: In function '_set_blocks_max':
src/_imaging.c:3697:26: warning: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Wsign-compare]
 3697 |     else if ( blocks_max > SIZE_MAX/sizeof(ImagingDefaultArena.blocks_pool[0])) {
      |                          ^
{standard input}: Assembler messages:
{standard input}:21669: Warning: end of file not at end of a line; newline inserted
{standard input}:21792: Error: found '
', expected: ')'
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
gcc: fatal error: Killed signal terminated program cc1
compilation terminated.
building 'PIL._imagingtk' extension
creating build/temp.linux-armv6l-3.8/src/Tk
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -fno-semantic-interposition -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -fPIC -Isrc/Tk -I/tmp/pip-install-yqwi0r_s/pillow/src/libImaging -I/tmp/pip-install-yqwi0r_s/pillow -I/usr/include -I/usr/local/include -I/usr/include/python3.8 -c src/_imagingtk.c -o build/temp.linux-armv6l-3.8/src/_imagingtk.o
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -fno-semantic-interposition -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -fPIC -Isrc/Tk -I/tmp/pip-install-yqwi0r_s/pillow/src/libImaging -I/tmp/pip-install-yqwi0r_s/pillow -I/usr/include -I/usr/local/include -I/usr/include/python3.8 -c src/Tk/tkImaging.c -o build/temp.linux-armv6l-3.8/src/Tk/tkImaging.o
gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fno-semantic-interposition -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now build/temp.linux-armv6l-3.8/src/_imagingtk.o build/temp.linux-armv6l-3.8/src/Tk/tkImaging.o -L/tmp/pip-install-yqwi0r_s/pillow -L/usr/lib -L/opt/vc/lib -L/usr/lib/openmpi -L/usr/lib/libfakeroot -L/usr/local/lib -L/usr/lib -o build/lib.linux-armv6l-3.8/PIL/_imagingtk.cpython-38-arm-linux-gnueabihf.so
building 'PIL._imagingmath' extension
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -fno-semantic-interposition -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -fPIC -I/tmp/pip-install-yqwi0r_s/pillow/src/libImaging -I/tmp/pip-install-yqwi0r_s/pillow -I/usr/include -I/usr/local/include -I/usr/include/python3.8 -c src/_imagingmath.c -o build/temp.linux-armv6l-3.8/src/_imagingmath.o
gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fno-semantic-interposition -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now build/temp.linux-armv6l-3.8/src/_imagingmath.o -L/tmp/pip-install-yqwi0r_s/pillow -L/usr/lib -L/opt/vc/lib -L/usr/lib/openmpi -L/usr/lib/libfakeroot -L/usr/local/lib -L/usr/lib -o build/lib.linux-armv6l-3.8/PIL/_imagingmath.cpython-38-arm-linux-gnueabihf.so
building 'PIL._imagingmorph' extension
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -fno-semantic-interposition -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -march=armv6 -mfloat-abi=hard -mfpu=vfp -O3 -pipe -fstack-protector-strong -fno-plt -fPIC -I/tmp/pip-install-yqwi0r_s/pillow/src/libImaging -I/tmp/pip-install-yqwi0r_s/pillow -I/usr/include -I/usr/local/include -I/usr/include/python3.8 -c src/_imagingmorph.c -o build/temp.linux-armv6l-3.8/src/_imagingmorph.o
gcc -pthread -shared -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -fno-semantic-interposition -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now build/temp.linux-armv6l-3.8/src/_imagingmorph.o -L/tmp/pip-install-yqwi0r_s/pillow -L/usr/lib -L/opt/vc/lib -L/usr/lib/openmpi -L/usr/lib/libfakeroot -L/usr/local/lib -L/usr/lib -o build/lib.linux-armv6l-3.8/PIL/_imagingmorph.cpython-38-arm-linux-gnueabihf.so
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-yqwi0r_s/pillow/setup.py'"'"'; __file__='"'"'/tmp/pip-install-yqwi0r_s/pillow/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-i24ol927/install-record.txt --single-version-externally-managed --compile Check the logs for full command output.

Сообщение ассемблера заставляет меня думать, что оно может быть что-то делать, когда у Пи заканчиваются ресурсы. Но вместо этого это просто отсутствие некоторых зависимостей или есть ли способ обойти это?

1 Ответ

0 голосов
/ 02 февраля 2020

Raspberry Pi 1B имеет только 512 МБ оперативной памяти. Чтобы обойти это, я подключил внешний жесткий диск и выделил 2 ГБ пространства под SWAP. Процесс установки был очень медленным, но в конце он завершился с использованием

pip install pillow==6.2.1

, что также позволило установить другие программы, которые в противном случае не смогли бы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...