Menu

#254 error while build under msys2 64bit, windows 10

v1.0 (example)
open
nobody
None
5
2020-12-24
2020-05-31
Mike Yi
No

i used "make" in "gerbv" dir, and got following error messages:
D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: interface.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:50: multiple definition of toggle_layer'; callbacks.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:50: first defined here D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: interface.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:44: multiple definition ofCALLBACKS_SAVE_FILE_TYPE'; callbacks.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:44: first defined here
D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: main.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:50: multiple definition of toggle_layer'; callbacks.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:50: first defined here D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: main.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:44: multiple definition ofCALLBACKS_SAVE_FILE_TYPE'; callbacks.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:44: first defined here
D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: render.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:50: multiple definition of toggle_layer'; callbacks.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:50: first defined here D:/msys64/mingw64/lib/gcc/x86_64-w64-mingw32/10.1.0/../../../../x86_64-w64-mingw32/bin/ld.exe: render.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:44: multiple definition ofCALLBACKS_SAVE_FILE_TYPE'; callbacks.o:D:\msys64\home\MikeYi\gerbv\src/callbacks.h:44: first defined here
collect2.exe: error: ld returned 1 exit status
make[3]: [Makefile:681: gerbv.exe] Error 1
make[3]: Leaving directory '/home/MikeYi/gerbv/src'
make[2]:
[Makefile:556: all] Error 2
make[2]: Leaving directory '/home/MikeYi/gerbv/src'
make[1]: [Makefile:512: all-recursive] Error 1
make[1]: Leaving directory '/home/MikeYi/gerbv'
make:
[Makefile:442: all] Error 2

configure comman:
"./configure --prefix=/mingw64 --disable-update-desktop-database"

Discussion

  • Eyal

    Eyal - 2020-12-23

    I see this bug, too. The problem will only occur under new versions of gcc where -fno-common is now the default.

    The solution is to modify the definition of CALLBACKS_SAVE_FILE_TYPE. Instead of:

    enum { ... } CALLBACKS_SAVE_FILE_TIME;

    it should be

    enum CALLBACKS_SAVE_FILE_TIME { ... };

    There are other enums in the same file that need the same treatment.

     

Log in to post a comment.