[Pkg-raspi-maintainers] Bug#970726: rpi.gpio: FTBFS in sid (gcc-10)

Gianfranco Costamagna locutusofborg at debian.org
Tue Sep 22 17:09:14 BST 2020


control: tags -1 patch


This works...

--- rpi.gpio-0.7.0/debian/rules	2020-01-16 17:20:40.000000000 +0100
+++ rpi.gpio-0.7.0/debian/rules	2020-09-22 18:03:46.000000000 +0200
@@ -7,7 +7,7 @@
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
-DEB_CFLAGS_MAINT_APPEND += $(shell getconf LFS_CFLAGS)
+DEB_CFLAGS_MAINT_APPEND += $(shell getconf LFS_CFLAGS) -fcommon
 DEB_LDFLAGS_MAINT_APPEND += $(shell getconf LFS_LDFLAGS)
 DEB_LDFLAGS_MAINT_APPEND += -Wl,--as-needed
 export DEB_CFLAGS_MAINT_APPEND DEB_LDFLAGS_MAINT_APPEND


G.

On Tue, 22 Sep 2020 17:58:36 +0200 Gianfranco Costamagna <locutusofborg at debian.org> wrote:
> Source: rpi.gpio
> Version: 0.7.0-0.1
> Severity: serious
> 
> Hello, looks like gcc-10 broke the rpi-gpio build (obviously only on arm*).
> 
> 
> people from meta-raspberrypi workarounded with the fcommon flag...
> # ignore issues with -fno-common from gcc-10 until it's fixed in upstream:
> # https://sourceforge.net/p/raspberry-gpio-python/tickets/187/
> CFLAGS += "-fcommon"
> 
> 
> aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c source/soft_pwm.c -o build/temp.linux-arm64-3.8/source/soft_pwm.o
> aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c source/py_pwm.c -o build/temp.linux-arm64-3.8/source/py_pwm.o
> aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c source/common.c -o build/temp.linux-arm64-3.8/source/common.o
> aarch64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -I/usr/include/python3.8 -c source/constants.c -o build/temp.linux-arm64-3.8/source/constants.o
> aarch64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-arm64-3.8/source/py_gpio.o build/temp.linux-arm64-3.8/source/c_gpio.o build/temp.linux-arm64-3.8/source/cpuinfo.o build/temp.linux-arm64-3.8/source/event_gpio.o build/temp.linux-arm64-3.8/source/soft_pwm.o build/temp.linux-arm64-3.8/source/py_pwm.o build/temp.linux-arm64-3.8/source/common.o build/temp.linux-arm64-3.8/source/constants.o -o /<<PKGBUILDDIR>>/.pybuild/cpython3_3.8_rpi.gpio/build/RPi/_GPIO.cpython-38-aarch64-linux-gnu.so
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/soft_pwm.o:./source/soft_pwm.c:28: multiple definition of `threads'; build/temp.linux-arm64-3.8/source/event_gpio.o:./source/event_gpio.c:60: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/py_pwm.o:./source/common.h:38: multiple definition of `gpio_direction'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:38: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/py_pwm.o:./source/py_pwm.h:23: multiple definition of `PWMType'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/py_pwm.h:23: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/py_pwm.o:./source/common.h:41: multiple definition of `module_setup'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:41: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/py_pwm.o:./source/common.h:40: multiple definition of `setup_error'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:40: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/py_pwm.o:./source/common.h:39: multiple definition of `rpiinfo'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:39: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/py_pwm.o:./source/common.h:37: multiple definition of `pin_to_gpio'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:37: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/py_pwm.o:./source/common.h:36: multiple definition of `pin_to_gpio_rev3'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:36: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/py_pwm.o:./source/common.h:35: multiple definition of `pin_to_gpio_rev2'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:35: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/py_pwm.o:./source/common.h:34: multiple definition of `pin_to_gpio_rev1'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:34: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/py_pwm.o:./source/common.h:33: multiple definition of `gpio_mode'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:33: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/common.o:./source/common.h:40: multiple definition of `setup_error'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:40: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/common.o:./source/common.h:41: multiple definition of `module_setup'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:41: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/common.o:./source/common.h:33: multiple definition of `gpio_mode'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:33: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/common.o:./source/common.h:37: multiple definition of `pin_to_gpio'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:37: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/common.o:./source/common.h:39: multiple definition of `rpiinfo'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:39: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/common.o:./source/common.h:38: multiple definition of `gpio_direction'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:38: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/common.o:./source/common.h:36: multiple definition of `pin_to_gpio_rev3'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:36: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/common.o:./source/common.h:35: multiple definition of `pin_to_gpio_rev2'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:35: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/common.o:./source/common.h:34: multiple definition of `pin_to_gpio_rev1'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:34: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:26: multiple definition of `high'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:26: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:27: multiple definition of `low'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:27: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:29: multiple definition of `output'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:29: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:28: multiple definition of `input'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:28: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:30: multiple definition of `pwm'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:30: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:31: multiple definition of `serial'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:31: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:32: multiple definition of `i2c'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:32: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:33: multiple definition of `spi'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:33: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:34: multiple definition of `unknown'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:34: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:35: multiple definition of `board'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:35: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:36: multiple definition of `bcm'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:36: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:37: multiple definition of `pud_off'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:37: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:38: multiple definition of `pud_up'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:38: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:39: multiple definition of `pud_down'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:39: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:40: multiple definition of `rising_edge'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:40: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:41: multiple definition of `falling_edge'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:41: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/constants.h:42: multiple definition of `both_edge'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/constants.h:42: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/common.h:41: multiple definition of `module_setup'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:41: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/common.h:40: multiple definition of `setup_error'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:40: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/common.h:39: multiple definition of `rpiinfo'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:39: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/common.h:38: multiple definition of `gpio_direction'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:38: first defined here
> /usr/bin/ld: build/temp.linux-arm64-3.8/source/constants.o:./source/common.h:37: multiple definition of `pin_to_gpio'; build/temp.linux-arm64-3.8/source/py_gpio.o:./source/common.h:37: first defined here



More information about the Pkg-raspi-maintainers mailing list