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