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

Reply via email to