On 21. 01. 20 13:35, Miro Hrončok wrote:
we try to rebuild all Python packages against Python 3.9 and report the
failures. I've seen several similar failures in a row now that can be reproduced
in Fedora rawhide with the new gcc version.
ld errors on multiple definitions of ..., for example:
multiple definition of `the_var';
first defined here
This is a known thing in gcc 10:
"Default to -fno-common
A common mistake in C is omitting extern when declaring a global variable in a
header file. If the header is included by several files it results in multiple
definitions of the same variable. In previous GCC versions this error is
ignored. GCC 10 defaults to -fno-common, which means a linker error will now be
reported. To fix this, use extern in header files when declaring global
variables, and ensure each global is defined in exactly one C file. As a
workaround, legacy C code can be compiled with -fcommon.
int x; // tentative definition - avoid in header files
extern int y; // correct declaration in a header file"
Those of you who need a temporary workaround, follow:
(The section is called "Legacy -fcommon" in case the anchor link doesn't
for you (it doesn't work for me).)