Package fails to install via pip
ianglennon opened this issue · 26 comments
Type of Raspberry Pi
Pi 3B+
Linux Kernel version
Linux raspberrypi 5.10.63-v7+ #1488 SMP Thu Nov 18 16:14:44 GMT 2021 armv7l GNU/Linux
Expected behaviour
Just trying to install the package
Actual behaviour
Basically, ws2812 is failing to install with a whole bunch of warnings and errors
Brace yourself, this is a looong output
pi@raspberrypi:~ $ sudo python3 -m pip install --upgrade luma.led_matrix
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting luma.led_matrix
Downloading https://www.piwheels.org/simple/luma-led-matrix/luma.led_matrix-1.5.0-py2.py3-none-any.whl (19 kB)
Collecting luma.core>=1.14.0
Downloading https://www.piwheels.org/simple/luma-core/luma.core-2.3.1-py2.py3-none-any.whl (71 kB)
|████████████████████████████████| 71 kB 936 kB/s
Collecting ws2812
Downloading ws2812-1.0.0.tar.gz (58 kB)
|████████████████████████████████| 58 kB 913 kB/s
Preparing metadata (setup.py) ... done
Collecting rpi-ws281x
Downloading https://www.piwheels.org/simple/rpi-ws281x/rpi_ws281x-4.3.1-cp39-cp39-linux_armv7l.whl (117 kB)
|████████████████████████████████| 117 kB 1.3 MB/s
Requirement already satisfied: smbus2 in /usr/local/lib/python3.9/dist-packages (from luma.core>=1.14.0->luma.led_matrix) (0.4.1)
Requirement already satisfied: RPI.GPIO in /usr/lib/python3/dist-packages (from luma.core>=1.14.0->luma.led_matrix) (0.7.0)
Requirement already satisfied: deprecated in /usr/local/lib/python3.9/dist-packages (from luma.core>=1.14.0->luma.led_matrix) (1.2.13)
Requirement already satisfied: spidev in /usr/lib/python3/dist-packages (from luma.core>=1.14.0->luma.led_matrix) (3.5)
Requirement already satisfied: pyftdi in /usr/local/lib/python3.9/dist-packages (from luma.core>=1.14.0->luma.led_matrix) (0.53.3)
Requirement already satisfied: cbor2 in /usr/local/lib/python3.9/dist-packages (from luma.core>=1.14.0->luma.led_matrix) (5.4.2)
Requirement already satisfied: pillow>=4.0.0 in /usr/lib/python3/dist-packages (from luma.core>=1.14.0->luma.led_matrix) (8.1.2)
Requirement already satisfied: wrapt<2,>=1.10 in /usr/lib/python3/dist-packages (from deprecated->luma.core>=1.14.0->luma.led_matrix) (1.12.1)
Requirement already satisfied: pyserial>=3.0 in /usr/lib/python3/dist-packages (from pyftdi->luma.core>=1.14.0->luma.led_matrix) (3.5b0)
Requirement already satisfied: pyusb!=1.2.0,>=1.0.0 in /usr/local/lib/python3.9/dist-packages (from pyftdi->luma.core>=1.14.0->luma.led_matrix) (1.2.1)
Building wheels for collected packages: ws2812
Building wheel for ws2812 (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/setup.py'"'"'; __file__='"'"'/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-ok60wk8h
cwd: /tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/
Complete output (151 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.9
copying ws2812.py -> build/lib.linux-armv7l-3.9
running build_ext
creating build/temp.linux-armv7l-3.9
creating build/temp.linux-armv7l-3.9/lib
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ilib/ -I/usr/include/python3.9 -c lib/ws2812-RPi.c -o build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o
In file included from lib/ws2812-RPi.c:1:
lib/ws2812-RPi.h:95:1: warning: multi-line comment [-Wcomment]
95 | // | | | \ \___| |_| | / /_/ \ ___/ \___ \
| ^
In file included from lib/ws2812-RPi.c:1:
lib/ws2812-RPi.h:123:1: warning: multi-line comment [-Wcomment]
123 | // | ` \ ___/| | | | | \ ___/ \___ \ / <_\ \/ \ / / __ \| | \/\___ \
| ^
lib/ws2812-RPi.h:389:1: warning: multi-line comment [-Wcomment]
389 | // | | \_ _____/\______ \ / _____// |_ __ ___/ ____\/ ____\
| ^
lib/ws2812-RPi.h:436:1: warning: multi-line comment [-Wcomment]
436 | // | | \_/ __ \| __ \| | \/ ___\
| ^
lib/ws2812-RPi.h:456:1: warning: multi-line comment [-Wcomment]
456 | // | |/ \| \ __\ / ~ \__ \\_ __ \/ __ |\ \/ \/ /\__ \\_ __ \_/ __ \
| ^
lib/ws2812-RPi.h:470:1: warning: multi-line comment [-Wcomment]
470 | // | | / | |_> > /_/ | / __ \| | \ ___/ | |___ | \ | ` \\___ \
| ^
lib/ws2812-RPi.h:481:1: warning: multi-line comment [-Wcomment]
481 | // | \| | | | \ ___/\ \___| | \___ \
| ^
lib/ws2812-RPi.c: In function ‘reverseWord’:
lib/ws2812-RPi.c:49:16: warning: variable ‘bit’ set but not used [-Wunused-but-set-variable]
49 | unsigned char bit;
| ^~~
lib/ws2812-RPi.c: In function ‘mem_phys_to_virt’:
lib/ws2812-RPi.c:119:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
119 | for (i = 0; i < NUM_PAGES; i++) {
| ^
lib/ws2812-RPi.c: At top level:
lib/ws2812-RPi.c:147:1: warning: multi-line comment [-Wcomment]
147 | // | | \_ _____/\______ \ / _____// |_ __ ___/ ____\/ ____\
| ^
lib/ws2812-RPi.c:292:1: warning: multi-line comment [-Wcomment]
292 | // | | \_/ __ \| __ \| | \/ ___\
| ^
lib/ws2812-RPi.c:471:1: warning: multi-line comment [-Wcomment]
471 | // | |/ \| \ __\ / ~ \__ \\_ __ \/ __ |\ \/ \/ /\__ \\_ __ \_/ __ \
| ^
lib/ws2812-RPi.c: In function ‘initHardware’:
lib/ws2812-RPi.c:552:56: warning: comparison of integer expressions of different signedness: ‘__off_t’ {aka ‘long int’} and ‘long unsigned int’ [-Wsign-compare]
552 | if (lseek(fd, (unsigned long)virtbase >> 9, SEEK_SET) != (unsigned long)virtbase >> 9) {
| ^~
lib/ws2812-RPi.c:557:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
557 | for (i = 0; i < NUM_PAGES; i++) {
| ^
lib/ws2812-RPi.c:569:18: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]
569 | if ((pfn >> 55)&0xfbf != 0x10c) { // pagemap bits: https://www.kernel.org/doc/Documentation/vm/pagemap.txt
| ^
lib/ws2812-RPi.c: At top level:
lib/ws2812-RPi.c:745:1: warning: multi-line comment [-Wcomment]
745 | // | | / | |_> > /_/ | / __ \| | \ ___/ | |___ | \ | ` \\___ \
| ^
lib/ws2812-RPi.c: In function ‘show’:
lib/ws2812-RPi.c:764:12: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
764 | for(i=0; i<numLEDs; i++) {
| ^
lib/ws2812-RPi.c:801:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
801 | for(i = 0; i < (cbp->length / 4); i++) {
| ^
lib/ws2812-RPi.c:829:1: warning: "/*" within comment [-Wcomment]
829 | /**/
|
lib/ws2812-RPi.c:762:10: warning: unused variable ‘color’ [-Wunused-variable]
762 | Color_t color;
| ^~~~~
lib/ws2812-RPi.c:758:15: warning: unused variable ‘PWMWaveformBitPos’ [-Wunused-variable]
758 | unsigned int PWMWaveformBitPos = 0;
| ^~~~~~~~~~~~~~~~~
lib/ws2812-RPi.c:757:15: warning: unused variable ‘LEDBuffeWordPos’ [-Wunused-variable]
757 | unsigned int LEDBuffeWordPos = 0;
| ^~~~~~~~~~~~~~~
lib/ws2812-RPi.c: At top level:
lib/ws2812-RPi.c:839:1: warning: multi-line comment [-Wcomment]
839 | // | \| | | | \ ___/\ \___| | \___ \
| ^
lib/ws2812-RPi.c: In function ‘theaterChaseRainbow’:
lib/ws2812-RPi.c:921:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
921 | for (i=0; i < numPixels(); i=i+3) {
| ^
lib/ws2812-RPi.c:928:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
928 | for (i=0; i < numPixels(); i=i+3) {
| ^
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ilib/ -I/usr/include/python3.9 -c ws2812-RPi_wrap.c -o build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o
In file included from ws2812-RPi_wrap.c:2967:
lib/ws2812-RPi.h:95:1: warning: multi-line comment [-Wcomment]
95 | // | | | \ \___| |_| | / /_/ \ ___/ \___ \
| ^
In file included from ws2812-RPi_wrap.c:2967:
lib/ws2812-RPi.h:123:1: warning: multi-line comment [-Wcomment]
123 | // | ` \ ___/| | | | | \ ___/ \___ \ / <_\ \/ \ / / __ \| | \/\___ \
| ^
lib/ws2812-RPi.h:389:1: warning: multi-line comment [-Wcomment]
389 | // | | \_ _____/\______ \ / _____// |_ __ ___/ ____\/ ____\
| ^
lib/ws2812-RPi.h:436:1: warning: multi-line comment [-Wcomment]
436 | // | | \_/ __ \| __ \| | \/ ___\
| ^
lib/ws2812-RPi.h:456:1: warning: multi-line comment [-Wcomment]
456 | // | |/ \| \ __\ / ~ \__ \\_ __ \/ __ |\ \/ \/ /\__ \\_ __ \_/ __ \
| ^
lib/ws2812-RPi.h:470:1: warning: multi-line comment [-Wcomment]
470 | // | | / | |_> > /_/ | / __ \| | \ ___/ | |___ | \ | ` \\___ \
| ^
lib/ws2812-RPi.h:481:1: warning: multi-line comment [-Wcomment]
481 | // | \| | | | \ ___/\ \___| | \___ \
| ^
ws2812-RPi_wrap.c: In function ‘PyInit__ws2812’:
ws2812-RPi_wrap.c:4722:21: warning: variable ‘md’ set but not used [-Wunused-but-set-variable]
4722 | PyObject *m, *d, *md;
| ^~
In file included from ws2812-RPi_wrap.c:2967:
At top level:
lib/ws2812-RPi.h:359:31: warning: ‘ctl’ defined but not used [-Wunused-variable]
359 | static struct control_data_s *ctl;
| ^~~
lib/ws2812-RPi.h:341:31: warning: ‘gpio_reg’ defined but not used [-Wunused-variable]
341 | static volatile unsigned int *gpio_reg; // GPIO pin controller register set
| ^~~~~~~~
lib/ws2812-RPi.h:340:31: warning: ‘dma_reg’ defined but not used [-Wunused-variable]
340 | static volatile unsigned int *dma_reg; // DMA controller register set
| ^~~~~~~
lib/ws2812-RPi.h:339:31: warning: ‘clk_reg’ defined but not used [-Wunused-variable]
339 | static volatile unsigned int *clk_reg; // PWM clock manager register set
| ^~~~~~~
lib/ws2812-RPi.h:338:31: warning: ‘pwm_reg’ defined but not used [-Wunused-variable]
338 | static volatile unsigned int *pwm_reg; // PWM controller register set
| ^~~~~~~
lib/ws2812-RPi.h:336:17: warning: ‘virtbase’ defined but not used [-Wunused-variable]
336 | static uint8_t *virtbase; // Pointer to some virtual memory that will be allocated
| ^~~~~~~~
arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o -Llib/ -L/usr/lib -o build/lib.linux-armv7l-3.9/_ws2812.cpython-39-arm-linux-gnueabihf.so
/usr/bin/ld: build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:415: multiple definition of `PWMWaveform'; build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:415: first defined here
/usr/bin/ld: build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:410: multiple definition of `LEDBuffer'; build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:410: first defined here
/usr/bin/ld: build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:407: multiple definition of `numLEDs'; build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:407: first defined here
/usr/bin/ld: build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:398: multiple definition of `brightness'; build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:398: first defined here
/usr/bin/ld: build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:335: multiple definition of `page_map'; build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:335: first defined here
collect2: error: ld returned 1 exit status
error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
----------------------------------------
ERROR: Failed building wheel for ws2812
Running setup.py clean for ws2812
Failed to build ws2812
Installing collected packages: ws2812, rpi-ws281x, luma.core, luma.led-matrix
Running setup.py install for ws2812 ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/setup.py'"'"'; __file__='"'"'/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-h416vp5n/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/ws2812
cwd: /tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/
Complete output (153 lines):
running install
/usr/local/lib/python3.9/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
warnings.warn(
running build
running build_py
creating build
creating build/lib.linux-armv7l-3.9
copying ws2812.py -> build/lib.linux-armv7l-3.9
running build_ext
creating build/temp.linux-armv7l-3.9
creating build/temp.linux-armv7l-3.9/lib
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ilib/ -I/usr/include/python3.9 -c lib/ws2812-RPi.c -o build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o
In file included from lib/ws2812-RPi.c:1:
lib/ws2812-RPi.h:95:1: warning: multi-line comment [-Wcomment]
95 | // | | | \ \___| |_| | / /_/ \ ___/ \___ \
| ^
In file included from lib/ws2812-RPi.c:1:
lib/ws2812-RPi.h:123:1: warning: multi-line comment [-Wcomment]
123 | // | ` \ ___/| | | | | \ ___/ \___ \ / <_\ \/ \ / / __ \| | \/\___ \
| ^
lib/ws2812-RPi.h:389:1: warning: multi-line comment [-Wcomment]
389 | // | | \_ _____/\______ \ / _____// |_ __ ___/ ____\/ ____\
| ^
lib/ws2812-RPi.h:436:1: warning: multi-line comment [-Wcomment]
436 | // | | \_/ __ \| __ \| | \/ ___\
| ^
lib/ws2812-RPi.h:456:1: warning: multi-line comment [-Wcomment]
456 | // | |/ \| \ __\ / ~ \__ \\_ __ \/ __ |\ \/ \/ /\__ \\_ __ \_/ __ \
| ^
lib/ws2812-RPi.h:470:1: warning: multi-line comment [-Wcomment]
470 | // | | / | |_> > /_/ | / __ \| | \ ___/ | |___ | \ | ` \\___ \
| ^
lib/ws2812-RPi.h:481:1: warning: multi-line comment [-Wcomment]
481 | // | \| | | | \ ___/\ \___| | \___ \
| ^
lib/ws2812-RPi.c: In function ‘reverseWord’:
lib/ws2812-RPi.c:49:16: warning: variable ‘bit’ set but not used [-Wunused-but-set-variable]
49 | unsigned char bit;
| ^~~
lib/ws2812-RPi.c: In function ‘mem_phys_to_virt’:
lib/ws2812-RPi.c:119:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
119 | for (i = 0; i < NUM_PAGES; i++) {
| ^
lib/ws2812-RPi.c: At top level:
lib/ws2812-RPi.c:147:1: warning: multi-line comment [-Wcomment]
147 | // | | \_ _____/\______ \ / _____// |_ __ ___/ ____\/ ____\
| ^
lib/ws2812-RPi.c:292:1: warning: multi-line comment [-Wcomment]
292 | // | | \_/ __ \| __ \| | \/ ___\
| ^
lib/ws2812-RPi.c:471:1: warning: multi-line comment [-Wcomment]
471 | // | |/ \| \ __\ / ~ \__ \\_ __ \/ __ |\ \/ \/ /\__ \\_ __ \_/ __ \
| ^
lib/ws2812-RPi.c: In function ‘initHardware’:
lib/ws2812-RPi.c:552:56: warning: comparison of integer expressions of different signedness: ‘__off_t’ {aka ‘long int’} and ‘long unsigned int’ [-Wsign-compare]
552 | if (lseek(fd, (unsigned long)virtbase >> 9, SEEK_SET) != (unsigned long)virtbase >> 9) {
| ^~
lib/ws2812-RPi.c:557:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
557 | for (i = 0; i < NUM_PAGES; i++) {
| ^
lib/ws2812-RPi.c:569:18: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses]
569 | if ((pfn >> 55)&0xfbf != 0x10c) { // pagemap bits: https://www.kernel.org/doc/Documentation/vm/pagemap.txt
| ^
lib/ws2812-RPi.c: At top level:
lib/ws2812-RPi.c:745:1: warning: multi-line comment [-Wcomment]
745 | // | | / | |_> > /_/ | / __ \| | \ ___/ | |___ | \ | ` \\___ \
| ^
lib/ws2812-RPi.c: In function ‘show’:
lib/ws2812-RPi.c:764:12: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
764 | for(i=0; i<numLEDs; i++) {
| ^
lib/ws2812-RPi.c:801:15: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
801 | for(i = 0; i < (cbp->length / 4); i++) {
| ^
lib/ws2812-RPi.c:829:1: warning: "/*" within comment [-Wcomment]
829 | /**/
|
lib/ws2812-RPi.c:762:10: warning: unused variable ‘color’ [-Wunused-variable]
762 | Color_t color;
| ^~~~~
lib/ws2812-RPi.c:758:15: warning: unused variable ‘PWMWaveformBitPos’ [-Wunused-variable]
758 | unsigned int PWMWaveformBitPos = 0;
| ^~~~~~~~~~~~~~~~~
lib/ws2812-RPi.c:757:15: warning: unused variable ‘LEDBuffeWordPos’ [-Wunused-variable]
757 | unsigned int LEDBuffeWordPos = 0;
| ^~~~~~~~~~~~~~~
lib/ws2812-RPi.c: At top level:
lib/ws2812-RPi.c:839:1: warning: multi-line comment [-Wcomment]
839 | // | \| | | | \ ___/\ \___| | \___ \
| ^
lib/ws2812-RPi.c: In function ‘theaterChaseRainbow’:
lib/ws2812-RPi.c:921:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
921 | for (i=0; i < numPixels(); i=i+3) {
| ^
lib/ws2812-RPi.c:928:16: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare]
928 | for (i=0; i < numPixels(); i=i+3) {
| ^
arm-linux-gnueabihf-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -ffile-prefix-map=/python3.9-3.9.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -Ilib/ -I/usr/include/python3.9 -c ws2812-RPi_wrap.c -o build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o
In file included from ws2812-RPi_wrap.c:2967:
lib/ws2812-RPi.h:95:1: warning: multi-line comment [-Wcomment]
95 | // | | | \ \___| |_| | / /_/ \ ___/ \___ \
| ^
In file included from ws2812-RPi_wrap.c:2967:
lib/ws2812-RPi.h:123:1: warning: multi-line comment [-Wcomment]
123 | // | ` \ ___/| | | | | \ ___/ \___ \ / <_\ \/ \ / / __ \| | \/\___ \
| ^
lib/ws2812-RPi.h:389:1: warning: multi-line comment [-Wcomment]
389 | // | | \_ _____/\______ \ / _____// |_ __ ___/ ____\/ ____\
| ^
lib/ws2812-RPi.h:436:1: warning: multi-line comment [-Wcomment]
436 | // | | \_/ __ \| __ \| | \/ ___\
| ^
lib/ws2812-RPi.h:456:1: warning: multi-line comment [-Wcomment]
456 | // | |/ \| \ __\ / ~ \__ \\_ __ \/ __ |\ \/ \/ /\__ \\_ __ \_/ __ \
| ^
lib/ws2812-RPi.h:470:1: warning: multi-line comment [-Wcomment]
470 | // | | / | |_> > /_/ | / __ \| | \ ___/ | |___ | \ | ` \\___ \
| ^
lib/ws2812-RPi.h:481:1: warning: multi-line comment [-Wcomment]
481 | // | \| | | | \ ___/\ \___| | \___ \
| ^
ws2812-RPi_wrap.c: In function ‘PyInit__ws2812’:
ws2812-RPi_wrap.c:4722:21: warning: variable ‘md’ set but not used [-Wunused-but-set-variable]
4722 | PyObject *m, *d, *md;
| ^~
In file included from ws2812-RPi_wrap.c:2967:
At top level:
lib/ws2812-RPi.h:359:31: warning: ‘ctl’ defined but not used [-Wunused-variable]
359 | static struct control_data_s *ctl;
| ^~~
lib/ws2812-RPi.h:341:31: warning: ‘gpio_reg’ defined but not used [-Wunused-variable]
341 | static volatile unsigned int *gpio_reg; // GPIO pin controller register set
| ^~~~~~~~
lib/ws2812-RPi.h:340:31: warning: ‘dma_reg’ defined but not used [-Wunused-variable]
340 | static volatile unsigned int *dma_reg; // DMA controller register set
| ^~~~~~~
lib/ws2812-RPi.h:339:31: warning: ‘clk_reg’ defined but not used [-Wunused-variable]
339 | static volatile unsigned int *clk_reg; // PWM clock manager register set
| ^~~~~~~
lib/ws2812-RPi.h:338:31: warning: ‘pwm_reg’ defined but not used [-Wunused-variable]
338 | static volatile unsigned int *pwm_reg; // PWM controller register set
| ^~~~~~~
lib/ws2812-RPi.h:336:17: warning: ‘virtbase’ defined but not used [-Wunused-variable]
336 | static uint8_t *virtbase; // Pointer to some virtual memory that will be allocated
| ^~~~~~~~
arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o -Llib/ -L/usr/lib -o build/lib.linux-armv7l-3.9/_ws2812.cpython-39-arm-linux-gnueabihf.so
/usr/bin/ld: build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:415: multiple definition of `PWMWaveform'; build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:415: first defined here
/usr/bin/ld: build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:410: multiple definition of `LEDBuffer'; build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:410: first defined here
/usr/bin/ld: build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:407: multiple definition of `numLEDs'; build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:407: first defined here
/usr/bin/ld: build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:398: multiple definition of `brightness'; build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:398: first defined here
/usr/bin/ld: build/temp.linux-armv7l-3.9/ws2812-RPi_wrap.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:335: multiple definition of `page_map'; build/temp.linux-armv7l-3.9/lib/ws2812-RPi.o:/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/lib/ws2812-RPi.h:335: first defined here
collect2: error: ld returned 1 exit status
error: command '/usr/bin/arm-linux-gnueabihf-gcc' failed with exit code 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/setup.py'"'"'; __file__='"'"'/tmp/pip-install-r3ys8oa0/ws2812_25925b960daf458295abdce83ced09f9/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-h416vp5n/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/ws2812 Check the logs for full command output.
duplicate of #260
So, as I was saying in #271 before I got all rude and unnecessarily angry...
I have followed the instructions in #260 and they did not work either. Here's the output from the last thing I tried
pi@raspberrypi:~ $ git clone https://github.com/rm-hull/luma.led_matrix.git
Cloning into 'luma.led_matrix'...
remote: Enumerating objects: 2202, done.
remote: Counting objects: 100% (37/37), done.
remote: Compressing objects: 100% (36/36), done.
remote: Total 2202 (delta 10), reused 4 (delta 1), pack-reused 2165
Receiving objects: 100% (2202/2202), 11.34 MiB | 2.90 MiB/s, done.
Resolving deltas: 100% (1286/1286), done.
pi@raspberrypi:~ $ cd luma.led_matrix/
pi@raspberrypi:~/luma.led_matrix $ ls
CHANGES.rst CONTRIBUTING.rst doc examples LICENSE.rst luma MANIFEST.in pyproject.toml pytest.ini README.rst setup.cfg setup.py tests tox.ini
pi@raspberrypi:~/luma.led_matrix $ vi setup.cfg
pi@raspberrypi:~/luma.led_matrix $ sudo pip3 install -e .
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Obtaining file:///home/pi/luma.led_matrix
Installing build dependencies ... done
Checking if build backend supports build_editable ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting luma.core>=2.2.0
Downloading https://www.piwheels.org/simple/luma-core/luma.core-2.3.1-py2.py3-none-any.whl (71 kB)
|████████████████████████████████| 71 kB 755 kB/s
Collecting rpi-ws281x
Downloading https://www.piwheels.org/simple/rpi-ws281x/rpi_ws281x-4.3.1-cp39-cp39-linux_armv7l.whl (117 kB)
|████████████████████████████████| 117 kB 1.9 MB/s
Requirement already satisfied: cbor2 in /usr/local/lib/python3.9/dist-packages (from luma.core>=2.2.0->luma.led-matrix==1.5.0) (5.4.2)
Requirement already satisfied: smbus2 in /usr/local/lib/python3.9/dist-packages (from luma.core>=2.2.0->luma.led-matrix==1.5.0) (0.4.1)
Requirement already satisfied: pillow>=4.0.0 in /usr/lib/python3/dist-packages (from luma.core>=2.2.0->luma.led-matrix==1.5.0) (8.1.2)
Requirement already satisfied: RPI.GPIO in /usr/lib/python3/dist-packages (from luma.core>=2.2.0->luma.led-matrix==1.5.0) (0.7.0)
Requirement already satisfied: pyftdi in /usr/local/lib/python3.9/dist-packages (from luma.core>=2.2.0->luma.led-matrix==1.5.0) (0.53.3)
Requirement already satisfied: deprecated in /usr/local/lib/python3.9/dist-packages (from luma.core>=2.2.0->luma.led-matrix==1.5.0) (1.2.13)
Requirement already satisfied: spidev in /usr/lib/python3/dist-packages (from luma.core>=2.2.0->luma.led-matrix==1.5.0) (3.5)
Requirement already satisfied: wrapt<2,>=1.10 in /usr/lib/python3/dist-packages (from deprecated->luma.core>=2.2.0->luma.led-matrix==1.5.0) (1.12.1)
Requirement already satisfied: pyserial>=3.0 in /usr/lib/python3/dist-packages (from pyftdi->luma.core>=2.2.0->luma.led-matrix==1.5.0) (3.5b0)
Requirement already satisfied: pyusb!=1.2.0,>=1.0.0 in /usr/local/lib/python3.9/dist-packages (from pyftdi->luma.core>=2.2.0->luma.led-matrix==1.5.0) (1.2.1)
Installing collected packages: rpi-ws281x, luma.core, luma.led-matrix
Running setup.py develop for luma.led-matrix
Successfully installed luma.core-2.3.1 luma.led-matrix rpi-ws281x-4.3.1
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
pi@raspberrypi:~/luma.led_matrix $ cd examples/
pi@raspberrypi:~/luma.led_matrix/examples $ ./sevensegment_demo.py
Traceback (most recent call last):
File "./sevensegment_demo.py", line 13, in <module>
from luma.led_matrix.device import max7219
ImportError: No module named luma.led_matrix.device
Oh, I see I can't re-open this ticket. I'm guessing I could only re-open #269 because I closed it. Can you re-open this one please?
That was the Pi Zero, I'm not interested in pursuing that at all. This is a different device, a Pi 3 B+, with a different problem. The Pi Zero is now redployed doing something else so I won't be reattaching my device to it.
So, please let's just focus on this ticket.
pi@raspberrypi:~/luma.led_matrix/examples $ ./sevensegment_demo.py
Please run it with python3 sevensegment_demo.py
instead and make sure that this python3
your using has luma.led_matrix installed by checking it's listed in python3 -m pip list
.
I did try the example first, it gave the same error. python3 -m pip list | grep luma
only shows luma.core
installed
pi@raspberrypi:~/luma.led_matrix $ python3 -m pip list | grep luma
luma.core 2.3.1
This is despite the message earier
Requirement already satisfied: pyusb!=1.2.0,>=1.0.0 in /usr/local/lib/python3.9/dist-packages (from pyftdi->luma.core>=2.2.0->luma.led-matrix==1.5.0) (1.2.1)
Installing collected packages: rpi-ws281x, luma.core, luma.led-matrix
Running setup.py develop for luma.led-matrix
Successfully installed luma.core-2.3.1 luma.led-matrix rpi-ws281x-4.3.1
Please run it with python3 sevensegment_demo.py instead an
And it's actually even in the instructions: https://github.com/rm-hull/luma.examples#running-the-examples
This is despite the message earier
Ok, re-install it using python3 -m pip install -e .
? It's probably the whole sudo
thing that the docs instruct you to use..
Thanks for re-opening this, by the way. I'm sat here with the 2 x 7 segment displays attached to the Pi and glowing, hoping that I can get this working so I can get some actual control over it
Python is notorious for these kind of installation issues. I would suggest trying to setup virtualenvwrapper
so you can have much more control of your local python installation(s) and not touch the system. But for beginners I wouldn't suggest this.
Oh. Well that's disappointing, I was really hoping you would be able to help get this going without virtualenvwrapper. I was attracted to this because I'm not confident enough to get that going and it wasn't referenced in the documentation so I thought it wasn't required.
It's not needed, sounds like you're almost there without using virtualenvwrapper.
like I said:
Ok, re-install it using python3 -m pip install -e .? It's probably the whole sudo thing that the docs instruct you to use..
Oh, sorry, I missed that message. I did try that earlier but I've tried it again, below is the error
pi@raspberrypi:~/luma.led_matrix $ python3 -m pip install -e .
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Obtaining file:///home/pi/luma.led_matrix
Installing build dependencies ... done
Checking if build backend supports build_editable ... done
Getting requirements to build wheel ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 /usr/local/lib/python3.9/dist-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpieeg1wvo
cwd: /home/pi/luma.led_matrix
Complete output (48 lines):
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/setuptools/config.py", line 419, in _parse_attr
return getattr(StaticModule(module_name), attr_name)
File "/usr/local/lib/python3.9/dist-packages/setuptools/config.py", line 27, in __init__
with open(spec.origin) as strm:
AttributeError: 'NoneType' object has no attribute 'origin'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
main()
File "/usr/local/lib/python3.9/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/usr/local/lib/python3.9/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 130, in get_requires_for_build_wheel
return hook(config_settings)
File "/usr/local/lib/python3.9/dist-packages/setuptools/build_meta.py", line 162, in get_requires_for_build_wheel
return self._get_build_requires(
File "/usr/local/lib/python3.9/dist-packages/setuptools/build_meta.py", line 143, in _get_build_requires
self.run_setup()
File "/usr/local/lib/python3.9/dist-packages/setuptools/build_meta.py", line 158, in run_setup
exec(compile(code, __file__, 'exec'), locals())
File "setup.py", line 7, in <module>
setuptools.setup()
File "/usr/local/lib/python3.9/dist-packages/setuptools/__init__.py", line 155, in setup
return distutils.core.setup(**attrs)
File "/usr/local/lib/python3.9/dist-packages/setuptools/_distutils/core.py", line 122, in setup
dist.parse_config_files()
File "/usr/local/lib/python3.9/dist-packages/setuptools/dist.py", line 804, in parse_config_files
parse_configuration(
File "/usr/local/lib/python3.9/dist-packages/setuptools/config.py", line 158, in parse_configuration
meta.parse()
File "/usr/local/lib/python3.9/dist-packages/setuptools/config.py", line 498, in parse
section_parser_method(section_options)
File "/usr/local/lib/python3.9/dist-packages/setuptools/config.py", line 469, in parse_section
self[name] = value
File "/usr/local/lib/python3.9/dist-packages/setuptools/config.py", line 222, in __setitem__
value = parser(value)
File "/usr/local/lib/python3.9/dist-packages/setuptools/config.py", line 599, in _parse_version
version = self._parse_attr(value, self.package_dir)
File "/usr/local/lib/python3.9/dist-packages/setuptools/config.py", line 422, in _parse_attr
module = importlib.import_module(module_name)
File "/usr/lib/python3.9/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
File "<frozen importlib._bootstrap>", line 984, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'luma.led_matrix'
----------------------------------------
WARNING: Discarding file:///home/pi/luma.led_matrix. Command errored out with exit status 1: /usr/bin/python3 /usr/local/lib/python3.9/dist-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpieeg1wvo Check the logs for full command output.
ERROR: Command errored out with exit status 1: /usr/bin/python3 /usr/local/lib/python3.9/dist-packages/pip/_vendor/pep517/in_process/_in_process.py get_requires_for_build_wheel /tmp/tmpieeg1wvo Check the logs for full command output.
Traceback (most recent call last):
File "/usr/local/lib/python3.9/dist-packages/setuptools/config.py", line 419, in _parse_attr
return getattr(StaticModule(module_name), attr_name)
File "/usr/local/lib/python3.9/dist-packages/setuptools/config.py", line 27, in __init__
with open(spec.origin) as strm:
AttributeError: 'NoneType' object has no attribute 'origin'
try updating setuptools? v60 something is the latest.
setuptools is already at 60.2.0
pi@raspberrypi:~/luma.led_matrix $ python3 -m pip install --upgrade setuptools
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Requirement already satisfied: setuptools in /usr/local/lib/python3.9/dist-packages (60.2.0)
pi@raspberrypi:~/luma.led_matrix $ python3 -m pip list | grep setuptools
setuptools 60.2.0
I stumbeled into this thread googling for a solution.
I'm having issues with the ws2812 when running
sudo python3 -m pip install --upgrade luma.led_matrix
Pi3 and Pi4 have same issue when using Bullseye. On Buster everything works as expeced.
ERROR: Failed building wheel for ws2812
Running setup.py clean for ws2812
Failed to build ws2812
Installing collected packages: ws2812, luma.led-matrix
Running setup.py install for ws2812 ... error
ERROR: Command errored out with exit status 1:
Hey, I'm 12 this is my first time on GitHub. I am having these same errors.
- I edited setup.cfg and removed the ws2812 line per issue #260
- Updated pip and setuptools
rgbpi@rgbpi:~/luma.led_matrix-master $ python3 -m pip list
Package Version
------------- ---------
cbor2 5.4.2
certifi 2020.6.20
chardet 4.0.0
colorzero 1.1
Deprecated 1.2.13
distro 1.5.0
gpiozero 1.6.2
gyp 0.1
idna 2.10
luma.core 2.3.1
Pillow 8.4.0
pip 21.3.1
pyftdi 0.53.3
pyserial 3.5
python-apt 2.2.1
pyusb 1.2.1
requests 2.25.1
RPi.GPIO 0.7.0
rpi-ws281x 4.3.1
setuptools 60.5.0
six 1.16.0
smbus2 0.4.1
spidev 3.5
ssh-import-id 5.10
ufw 0.36
urllib3 1.26.5
wheel 0.34.2
wrapt 1.13.3
```
`
Please help :) I promise to be very nice and grateful to the devs. ;)
You both need to raise your own issues, I'm about to close this as I switched to Arduino
ianglennon I got it working as descripbed in :
#260 (comment)
I also used the MD_MAX72xx libarary on Arduino, but I have changed to Luma as it is simple to do complex stuff on the Raspberry Pi.
v1.6.1 has been released which no longer relies on ws2812
You both need to raise your own issues, I'm about to close this as I switched to Arduino
my issue is the same one you are having.. i know i'm pretty new to github, but i'm pretty sure duplicating issues is frowned upon, just like your abrasive attitude. Jeex I hope everyone in the FOSS community isn't like you!
@rm-hull thank you for your work!!! So, should I just clone the repo and try installing again with sudo pip3 install -e .
?
THANK YOU for taking your time with me, i am VERY new at this
my issue is the same one you are having..
Agreed. No worries @Fishhooks1945
So, should I just clone the repo and try installing again with sudo pip3 install -e . ?
You should be able to just use sudo pip3 install luma.led_matrix
since we released a new version today.
You should be able to just use
sudo pip3 install luma.led_matrix
since we released a new version today.
Wow that worked! My LED array isn't turning on but that is probably my fault somewhere... THANK YOU @thijstriemstra , @rm-hull and the rest of the devs!
You should be able to just use
sudo pip3 install luma.led_matrix
since we released a new version today.Wow that worked! My LED array isn't turning on but that is probably my fault somewhere... THANK YOU @thijstriemstra , @rm-hull and the rest of the devs!
Did you enable the SPI interface and allow the pi user to use it ?
sudo raspi-config nonint do_spi 0
sudo usermod -a -G spi,gpio pi
yeah i did all that, but I first tried matrix_demo.py but that isn't for my ws2812 "unicorn" 8x8 array. When I ran neopixel_demo.py it worked great, because i already had GPIO18 hooked up to my matrix :)
I've been having fun on this all day, I made a smiley face with draw.point function.
Thank you to the devs! My dad pays me in crypto when I do my chores, I'll give you lunch money for helping me, just send me an address.