Subject: bug#52963: freedroidrpg: build failure

From: Christopher Howard <[email-masked]>
Date: Sun, 2 Jan 2022 10:11:01 -0900

Package "freedroidrpg" fails to build:

```
gcc -I/gnu/store/l4k60q5jm9g2f3jslnhjsldls0l4vf9q-sdl-1.2.15/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT  -pipe -Wall -Wno-format-zero-length -ffast-math -I/gnu/store/2qfzwl2k819cdp57xwikhp0i3sl27hma-sdl-gfx-2.0.26/include/SDL -I/gnu/store/h9b8d63bxyjd5hl1mdmicrvl4rhz87vp-sdl-image-1.2.12/include/SDL -I/gnu/store/4n31akz1025w8c9yjfa5mwf9b2q2vv83-sdl-mixer-1.2.12/include/SDL -rdynamic -Wl,--as-needed  -o freedroidRPG action.o addon_crafting_ui.o animate.o armor.o automap.o benchmark.o BFont.o blocks.o bullet.o character.o chat.o colldet.o dynarray.o enemy.o event.o faction.o floor_tiles.o font.o game_ui.o getopt.o getopt1.o graphics.o hud.o image.o influ.o init.o input.o items.o item_upgrades.o item_upgrades_ui.o keyboard.o lang.o light.o lists.o lua.o luaconfig.o main.o map.o map_label.o menu.o misc.o mission.o npc.o obstacle.o obstacle_extension.o open_gl.o open_gl_atlas.o open_gl_debug.o pathfinder.o pngfuncs.o quest_browser_ui.o rtprof.o saveloadgame.o savestruct_internal.o scandir.o shop.o skills.o sound.o sound_effects.o string.o takeover.o text.o text_public.o view.o waypoint.o lua/luaFD.o lua/luaFD_tux.o lua/luaFD_npc.o lvledit/lvledit.o lvledit/lvledit_actions.o lvledit/lvledit_beautify_actions.o lvledit/lvledit_display.o lvledit/lvledit_enemy.o lvledit/lvledit_input.o lvledit/lvledit_map.o lvledit/lvledit_menu.o lvledit/lvledit_object_lists.o lvledit/lvledit_tools.o lvledit/lvledit_tool_move.o lvledit/lvledit_tool_place.o lvledit/lvledit_tool_select.o lvledit/lvledit_validator.o lvledit/lvledit_widgets.o lvledit/lvledit_widget_categoryselect.o lvledit/lvledit_widget_map.o lvledit/lvledit_widget_minimap.o lvledit/lvledit_widget_toolbar.o mapgen/gram_simple.o mapgen/mapgen.o mapgen/themes.o savegame/convert.o savegame/filters_0_16.o widgets/widgets.o widgets/widget_background.o widgets/widget_button.o widgets/widget_group.o widgets/widget_text.o widgets/widget_text_list.o savestruct.o version.o  ../lua/liblua.a  -L/gnu/store/l4k60q5jm9g2f3jslnhjsldls0l4vf9q-sdl-1.2.15/lib -Wl,-rpath,/gnu/store/l4k60q5jm9g2f3jslnhjsldls0l4vf9q-sdl-1.2.15/lib -lSDL -lpthread -lGL  -lm   -lvorbis -logg -lSDL_mixer -lSDL_gfx -lSDL_image -lpng -ljpeg -lz -lm 
ld: addon_crafting_ui.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: animate.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: armor.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: automap.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: benchmark.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: BFont.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: blocks.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: bullet.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: character.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: chat.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: colldet.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: dynarray.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: enemy.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: event.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: faction.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: floor_tiles.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: font.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: game_ui.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: graphics.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: hud.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: image.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: influ.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: init.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: input.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: items.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: item_upgrades.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: item_upgrades_ui.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: keyboard.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lang.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: light.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lists.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lua.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: luaconfig.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: main.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: map.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: map_label.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: menu.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: misc.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: misc.o:(.data+0xcbc8): multiple definition of `FPSover1'; main.o:(.bss+0x50): first defined here
ld: mission.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: npc.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: obstacle.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: obstacle_extension.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: open_gl.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: open_gl_atlas.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: open_gl_debug.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: pathfinder.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: quest_browser_ui.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: rtprof.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: saveloadgame.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: savestruct_internal.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: shop.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: skills.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: sound.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: sound_effects.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: string.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: takeover.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: text.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: text_public.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: view.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: view.o:(.bss+0x29490): multiple definition of `tool_place'; keyboard.o:(.bss+0x50): first defined here
ld: view.o:(.bss+0x294a0): multiple definition of `tool_move'; keyboard.o:(.bss+0x60): first defined here
ld: view.o:(.bss+0x294b0): multiple definition of `tool_select'; keyboard.o:(.bss+0x70): first defined here
ld: waypoint.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lua/luaFD_tux.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lua/luaFD_npc.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit.o:(.bss+0x2780): multiple definition of `tool_place'; keyboard.o:(.bss+0x50): first defined here
ld: lvledit/lvledit.o:(.bss+0x2790): multiple definition of `tool_move'; keyboard.o:(.bss+0x60): first defined here
ld: lvledit/lvledit.o:(.bss+0x27a0): multiple definition of `tool_select'; keyboard.o:(.bss+0x70): first defined here
ld: lvledit/lvledit_actions.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_beautify_actions.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_display.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_enemy.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_input.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_map.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_menu.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_object_lists.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_tools.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_tools.o:(.bss+0x50): multiple definition of `tool_place'; keyboard.o:(.bss+0x50): first defined here
ld: lvledit/lvledit_tools.o:(.bss+0x60): multiple definition of `tool_move'; keyboard.o:(.bss+0x60): first defined here
ld: lvledit/lvledit_tools.o:(.bss+0x70): multiple definition of `tool_select'; keyboard.o:(.bss+0x70): first defined here
ld: lvledit/lvledit_tool_move.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_tool_move.o:(.bss+0x50): multiple definition of `tool_place'; keyboard.o:(.bss+0x50): first defined here
ld: lvledit/lvledit_tool_move.o:(.bss+0x60): multiple definition of `tool_move'; keyboard.o:(.bss+0x60): first defined here
ld: lvledit/lvledit_tool_move.o:(.bss+0x70): multiple definition of `tool_select'; keyboard.o:(.bss+0x70): first defined here
ld: lvledit/lvledit_tool_place.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_tool_place.o:(.bss+0x50): multiple definition of `tool_place'; keyboard.o:(.bss+0x50): first defined here
ld: lvledit/lvledit_tool_place.o:(.bss+0x60): multiple definition of `tool_move'; keyboard.o:(.bss+0x60): first defined here
ld: lvledit/lvledit_tool_place.o:(.bss+0x70): multiple definition of `tool_select'; keyboard.o:(.bss+0x70): first defined here
ld: lvledit/lvledit_tool_select.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_tool_select.o:(.bss+0x50): multiple definition of `tool_place'; keyboard.o:(.bss+0x50): first defined here
ld: lvledit/lvledit_tool_select.o:(.bss+0x60): multiple definition of `tool_move'; keyboard.o:(.bss+0x60): first defined here
ld: lvledit/lvledit_tool_select.o:(.bss+0x70): multiple definition of `tool_select'; keyboard.o:(.bss+0x70): first defined here
ld: lvledit/lvledit_validator.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_widgets.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_widgets.o:(.bss+0x50): multiple definition of `tool_place'; keyboard.o:(.bss+0x50): first defined here
ld: lvledit/lvledit_widgets.o:(.bss+0x60): multiple definition of `tool_move'; keyboard.o:(.bss+0x60): first defined here
ld: lvledit/lvledit_widgets.o:(.bss+0x70): multiple definition of `tool_select'; keyboard.o:(.bss+0x70): first defined here
ld: lvledit/lvledit_widget_categoryselect.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_widget_map.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_widget_map.o:(.bss+0x60): multiple definition of `tool_place'; keyboard.o:(.bss+0x50): first defined here
ld: lvledit/lvledit_widget_map.o:(.bss+0x70): multiple definition of `tool_move'; keyboard.o:(.bss+0x60): first defined here
ld: lvledit/lvledit_widget_map.o:(.bss+0x80): multiple definition of `tool_select'; keyboard.o:(.bss+0x70): first defined here
ld: lvledit/lvledit_widget_minimap.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_widget_toolbar.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: lvledit/lvledit_widget_toolbar.o:(.bss+0x50): multiple definition of `tool_place'; keyboard.o:(.bss+0x50): first defined here
ld: lvledit/lvledit_widget_toolbar.o:(.bss+0x60): multiple definition of `tool_move'; keyboard.o:(.bss+0x60): first defined here
ld: lvledit/lvledit_widget_toolbar.o:(.bss+0x70): multiple definition of `tool_select'; keyboard.o:(.bss+0x70): first defined here
ld: mapgen/gram_simple.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: mapgen/gram_simple.o:(.bss+0x50): multiple definition of `dungeonmap_convert'; lvledit/lvledit_menu.o:(.bss+0x50): first defined here
ld: mapgen/gram_simple.o:(.bss+0x58): multiple definition of `dungeonmap_place_enemies'; lvledit/lvledit_menu.o:(.bss+0x58): first defined here
ld: mapgen/gram_simple.o:(.bss+0x60): multiple definition of `dungeonmap_gift'; lvledit/lvledit_menu.o:(.bss+0x60): first defined here
ld: mapgen/mapgen.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: mapgen/mapgen.o:(.bss+0x50): multiple definition of `dungeonmap_convert'; lvledit/lvledit_menu.o:(.bss+0x50): first defined here
ld: mapgen/mapgen.o:(.bss+0x58): multiple definition of `dungeonmap_place_enemies'; lvledit/lvledit_menu.o:(.bss+0x58): first defined here
ld: mapgen/mapgen.o:(.bss+0x60): multiple definition of `dungeonmap_gift'; lvledit/lvledit_menu.o:(.bss+0x60): first defined here
ld: mapgen/themes.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: mapgen/themes.o:(.bss+0x50): multiple definition of `dungeonmap_convert'; lvledit/lvledit_menu.o:(.bss+0x50): first defined here
ld: mapgen/themes.o:(.bss+0x58): multiple definition of `dungeonmap_place_enemies'; lvledit/lvledit_menu.o:(.bss+0x58): first defined here
ld: mapgen/themes.o:(.bss+0x60): multiple definition of `dungeonmap_gift'; lvledit/lvledit_menu.o:(.bss+0x60): first defined here
ld: savegame/convert.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: savegame/filters_0_16.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: widgets/widgets.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: widgets/widget_background.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: widgets/widget_button.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: widgets/widget_group.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: widgets/widget_text.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: widgets/widget_text_list.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: savestruct.o:(.bss+0x0): multiple definition of `tux_rendering'; action.o:(.bss+0x0): first defined here
ld: ../lua/liblua.a(loslib.o): in function `os_tmpname':
loslib.c:(.text+0x29c): warning: the use of `tmpnam' is dangerous, better use `mkstemp'
collect2: error: ld returned 1 exit status
```

My system:

```
christopher@nightshade ~$ neofetch --stdout
christopher@nightshade 
---------------------- 
OS: Guix System 637dec9d45db4df2a3e6aa565fa2c5cf6bb77768 x86_64 
Host: GA-880GM-UD2H 
Kernel: 5.15.5-gnu 
Uptime: 6 days, 14 hours, 11 mins 
Packages: 63 (guix-system), 164 (guix-user) 
Shell: bash 5.0.16 
Resolution: 1920x1200 
DE: GNOME 3.34.5 
Theme: Adwaita [GTK2/3] 
Icons: Adwaita [GTK2/3] 
Terminal: .emacs-27.2-rea 
CPU: AMD Athlon II X3 455 (3) @ 3.300GHz 
GPU: NVIDIA Quadro 2000 
Memory: 2790MiB / 7957MiB 
```

-- 
📛 Christopher Howard
🚀 gemini://gem.librehacker.com
🌐 https://portal.mozz.us/gemini/gem.librehacker.com

בראשית ברא אלהים את השמים ואת הארץ