Re: Build failures on GCC 10 due to -fno-common default
Till Hofmann <[email protected]> Fri, 7 Feb 2020 09:32:19 +0100
| Newsgroups | gmane.comp.gnu.prolog.bugs |
|---|---|
| Message-ID | <[email protected]> |
On 2/7/20 9:31 AM, Till Hofmann wrote: > 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 > Here's the Fedora BZ ticket with more logs: https://bugzilla.redhat.com/show_bug.cgi?id=1799464