When attempting to compile Hellband in Cygwin, using the code and instructions here https://github.com/NickMcConnell/Ang.../tree/Hellband , I get an error message:
~~~~~~~~~~~~
smbhax@DESKTOP-64GQN1N ~/hellband/src
$ make -fmakefile.cyg
gcc -o hellband angband.res z-util.o z-virt.o z-form.o z-rand.o z-term.o variable.o tables.o util.o cave.o object1.o object2.o monster1.o monster2.o xtra1.o xtra2.o spells1.o spells2.o melee1.o melee2.o save.o files.o cmd1.o cmd2.o cmd3.o cmd4.o cmd5.o cmd6.o store.o birth.o load.o wizard1.o wizard2.o generate.o dungeon.o init1.o init2.o main-win.o readdib.o quest.o -s -mwindows -lwinmm
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: files.o:files.c.bss+0xc): multiple definition of `player_uid'; variable.o:variable.c.bss+0x3d90): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: files.o:files.c.bss+0x8): multiple definition of `player_egid'; variable.o:variable.c.bss+0x3d88): first defined here
collect2: error: ld returned 1 exit status
make: *** [makefile.cyg:79: hellband] Error 1
~~~~~~~~~~
That was after swapping to gcc for the compiler (makefile.cyg line 43). When I tried with mingw64 instead, I got a very similar error:
~~~~~~~~~~~~
smbhax@DESKTOP-64GQN1N ~/hellband/src
$ make -fmakefile.cyg
x86_64-w64-mingw32-gcc -o hellband angband.res z-util.o z-virt.o z-form.o z-rand.o z-term.o variable.o tables.o util.o cave.o object1.o object2.o monster1.o monster2.o xtra1.o xtra2.o spells1.o spells2.o melee1.o melee2.o save.o files.o cmd1.o cmd2.o cmd3.o cmd4.o cmd5.o cmd6.o store.o birth.o load.o wizard1.o wizard2.o generate.o dungeon.o init1.o init2.o main-win.o readdib.o quest.o -s -mwindows -lwinmm
/usr/lib/gcc/x86_64-w64-mingw32/11/../../../../x86_64-w64-mingw32/bin/ld: files.o:files.c.bss+0xc): multiple definition of `player_uid'; variable.o:variable.c.bss+0x3cb0): first defined here
/usr/lib/gcc/x86_64-w64-mingw32/11/../../../../x86_64-w64-mingw32/bin/ld: files.o:files.c.bss+0x8): multiple definition of `player_egid'; variable.o:variable.c.bss+0x3ca8): first defined here
collect2: error: ld returned 1 exit status
make: *** [makefile.cyg:79: hellband] Error 1
~~~~~~~~~~~
Could this be some other package I'm missing?
Sorry for the horrible noob questions!
~~~~~~~~~~~~
smbhax@DESKTOP-64GQN1N ~/hellband/src
$ make -fmakefile.cyg
gcc -o hellband angband.res z-util.o z-virt.o z-form.o z-rand.o z-term.o variable.o tables.o util.o cave.o object1.o object2.o monster1.o monster2.o xtra1.o xtra2.o spells1.o spells2.o melee1.o melee2.o save.o files.o cmd1.o cmd2.o cmd3.o cmd4.o cmd5.o cmd6.o store.o birth.o load.o wizard1.o wizard2.o generate.o dungeon.o init1.o init2.o main-win.o readdib.o quest.o -s -mwindows -lwinmm
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: files.o:files.c.bss+0xc): multiple definition of `player_uid'; variable.o:variable.c.bss+0x3d90): first defined here
/usr/lib/gcc/x86_64-pc-cygwin/11/../../../../x86_64-pc-cygwin/bin/ld: files.o:files.c.bss+0x8): multiple definition of `player_egid'; variable.o:variable.c.bss+0x3d88): first defined here
collect2: error: ld returned 1 exit status
make: *** [makefile.cyg:79: hellband] Error 1
~~~~~~~~~~
That was after swapping to gcc for the compiler (makefile.cyg line 43). When I tried with mingw64 instead, I got a very similar error:
~~~~~~~~~~~~
smbhax@DESKTOP-64GQN1N ~/hellband/src
$ make -fmakefile.cyg
x86_64-w64-mingw32-gcc -o hellband angband.res z-util.o z-virt.o z-form.o z-rand.o z-term.o variable.o tables.o util.o cave.o object1.o object2.o monster1.o monster2.o xtra1.o xtra2.o spells1.o spells2.o melee1.o melee2.o save.o files.o cmd1.o cmd2.o cmd3.o cmd4.o cmd5.o cmd6.o store.o birth.o load.o wizard1.o wizard2.o generate.o dungeon.o init1.o init2.o main-win.o readdib.o quest.o -s -mwindows -lwinmm
/usr/lib/gcc/x86_64-w64-mingw32/11/../../../../x86_64-w64-mingw32/bin/ld: files.o:files.c.bss+0xc): multiple definition of `player_uid'; variable.o:variable.c.bss+0x3cb0): first defined here
/usr/lib/gcc/x86_64-w64-mingw32/11/../../../../x86_64-w64-mingw32/bin/ld: files.o:files.c.bss+0x8): multiple definition of `player_egid'; variable.o:variable.c.bss+0x3ca8): first defined here
collect2: error: ld returned 1 exit status
make: *** [makefile.cyg:79: hellband] Error 1
~~~~~~~~~~~
Could this be some other package I'm missing?
Sorry for the horrible noob questions!
Comment