Fedora 34: "multiple definition of..."
Sun, 2020-09-20 13:20
During a rebuild for Fedora 34 I suddenly ran into this issue.
/usr/bin/ld: CMakeFiles/hwengine.dir/uAI.c.o:(.bss+0x7358): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAI.c.o:(.bss+0x7344): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAI.c.o:(.bss+0x7330): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAIActions.c.o:(.bss+0x30): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAIActions.c.o:(.bss+0x1c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAIActions.c.o:(.bss+0x8): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAIAmmoTests.c.o:(.bss+0x30): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAIAmmoTests.c.o:(.bss+0x1c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAIAmmoTests.c.o:(.bss+0x8): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAILandMarks.c.o:(.bss+0x50): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAILandMarks.c.o:(.bss+0x3c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAILandMarks.c.o:(.bss+0x28): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAIMisc.c.o:(.bss+0x705c): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAIMisc.c.o:(.bss+0x7048): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAIMisc.c.o:(.bss+0x7034): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAmmos.c.o:(.bss+0x4238): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAmmos.c.o:(.bss+0x4224): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uAmmos.c.o:(.bss+0x4210): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCaptions.c.o:(.bss+0x18088): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCaptions.c.o:(.bss+0x18074): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCaptions.c.o:(.bss+0x18060): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uChat.c.o:(.bss+0x5940): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uChat.c.o:(.bss+0x592c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uChat.c.o:(.bss+0x5918): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCollisions.c.o:(.bss+0xf050): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCollisions.c.o:(.bss+0xf03c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCollisions.c.o:(.bss+0xf028): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCommandHandlers.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCommandHandlers.c.o:(.bss+0x14): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCommandHandlers.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCommands.c.o:(.bss+0x34): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCommands.c.o:(.bss+0x20): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCommands.c.o:(.bss+0xc): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCursor.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCursor.c.o:(.bss+0x14): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uCursor.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGame.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGame.c.o:(.bss+0x14): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGame.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGears.c.o:(.bss+0x3c): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGears.c.o:(.bss+0x28): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGears.c.o:(.bss+0x14): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHandlers.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHandlers.c.o:(.bss+0x14): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHandlers.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHandlersMess.c.o:(.bss+0x3c): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHandlersMess.c.o:(.bss+0x28): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHandlersMess.c.o:(.bss+0x14): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHandlersRope.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHandlersRope.c.o:(.bss+0x14): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHandlersRope.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHedgehog.c.o:(.bss+0x2c): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHedgehog.c.o:(.bss+0x18): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsHedgehog.c.o:(.bss+0x4): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsList.c.o:(.bss+0x38): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsList.c.o:(.bss+0x24): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsList.c.o:(.bss+0x10): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsRender.c.o:(.bss+0x3c080): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsRender.c.o:(.bss+0x3c06c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsRender.c.o:(.bss+0x3c058): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsUtils.c.o:(.bss+0x270): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsUtils.c.o:(.bss+0x25c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uGearsUtils.c.o:(.bss+0x248): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uIO.c.o:(.bss+0x550): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uIO.c.o:(.bss+0x53c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uIO.c.o:(.bss+0x528): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uInputHandler.c.o:(.bss+0x941d8): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uInputHandler.c.o:(.bss+0x941c4): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uInputHandler.c.o:(.bss+0x941b0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uKeyNames.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uKeyNames.c.o:(.bss+0x14): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uKeyNames.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLand.c.o:(.bss+0x12c): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLand.c.o:(.bss+0x118): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLand.c.o:(.bss+0x104): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGenMaze.c.o:(.bss+0x401a8): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGenMaze.c.o:(.bss+0x40194): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGenMaze.c.o:(.bss+0x40180): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGenPerlin.c.o:(.bss+0x828): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGenPerlin.c.o:(.bss+0x814): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGenPerlin.c.o:(.bss+0x800): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGenTemplateBased.c.o:(.bss+0x30): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGenTemplateBased.c.o:(.bss+0x1c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGenTemplateBased.c.o:(.bss+0x8): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGraphics.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGraphics.c.o:(.bss+0x14): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandGraphics.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandObjects.c.o:(.bss+0xb948): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandObjects.c.o:(.bss+0xb934): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandObjects.c.o:(.bss+0xb920): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandOutline.c.o:(.bss+0x2003c): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandOutline.c.o:(.bss+0x20028): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandOutline.c.o:(.bss+0x20014): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandOutline.c.o:(.bss+0x0): multiple definition of `Stack'; CMakeFiles/hwengine.dir/uAI.c.o:(.bss+0x7a8): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandPainted.c.o:(.bss+0x38): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandPainted.c.o:(.bss+0x24): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandPainted.c.o:(.bss+0x10): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandTexture.c.o:(.bss+0x10050): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandTexture.c.o:(.bss+0x1003c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandTexture.c.o:(.bss+0x10028): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandUtils.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandUtils.c.o:(.bss+0x0): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLandUtils.c.o:(.bss+0x14): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLocale.c.o:(.bss+0x47b8078): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLocale.c.o:(.bss+0x47b8064): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uLocale.c.o:(.bss+0x47b8050): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uMisc.c.o:(.bss+0x30): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uMisc.c.o:(.bss+0x1c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uMisc.c.o:(.bss+0x8): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uPhysFSLayer.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uPhysFSLayer.c.o:(.bss+0x14): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uPhysFSLayer.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uRender.c.o:(.bss+0x2d8): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uRender.c.o:(.bss+0x2c4): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uRender.c.o:(.bss+0x2b0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uRenderUtils.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uRenderUtils.c.o:(.bss+0x14): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uRenderUtils.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uScript.c.o:(.bss+0x5e0): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uScript.c.o:(.bss+0x5cc): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uScript.c.o:(.bss+0x5b8): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uSound.c.o:(.bss+0x417c): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uSound.c.o:(.bss+0x4168): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uSound.c.o:(.bss+0x4154): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uStats.c.o:(.bss+0x98): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uStats.c.o:(.bss+0x84): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uStats.c.o:(.bss+0x70): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uStore.c.o:(.bss+0x148): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uStore.c.o:(.bss+0x134): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uStore.c.o:(.bss+0x120): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uTeams.c.o:(.bss+0x3c): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uTeams.c.o:(.bss+0x28): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uTeams.c.o:(.bss+0x14): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uTextures.c.o:(.bss+0x30): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uTextures.c.o:(.bss+0x1c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uTextures.c.o:(.bss+0x8): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uUtils.c.o:(.bss+0x130): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uUtils.c.o:(.bss+0x11c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uUtils.c.o:(.bss+0x108): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVariables.c.o:(.bss+0x40): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVariables.c.o:(.bss+0x20): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVariables.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVisualGears.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVisualGears.c.o:(.bss+0x14): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVisualGears.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVisualGearsHandlers.c.o:(.bss+0x398): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVisualGearsHandlers.c.o:(.bss+0x384): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVisualGearsHandlers.c.o:(.bss+0x370): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVisualGearsList.c.o:(.bss+0xb0): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVisualGearsList.c.o:(.bss+0x9c): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uVisualGearsList.c.o:(.bss+0x88): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uWorld.c.o:(.bss+0xc8): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uWorld.c.o:(.bss+0xb4): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/uWorld.c.o:(.bss+0xa0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/hwengine.c.o:(.bss+0x28): multiple definition of `LandDirty_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x2c): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/hwengine.c.o:(.bss+0x14): multiple definition of `LandPixels_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x18): first defined here /usr/bin/ld: CMakeFiles/hwengine.dir/hwengine.c.o:(.bss+0x0): multiple definition of `Land_dimension_info'; CMakeFiles/hwengine.dir/ArgParsers.c.o:(.bss+0x4): first defined here clang-11: error: linker command failed with exit code 1 (use -v to see invocation) gmake[2]: *** [project_files/hwc/CMakeFiles/hwengine.dir/build.make:1323: bin/hwengine] Error 1
https://bugzilla.redhat.com/show_bug.cgi?id=1878396
Thanks,
Richard
My guess is something changed in clang and it is objecting to the redefinition. I guess would have to look at the generated C code and figure out what is causing the error to do a 1.0.0 patch, or how to silence the new clang behaviour since obviously it worked before
For you I guess the 2nd would be easier. Let's see what flags clang has...
Quick check, you're just using the C build as a workaround for the SDL2+older-fpc bug on 32 bit right?
Hm... also, could you post the generated makefile cmake created? Maybe the multiple definitions is literally same file in there multiple times due to some cmake flag assumption...
--
Oh, what the heck. 1PLXzL1CBUD1kdEWqMrwNUfGrGiirV1WpH <= tip a hedgewars dev
Not sure what you mean by "C" build, other than that's how the package has been setup on Fedora for forever. I'm still doing to Haskell build for client, right. It's just the server that's C based? Or is there another option there as well?
We do still build for i686 and armv7hf, so I'm guessing the answer is yes to your question. I could conditionalize that for just those two arches but if they fail, the over build is considered failed.
I have uploaded the build.log and CMakeFiles directory here:
https://hobbes1069.fedorapeople.org/hedgewars/
Fedora Rawhide is using clang 11.0.0
Thanks,
Richard
We only recommend the pas2c/clang as a workaround on 32 bit for an fpc/sdl2 bug. NOT 64 bit. It is not fully functional and far less thoroughly tested.
For a standard Linux AMD64 and ARM do NOT enable it.
See https://hedgewars.org/node/7028
--
Oh, what the heck. 1PLXzL1CBUD1kdEWqMrwNUfGrGiirV1WpH <= tip a hedgewars dev
So I can conditionalize it, but the failure will still cause the overall build to fail, which I need to address somehow.
Yep, gotta look at the make/logs, just been a crazy busy exhausting work week, and heading out for a hike now.
Aaaand with any luck unc0rr will chime in, since he wrote pas2c and a fair chunk of the C shim.
Also... hm... gotta look at that fpc bug. I know it was fixed upstream. It's possible that at this point 32 bit is safe to compile on pascal again.
I mean, the C build *does* perform better, but that win is too modest to make up for other negatives. Really the rust rewrite is the long-term fix.
--
Oh, what the heck. 1PLXzL1CBUD1kdEWqMrwNUfGrGiirV1WpH <= tip a hedgewars dev
I tried disabling the C engine option but still got an error:
[ 36%] Generating ui/widget/moc_themeprompt.cpp
cd /builddir/build/BUILD/hedgewars-src-1.0.0/x86_64-redhat-linux-gnu/QTfrontend/ui/widget && /usr/lib64/qt5/bin/moc @/builddir/build/BUILD/hedgewars-src-1.0.0/x86_64-redhat-linux-gnu/QTfrontend/ui/widget/moc_themeprompt.cpp_parameters
[ 36%] Generating ui/widget/moc_togglebutton.cpp
.inc(33,4) Error: Expected another 1 array elements
uConsts.pas(416,1) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Got it for now... The root of the error is the compiler no longer allowing common variables by default so we added legacy common support for now.
The solution may be a bit messy to implement in pas2c... Basically all of those common (global) variables need to be:
extern
Except in one c file, whichever one can be considered to be the main owner (hwengine?).
I dug into pas2c a little and while overall it's beyond me (that's some serious magic!) I did see some logic around what variables should be marked extern so I'm guessing it just needs to be updated to handle the following variables correctly.
`LandDirty_dimension_info'
`LandPixels_dimension_info'
`Land_dimension_info'
Thanks,
Richard