Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

multiple definition of `pxa260Framebuffer' #99

Open
mase76 opened this issue Aug 21, 2020 · 3 comments
Open

multiple definition of `pxa260Framebuffer' #99

mase76 opened this issue Aug 21, 2020 · 3 comments

Comments

@mase76
Copy link

mase76 commented Aug 21, 2020

When compiling for Retroarch on Debian Bullseye, I get the following error:
** BUILDING mu_libretro.so FOR PLATFORM unix ** cc -fPIC -shared -Wl,--version-script=build/link.T -I./libretro-common/include -o mu_libretro.so ./libretro.o ./cursors.o ./../src/emulator.o ./../src/m5XXBus.o ./../src/dbvz.o ./../src/flx68000.o ./../src/sed1376.o ./../src/ads7846.o ./../src/pdiUsbD12.o ./../src/sdCard.o ./../src/silkscreen.o ./../src/audio/blip_buf.o ./../src/m68k/m68kops.o ./../src/m68k/m68kopnz.o ./../src/m68k/m68kopdm.o ./../src/m68k/m68kopac.o ./../src/m68k/m68kcpu.o ./../src/fileLauncher/launcher.o ./../src/pxa260/pxa260_DMA.o ./../src/pxa260/pxa260_DSP.o ./../src/pxa260/pxa260_GPIO.o ./../src/pxa260/pxa260_IC.o ./../src/pxa260/pxa260_LCD.o ./../src/pxa260/pxa260_PwrClk.o ./../src/pxa260/pxa260_RTC.o ./../src/pxa260/pxa260_TIMR.o ./../src/pxa260/pxa260_UART.o ./../src/pxa260/pxa260I2c.o ./../src/pxa260/pxa260Memctrl.o ./../src/pxa260/pxa260Timing.o ./../src/pxa260/pxa260Ssp.o ./../src/pxa260/pxa260Udc.o ./../src/pxa260/pxa260.o ./../src/armv5te/emuVarPool.o ./../src/armv5te/mem.o ./../src/armv5te/mmu.o ./../src/tps65010.o ./../src/tsc2101.o ./../src/w86l488.o ./../src/armv5te/os/os-linux.o ./../src/armv5te/asmcode.o ./libretro-common/compat/compat_strl.o ./libretro-common/compat/compat_posix_string.o ./libretro-common/compat/fopen_utf8.o ./libretro-common/encodings/encoding_utf.o ./libretro-common/memmap/memmap.o ./libretro-common/streams/file_stream.o ./libretro-common/string/stdstring.o ./libretro-common/vfs/vfs_implementation.o ./../src/armv5te/arm_interpreter.o ./../src/armv5te/thumb_interpreter.o ./../src/armv5te/cpu.o ./../src/armv5te/coproc.o -lm /usr/bin/ld: ./../src/pxa260/pxa260.o:(.bss+0x128): multiple definition of pxa260Framebuffer'; ./../src/pxa260/pxa260_LCD.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
`

@parkerlreed
Copy link

Same here on Arch Linux

gcc 10.2.0-1

** BUILDING mu_libretro.so FOR PLATFORM unix **
cc -fPIC -shared -Wl,--version-script=build/link.T -I./libretro-common/include  -o mu_libretro.so ./libretro.o ./cursors.o ./../src/emulator.o ./../src/m5XXBus.o ./../src/dbvz.o ./../src/flx68000.o ./../src/sed1376.o ./../src/ads7846.o ./../src/pdiUsbD12.o ./../src/sdCard.o ./../src/silkscreen.o ./../src/audio/blip_buf.o ./../src/m68k/m68kops.o ./../src/m68k/m68kopnz.o ./../src/m68k/m68kopdm.o ./../src/m68k/m68kopac.o ./../src/m68k/m68kcpu.o ./../src/fileLauncher/launcher.o ./../src/pxa260/pxa260_DMA.o ./../src/pxa260/pxa260_DSP.o ./../src/pxa260/pxa260_GPIO.o ./../src/pxa260/pxa260_IC.o ./../src/pxa260/pxa260_LCD.o ./../src/pxa260/pxa260_PwrClk.o ./../src/pxa260/pxa260_RTC.o ./../src/pxa260/pxa260_TIMR.o ./../src/pxa260/pxa260_UART.o ./../src/pxa260/pxa260I2c.o ./../src/pxa260/pxa260Memctrl.o ./../src/pxa260/pxa260Timing.o ./../src/pxa260/pxa260Ssp.o ./../src/pxa260/pxa260Udc.o ./../src/pxa260/pxa260.o ./../src/armv5te/emuVarPool.o ./../src/armv5te/mem.o ./../src/armv5te/mmu.o ./../src/tps65010.o ./../src/tsc2101.o ./../src/w86l488.o ./../src/armv5te/os/os-linux.o ./../src/armv5te/asmcode.o ./libretro-common/compat/compat_strl.o ./libretro-common/compat/compat_posix_string.o ./libretro-common/compat/fopen_utf8.o ./libretro-common/encodings/encoding_utf.o ./libretro-common/memmap/memmap.o ./libretro-common/streams/file_stream.o ./libretro-common/string/stdstring.o ./libretro-common/vfs/vfs_implementation.o ./../src/armv5te/arm_interpreter.o ./../src/armv5te/thumb_interpreter.o ./../src/armv5te/cpu.o ./../src/armv5te/coproc.o  -lm
/usr/bin/ld: ./../src/pxa260/pxa260.o:(.bss+0x128): multiple definition of `pxa260Framebuffer'; ./../src/pxa260/pxa260_LCD.o:(.bss+0x0): first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile.libretro:531: mu_libretro.so] Error 1

@mase76
Copy link
Author

mase76 commented Aug 21, 2020

Serms to be an issue with newer versions of gcc. In Debian Buster with gcc8 it compiles.

@Nocosix
Copy link

Nocosix commented Sep 4, 2021

This is caused by gcc 10 changing its default behavior from -fcommon to -fno-common
I added -fcommon to QMAKE_CFLAGS, QMAKE_CXXFLAGS and QMAKE_LFLAGS under linux-g++ in my Mu.pro file as a workaround, and it successfully compiled.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants