[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Build failures on GCC 10 due to -fno-common default
From: |
Till Hofmann |
Subject: |
Build failures on GCC 10 due to -fno-common default |
Date: |
Fri, 7 Feb 2020 09:31:20 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 |
Hi all,
gprolog currently fails to build on Fedora Rawhide due to a change in
GCC 10. With GCC 10, it is no longer allowed to have multiple
definitions of the same variable, which may happen if the variable is
declared in a header without extern. This causes errors such as this:
/usr/bin/ld:
/builddir/build/BUILD/gprolog-1.4.5/src/Linedit/liblinedit.a(terminal.o):/builddir/build/BUILD/gprolog-1.4.5/src/Linedit/linedit.h:92:
multiple definition of `pl_le_hook_set_line_buffering';
/builddir/build/BUILD/gprolog-1.4.5/src/BipsPl/libbips_pl.a(stream_c.o):/builddir/build/BUILD/gprolog-1.4.5/src/Linedit/linedit.h:92:
first defined here
GCC has an explanation and porting instructions:
https://gcc.gnu.org/gcc-10/porting_to.html#common
I can re-enable -fcommon for Fedora builds. However, the recommended way
to fix this is to actually fix the code.
Kind regards,
Till
- Build failures on GCC 10 due to -fno-common default,
Till Hofmann <=