You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
/usr/bin/ld.bfd: openborscript.o:(.bss+0x78): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: openborscript.o:(.bss+0x80): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: sdl/control.o:(.bss+0x60): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: sdl/control.o:(.bss+0x68): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: sdl/menu.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: sdl/menu.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/gamelib/translation.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/gamelib/translation.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/gamelib/models.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/gamelib/models.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/utils.o:(.bss+0x830): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/utils.o:(.bss+0x838): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/animation.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/animation.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/axis.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/axis.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/binding.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/binding.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/drawmethod.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/drawmethod.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/collision_attack.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/collision_attack.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/collision_body.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/collision_body.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/collision_entity.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/collision_entity.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/constants.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/constants.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/entity.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/entity.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/index.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/index.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/layer.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/layer.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/level.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/level.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/math.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/math.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/recursive_damage.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/recursive_damage.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
/usr/bin/ld.bfd: source/openborscript/string.o:(.bss+0x0): multiple definition of `model_cache'; openbor.o:(.bss+0x39b8): first defined here
/usr/bin/ld.bfd: source/openborscript/string.o:(.bss+0x8): multiple definition of `anim_list'; openbor.o:(.bss+0x39c0): first defined here
collect2: error: ld returned 1 exit status
make[1]: *** [Makefile:672: OpenBOR.elf] Error 1
Clang 11 error
ld.lld: error: duplicate symbol: anim_list
>>> defined at openbor.c
>>> openbor.o:(anim_list)
>>> defined at openborscript.c
>>> openborscript.o:(.bss+0xD80)
ld.lld: error: duplicate symbol: model_cache
>>> defined at openbor.c
>>> openbor.o:(model_cache)
>>> defined at openborscript.c
>>> openborscript.o:(.bss+0x4B0)
ld.lld: error: duplicate symbol: anim_list
>>> defined at openbor.c
>>> openbor.o:(anim_list)
>>> defined at control.c
>>> sdl/control.o:(.bss+0x68)
ld.lld: error: duplicate symbol: model_cache
>>> defined at openbor.c
>>> openbor.o:(model_cache)
>>> defined at control.c
>>> sdl/control.o:(.bss+0x70)
ld.lld: error: duplicate symbol: anim_list
>>> defined at openbor.c
>>> openbor.o:(anim_list)
>>> defined at menu.c
>>> sdl/menu.o:(.bss+0x30)
ld.lld: error: duplicate symbol: model_cache
>>> defined at openbor.c
>>> openbor.o:(model_cache)
>>> defined at menu.c
>>> sdl/menu.o:(.bss+0x38)
ld.lld: error: duplicate symbol: anim_list
>>> defined at openbor.c
>>> openbor.o:(anim_list)
>>> defined at translation.c
>>> source/gamelib/translation.o:(.bss+0x18)
ld.lld: error: duplicate symbol: model_cache
>>> defined at openbor.c
>>> openbor.o:(model_cache)
>>> defined at translation.c
>>> source/gamelib/translation.o:(.bss+0x20)
ld.lld: error: duplicate symbol: anim_list
>>> defined at openbor.c
>>> openbor.o:(anim_list)
>>> defined at models.c
>>> source/gamelib/models.o:(.bss+0x408)
ld.lld: error: duplicate symbol: model_cache
>>> defined at openbor.c
>>> openbor.o:(model_cache)
>>> defined at models.c
>>> source/gamelib/models.o:(.bss+0x410)
ld.lld: error: duplicate symbol: anim_list
>>> defined at openbor.c
>>> openbor.o:(anim_list)
>>> defined at utils.c
>>> source/utils.o:(.bss+0x850)
ld.lld: error: duplicate symbol: model_cache
>>> defined at openbor.c
>>> openbor.o:(model_cache)
>>> defined at utils.c
>>> source/utils.o:(.bss+0x858)
ld.lld: error: duplicate symbol: anim_list
>>> defined at openbor.c
>>> openbor.o:(anim_list)
>>> defined at animation.c
>>> source/openborscript/animation.o:(.bss+0x0)
ld.lld: error: duplicate symbol: model_cache
>>> defined at openbor.c
>>> openbor.o:(model_cache)
>>> defined at animation.c
>>> source/openborscript/animation.o:(.bss+0x8)
ld.lld: error: duplicate symbol: anim_list
>>> defined at openbor.c
>>> openbor.o:(anim_list)
>>> defined at axis.c
>>> source/openborscript/axis.o:(.bss+0x0)
ld.lld: error: duplicate symbol: model_cache
>>> defined at openbor.c
>>> openbor.o:(model_cache)
>>> defined at axis.c
>>> source/openborscript/axis.o:(.bss+0x8)
ld.lld: error: duplicate symbol: anim_list
>>> defined at openbor.c
>>> openbor.o:(anim_list)
>>> defined at binding.c
>>> source/openborscript/binding.o:(.bss+0x0)
ld.lld: error: duplicate symbol: model_cache
>>> defined at openbor.c
>>> openbor.o:(model_cache)
>>> defined at binding.c
>>> source/openborscript/binding.o:(.bss+0x8)
ld.lld: error: duplicate symbol: anim_list
>>> defined at openbor.c
>>> openbor.o:(anim_list)
>>> defined at drawmethod.c
>>> source/openborscript/drawmethod.o:(.bss+0x0)
ld.lld: error: duplicate symbol: model_cache
>>> defined at openbor.c
>>> openbor.o:(model_cache)
>>> defined at drawmethod.c
>>> source/openborscript/drawmethod.o:(.bss+0x8)
ld.lld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [Makefile:672: OpenBOR.elf] Error 1
Thanks, I'll look into this. Really couldn't care less about Clang, but definitely should compile on latest GCC.
Edit: Similar ticket open on GCC9, but the proposed solution (turning off an error flag) is not acceptable. The error log you provided will hopefully give some better insight. @Plombo might also have some observations as his low level knowledge far exceeds mine.
Description
GCC 10 and Clang 11 enable
-fno-common
by default.https://gcc.gnu.org/gcc-10/porting_to.html#common
GCC 10 error
Clang 11 error
Reproduce
build.sh
ormake BUILD_LINUX=1
Expected behavior
Builds fine
Version
The text was updated successfully, but these errors were encountered: