Menu

#60 v0.64.58.2 - New Linux Make Error

1.0
open
slajerek
None
2022-12-06
2020-12-25
No

Make is having problem on Linux after the newest commit. This is after running make clean:

/usr/bin/ld: Games/c64/Emulators/atari800/cpu.o:(.bss+0x1a): multiple definition of CPU_regPC'; Games/c64/Emulators/atari800/AtariInterface/AtariWrapper.o:(.bss+0x18): first defined here /usr/bin/ld: Games/c64/Emulators/vice/arch/ui.o:(.bss+0x0): multiple definition ofc64d_is_cpu_in_jam_state'; Games/c64/Emulators/atari800/esc.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status

Discussion

  • Jesse Litton

    Jesse Litton - 2020-12-25
    11:53:27 evil@H510 ~/src/c64-debugger-code/MTEngine» ld --version
    GNU ld (GNU Binutils for Ubuntu) 2.35.50.20201210
    Copyright (C) 2020 Free Software Foundation, Inc.
    This program is free software; you may redistribute it under the terms of
    the GNU General Public License version 3 or (at your option) a later version.
    This program has absolutely no warranty.
    11:54:46 evil@H510 ~/src/c64-debugger-code/MTEngine» gcc --version
    gcc (Ubuntu 10.2.1-1ubuntu1) 10.2.1 20201207
    Copyright (C) 2020 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
     
  • Jesse Litton

    Jesse Litton - 2020-12-30

    The first mutiple definition is easily fixed. The second has me more perplexed, as I'm not sure if it really is supposed to be the same variable.

     
  • Jesse Litton

    Jesse Litton - 2021-02-25

    0.64.58.4 appears to still have the same issue:

    /usr/bin/ld: Games/c64/Emulators/atari800/cpu.o:(.bss+0x1a): multiple definition of `CPU_regPC'; Games/c64/Emulators/atari800/AtariInterface/AtariWrapper.o:(.bss+0x18): first defined here
    /usr/bin/ld: Games/c64/Emulators/vice/arch/ui.o:(.bss+0x0): multiple definition of `c64d_is_cpu_in_jam_state'; Games/c64/Emulators/atari800/esc.o:(.bss+0x0): first defined here
    collect2: error: ld returned 1 exit status
    make: *** [Makefile:78: c64debugger] Error 1
    
     
  • slajerek

    slajerek - 2021-09-30

    This may be related to gcc version. Which gcc version you are using? This compiles for me.

     
  • slajerek

    slajerek - 2022-12-06

    Note, both are the same variable so in your case you can probably remove one of them. Not sure why this does not compile now, I'll check sometime soon. I think that I fixed similar problem with newest C++17 in RetroDebugger.

     

Log in to post a comment.