Compire error - Multiple definition
An USB programmer for PIC, dsPIC, AVR, serial memories
Brought to you by:
albmcc
Hi,
i am not able to compile the opgui in Arch Linux.
This is the output of the command "make" in the git folder:
gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c opgui.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c deviceRW.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c progP12.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c progP16.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c progP18.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c progP24.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c progEEPROM.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c progAVR.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c fileIO.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c I2CSPI.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c coff.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c icd.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c strings.c echo "#include <gtk/gtk.h>" > icons.c gdk-pixbuf-csource --extern --build-list write_icon write.png read_icon read.png \ system_icon sys.png go_icon go.png halt_icon halt.png step_icon step.png \ stepover_icon stepover.png stop_icon stop.png >> icons.c gcc '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt -c icons.c gcc -o opgui opgui.o deviceRW.o progP12.o progP16.o progP18.o progP24.o progEEPROM.o progAVR.o fileIO.o I2CSPI.o coff.o icd.o strings.o icons.o '-DVERSION="0.11.1"' -w `pkg-config --libs --cflags gtk+-2.0` -Os -s -lrt /usr/bin/ld: deviceRW.o:(.bss+0x0): multiple definition of `str'; opgui.o:(.bss+0x3eb60): first defined here /usr/bin/ld: deviceRW.o:(.bss+0x1000): multiple definition of `status_bar'; opgui.o:(.bss+0x3fb60): first defined here /usr/bin/ld: deviceRW.o:(.bss+0x1008): multiple definition of `statusID'; opgui.o:(.bss+0x3fb68): first defined here /usr/bin/ld: progP12.o:(.bss+0x0): multiple definition of `str'; opgui.o:(.bss+0x3eb60): first defined here /usr/bin/ld: progP12.o:(.bss+0x1008): multiple definition of `statusID'; opgui.o:(.bss+0x3fb68): first defined here /usr/bin/ld: progP12.o:(.bss+0x1000): multiple definition of `status_bar'; opgui.o:(.bss+0x3fb60): first defined here /usr/bin/ld: progP16.o:(.bss+0x0): multiple definition of `str'; opgui.o:(.bss+0x3eb60): first defined here /usr/bin/ld: progP16.o:(.bss+0x1008): multiple definition of `statusID'; opgui.o:(.bss+0x3fb68): first defined here /usr/bin/ld: progP16.o:(.bss+0x1000): multiple definition of `status_bar'; opgui.o:(.bss+0x3fb60): first defined here /usr/bin/ld: progP18.o:(.bss+0x0): multiple definition of `str'; opgui.o:(.bss+0x3eb60): first defined here /usr/bin/ld: progP18.o:(.bss+0x1008): multiple definition of `statusID'; opgui.o:(.bss+0x3fb68): first defined here /usr/bin/ld: progP18.o:(.bss+0x1000): multiple definition of `status_bar'; opgui.o:(.bss+0x3fb60): first defined here /usr/bin/ld: progP24.o:(.bss+0x0): multiple definition of `str'; opgui.o:(.bss+0x3eb60): first defined here /usr/bin/ld: progP24.o:(.bss+0x1008): multiple definition of `statusID'; opgui.o:(.bss+0x3fb68): first defined here /usr/bin/ld: progP24.o:(.bss+0x1000): multiple definition of `status_bar'; opgui.o:(.bss+0x3fb60): first defined here /usr/bin/ld: progEEPROM.o:(.bss+0x0): multiple definition of `str'; opgui.o:(.bss+0x3eb60): first defined here /usr/bin/ld: progEEPROM.o:(.bss+0x1008): multiple definition of `statusID'; opgui.o:(.bss+0x3fb68): first defined here /usr/bin/ld: progEEPROM.o:(.bss+0x1000): multiple definition of `status_bar'; opgui.o:(.bss+0x3fb60): first defined here /usr/bin/ld: progAVR.o:(.bss+0x0): multiple definition of `str'; opgui.o:(.bss+0x3eb60): first defined here /usr/bin/ld: progAVR.o:(.bss+0x1008): multiple definition of `statusID'; opgui.o:(.bss+0x3fb68): first defined here /usr/bin/ld: progAVR.o:(.bss+0x1000): multiple definition of `status_bar'; opgui.o:(.bss+0x3fb60): first defined here /usr/bin/ld: fileIO.o:(.bss+0x0): multiple definition of `str'; opgui.o:(.bss+0x3eb60): first defined here /usr/bin/ld: fileIO.o:(.bss+0x1000): multiple definition of `status_bar'; opgui.o:(.bss+0x3fb60): first defined here /usr/bin/ld: fileIO.o:(.bss+0x1008): multiple definition of `statusID'; opgui.o:(.bss+0x3fb68): first defined here /usr/bin/ld: I2CSPI.o:(.bss+0x0): multiple definition of `str'; opgui.o:(.bss+0x3eb60): first defined here /usr/bin/ld: I2CSPI.o:(.bss+0x1000): multiple definition of `status_bar'; opgui.o:(.bss+0x3fb60): first defined here /usr/bin/ld: I2CSPI.o:(.bss+0x1008): multiple definition of `statusID'; opgui.o:(.bss+0x3fb68): first defined here /usr/bin/ld: coff.o:(.bss+0x0): multiple definition of `coff_lineno_t'; opgui.o:(.bss+0x3eb20): first defined here /usr/bin/ld: icd.o:(.bss+0x0): multiple definition of `variables'; opgui.o:(.bss+0x3cb20): first defined here /usr/bin/ld: icd.o:(.bss+0x2000): multiple definition of `str'; opgui.o:(.bss+0x3eb60): first defined here /usr/bin/ld: icd.o:(.bss+0x3000): multiple definition of `status_bar'; opgui.o:(.bss+0x3fb60): first defined here /usr/bin/ld: icd.o:(.bss+0x3008): multiple definition of `statusID'; opgui.o:(.bss+0x3fb68): first defined here /usr/bin/ld: strings.o:(.bss+0x18c0): multiple definition of `str'; opgui.o:(.bss+0x3eb60): first defined here /usr/bin/ld: strings.o:(.bss+0x28c0): multiple definition of `status_bar'; opgui.o:(.bss+0x3fb60): first defined here /usr/bin/ld: strings.o:(.bss+0x28c8): multiple definition of `statusID'; opgui.o:(.bss+0x3fb68): first defined here collect2: error: ld returned 1 exit status make: *** [Makefile:39: opgui] Errore 1
Anyone can help me? thanks :)
Anonymous
[EDIT] i added a -fcommon flag on gcc command in MakeFile and now compile... But, when i start the opgui, i don't see the .png icon
Interesting, on Mint there is no problem.
Please keep us informed, I will add the solution to the official code.
@albmcc thanks for your reply. Now i'm stuck with the pixbuf algoritm, i think this is the problem... I'm checking the code of the pixecs' fork of your repo in which i see the icon. Have you got a discord account? or anything else in order to talk about this, i need help to understand where can be the bug. if you want i can contribute to the project with bugfixes and code organizzation.
~i'm diamant711 on GitHub
PS: i attach an image that shows the problem.
Thansks and let me know! ;)
Best is email, see on project page.
Ok! Keep this ticket open so i will able to write here when hopefully the bug will fixed