Bug#966066: opentyrian: FTBFS with GCC 10: multiple definition of ... due to -fno-common

Andreas Beckmann anbe at debian.org
Wed Jul 22 15:12:28 BST 2020


Source: opentyrian
Version: 2.1.20130907+dfsg-3
Severity: serious
Tags: ftbfs sud bullseye
Justification: fails to build from source (but built successfully in the past)
User: debian-gcc at lists.debian.org
Usertags: ftbfs-gcc-10

Hi,

opentyrian started to FTBFS when GCC 10 was made the default compiler:

cc -c -o obj/xmas.o -std=c99 -I./src -DTARGET_UNIX -g0 -O2 -DNDEBUG -MMD -pedantic -Wall -Wextra -Wno-missing-field-initializers -DWITH_NETWORK '-DHG_REV="2.1.20130907"' -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -g -O2 -fdebug-prefix-map=/build/opentyri
an-2.1.20130907+dfsg=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 src/xmas.c
cc -o opentyrian -Wl,-z,relro -Wl,-z,now obj/animlib.o obj/arg_parse.o obj/backgrnd.o obj/cJSON.o obj/config.o obj/destruct.o obj/editship.o obj/episodes.o obj/file.o obj/font.o obj/fonthand.o obj/game_menu.o obj/helptext.o obj/joystick.o obj/jukebox.o obj/ke
yboard.o obj/lds_play.o obj/loudness.o obj/lvllib.o obj/lvlmast.o obj/mainint.o obj/menus.o obj/mingw_fixes.o obj/mouse.o obj/mtrand.o obj/musmast.o obj/network.o obj/nortsong.o obj/nortvars.o obj/opentyr.o obj/opl.o obj/palette.o obj/params.o obj/pcxload.o o
bj/pcxmast.o obj/picload.o obj/player.o obj/scroller.o obj/setup.o obj/shots.o obj/sizebuf.o obj/sndmast.o obj/sprite.o obj/starlib.o obj/tyrian2.o obj/varz.o obj/vga256d.o obj/vga_palette.o obj/video.o obj/video_scale.o obj/video_scale_hqNx.o obj/xmas.o -lm 
-L/usr/lib/x86_64-linux-gnu -lSDL -lSDL_net
/usr/bin/ld: obj/destruct.o:./src/opl.h:172: multiple definition of `tremtab_add'; obj/config.o:./src/opl.h:172: first defined here
/usr/bin/ld: obj/destruct.o:./src/opl.h:171: multiple definition of `tremtab_pos'; obj/config.o:./src/opl.h:171: first defined here
/usr/bin/ld: obj/destruct.o:./src/opl.h:170: multiple definition of `vibtab_add'; obj/config.o:./src/opl.h:170: first defined here
/usr/bin/ld: obj/destruct.o:./src/opl.h:169: multiple definition of `vibtab_pos'; obj/config.o:./src/opl.h:169: first defined here
/usr/bin/ld: obj/destruct.o:./src/opl.h:164: multiple definition of `wave_sel'; obj/config.o:./src/opl.h:164: first defined here
/usr/bin/ld: obj/destruct.o:./src/opl.h:163: multiple definition of `adlibreg'; obj/config.o:./src/opl.h:163: first defined here
/usr/bin/ld: obj/destruct.o:./src/opl.h:158: multiple definition of `opl_index'; obj/config.o:./src/opl.h:158: first defined here
/usr/bin/ld: obj/destruct.o:./src/opl.h:157: multiple definition of `status'; obj/config.o:./src/opl.h:157: first defined here
/usr/bin/ld: obj/destruct.o:./src/opl.h:155: multiple definition of `int_samplerate'; obj/config.o:./src/opl.h:155: first defined here
/usr/bin/ld: obj/destruct.o:./src/opl.h:153: multiple definition of `op'; obj/config.o:./src/opl.h:153: first defined here
/usr/bin/ld: obj/destruct.o:./src/opl.h:152: multiple definition of `chip_num'; obj/config.o:./src/opl.h:152: first defined here
/usr/bin/ld: obj/game_menu.o:./src/opl.h:172: multiple definition of `tremtab_add'; obj/config.o:./src/opl.h:172: first defined here
/usr/bin/ld: obj/game_menu.o:./src/opl.h:171: multiple definition of `tremtab_pos'; obj/config.o:./src/opl.h:171: first defined here
/usr/bin/ld: obj/game_menu.o:./src/opl.h:170: multiple definition of `vibtab_add'; obj/config.o:./src/opl.h:170: first defined here
/usr/bin/ld: obj/game_menu.o:./src/opl.h:169: multiple definition of `vibtab_pos'; obj/config.o:./src/opl.h:169: first defined here
/usr/bin/ld: obj/game_menu.o:./src/opl.h:164: multiple definition of `wave_sel'; obj/config.o:./src/opl.h:164: first defined here
/usr/bin/ld: obj/game_menu.o:./src/opl.h:163: multiple definition of `adlibreg'; obj/config.o:./src/opl.h:163: first defined here
/usr/bin/ld: obj/game_menu.o:./src/opl.h:158: multiple definition of `opl_index'; obj/config.o:./src/opl.h:158: first defined here
/usr/bin/ld: obj/game_menu.o:./src/opl.h:157: multiple definition of `status'; obj/config.o:./src/opl.h:157: first defined here
/usr/bin/ld: obj/game_menu.o:./src/opl.h:155: multiple definition of `int_samplerate'; obj/config.o:./src/opl.h:155: first defined here
/usr/bin/ld: obj/game_menu.o:./src/opl.h:153: multiple definition of `op'; obj/config.o:./src/opl.h:153: first defined here
/usr/bin/ld: obj/game_menu.o:./src/opl.h:152: multiple definition of `chip_num'; obj/config.o:./src/opl.h:152: first defined here
/usr/bin/ld: obj/jukebox.o:./src/opl.h:172: multiple definition of `tremtab_add'; obj/config.o:./src/opl.h:172: first defined here
/usr/bin/ld: obj/jukebox.o:./src/opl.h:171: multiple definition of `tremtab_pos'; obj/config.o:./src/opl.h:171: first defined here
/usr/bin/ld: obj/jukebox.o:./src/opl.h:170: multiple definition of `vibtab_add'; obj/config.o:./src/opl.h:170: first defined here
/usr/bin/ld: obj/jukebox.o:./src/opl.h:169: multiple definition of `vibtab_pos'; obj/config.o:./src/opl.h:169: first defined here
[...]

More information about the corresponding GCC change can be found here:
https://gcc.gnu.org/gcc-10/porting_to.html
"Default to -fno-common"


Andreas



More information about the Pkg-games-devel mailing list