Whenever I try to compile the GZdoom source code, I get the following error message:
mingw32-make --C tools/lemon -f Makefile
mingw32-make[1]: Entering directory 'C:/GZdoom source/tools/lemon'
mingw32-make[1]: Makefile: No such file or directory.
mingw32-make[1]: *** No rule to make target 'Makefile'. Stop.
mingw32-make[1]: Leaving directory 'C:/GZdoom source/tools/lemon'
mingw32-make: *** [basetools] Error 2.
Can anybody help me? My OS is Windows and my compiler is MinGW.
Compiling GZdoom in Windows
Moderator: Graf Zahl
- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
Me too:

Code: Select all
C:\mingw\gzdoom>mingw32-make
mingw32-make -C tools/lemon -f Makefile
mingw32-make[1]: Entering directory `C:/mingw/gzdoom/tools/lemon'
mingw32-make[1]: Makefile: No such file or directory
mingw32-make[1]: *** No rule to make target `Makefile'. Stop.
mingw32-make[1]: Leaving directory `C:/mingw/gzdoom/tools/lemon'
mingw32-make: *** [basetools] Error 2

- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
OK, maybe a bit of progress, but I'm guessing here now. I looked in the lemon directory and found makefile.mgw but no makefile with no extension. So, clutching at straws, I copied the mgw file and removed its extension. Now I get this.
AAAAAAAAARRRRRRRRRRRRRRGGGGGGGGGGGGG!!!!!
Ahem! So, yeah, I think that's really got me because what it is saying simply doesn't make any sense to me.
I've looked in the file alloc.h, the FLAC directory is quite different to the version of Zdoom that I compiled, and found this:
Unfortunately I don't know enough about it but that looks to me like it's "declaring SIZE_T_MAX" so, yup, stuck.
Anyone got any clues? Or did I mess things up earlier with the makefile renaming?
I feel like I'm fumbling around in the dark, just like the maze in that Egyptian themed WAD I played yesterday (Tomb of Omhotep).
Code: Select all
Compiling stream_decoder.c: [ERROR]
gcc -D__MINW32__ -DWIN32 -DNDEBUG -D_LIB -DFLAC__CPU_IA32 -DFLAC_HAS_NASM -DFLAC
__SSE_OS -DFLAC__USE_3DNOW -DFLAC__NO_DLL -I. -O2 -Wall -Wno-unused-function -fo
mit-frame-pointer -c -o stream_decoder.o stream_decoder.c
In file included from stream_decoder.c:57:
share/alloc.h:41:5: #error
In file included from stream_decoder.c:57:
share/alloc.h: In function `safe_malloc_mul_2op_':
share/alloc.h:120: error: `SIZE_T_MAX' undeclared (first use in this function
)
share/alloc.h:120: error: (Each undeclared identifier is reported only once
share/alloc.h:120: error: for each function it appears in.)
share/alloc.h: In function `safe_malloc_mul_3op_':
share/alloc.h:130: error: `SIZE_T_MAX' undeclared (first use in this function
)
share/alloc.h: In function `safe_malloc_mul2add_':
share/alloc.h:143: error: `SIZE_T_MAX' undeclared (first use in this function
)
share/alloc.h: In function `safe_realloc_mul_2op_':
share/alloc.h:196: error: `SIZE_T_MAX' undeclared (first use in this function
)
mingw32-make[1]: *** [stream_decoder.o] Error 1
mingw32-make[1]: Leaving directory `C:/mingw/gzdoom/flac'
mingw32-make: *** [basetools] Error 2
Ahem! So, yeah, I think that's really got me because what it is saying simply doesn't make any sense to me.

I've looked in the file alloc.h, the FLAC directory is quite different to the version of Zdoom that I compiled, and found this:
Code: Select all
#ifndef SIZE_MAX
# ifndef SIZE_T_MAX
# ifdef _MSC_VER
# define SIZE_T_MAX UINT_MAX
# else
# error
# endif
# endif
# define SIZE_MAX SIZE_T_MAX
#endif
Anyone got any clues? Or did I mess things up earlier with the makefile renaming?
I feel like I'm fumbling around in the dark, just like the maze in that Egyptian themed WAD I played yesterday (Tomb of Omhotep).

- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
From a thread for quite an old version of Zdoom (r578)
http://forum.zdoom.org/viewtopic.php?f= ... 97#p310197
And that really does have me stumped. 
http://forum.zdoom.org/viewtopic.php?f= ... 97#p310197
Unfortunately, that's where the thread ends. I don't seem to have a limits.h file anywhere to add the line lemonzest suggested (#define SIZE_T_MAX UINT_MAX /* max value for a size_t */) so I tried adding it to alloc.h and things seem to be moving a bit further. Now I get:Lemonzest wrote:yeah i need to install GCC 4.2.1 again, only went back to 3.4.5 because of odamex problems. but thanks for the hint
edit: just installed gcc 4.2.1 from mingw site, and still need the line added to limits.h ah well it builds
in alloc.h in the FLAC project, there's this which i think is defining SIZE_T_MAX for ms vc and mabe it needs something for gcc?
#ifndef SIZE_MAX
# ifndef SIZE_T_MAX
# ifdef _MSC_VER
# define SIZE_T_MAX UINT_MAX
# else
# error
# endif
# endif
# define SIZE_MAX SIZE_T_MAX
#endif
Code: Select all
mingw32-make[1]: *** No rule to make target `releaseobj/decorations.o', needed by `zdoomgcc.exe'. Stop.
mingw32-make[1]: Leaving directory `C:/mingw/gzdoom'
mingw32-make: *** [game] Error 2

- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
Nope, I've tried a few more things but I'm really stuck.
This seems to be as far as I can get.
Has anyone managed to compile GZdoom with MinGW? Is it supposed to compile with MinGW? Any one got any clues?
I really don't want to have to download well over a gigabyte of stuff from MS if this can be made to work. In fact, the MS downloads are just too big for me to consider really.

Has anyone managed to compile GZdoom with MinGW? Is it supposed to compile with MinGW? Any one got any clues?
I really don't want to have to download well over a gigabyte of stuff from MS if this can be made to work. In fact, the MS downloads are just too big for me to consider really.

- Snake Doomer
- Posts: 4
- Joined: Mon Jan 21, 2008 4:28
-
- Posts: 13
- Joined: Wed Jan 23, 2008 17:03
Hmm, Well I'm using the latest GCC and everything. After renaming the makefile in Tools/Lemon, I've encountered this error:
To be honest I think the makefile was made a little hastily. We're probably going to have to just figure this one out and give the changes to the makefile to Graf.
EDIT: I Just searched for Zdoom.1st and can't seem to find it... Graf, was this file renamed?
Code: Select all
make[1]: Leaving directory `c:/GZDoom-Source/tools/re2c'
c:/MinGW/bin/make -C wadsrc -f Makefile
make[1]: Entering directory `c:/GZDoom-Source/wadsrc'
../tools/makewad/makewad -make wadmake zdoom.lst
process_begin: CreateProcess(NULL, ../tools/makewad/makewad -make wadmake zdoom.lst, ...) failed.
make (e=2): The system cannot find the file specified.
make[1]: *** [wadmake] Error 2
make[1]: Leaving directory `c:/GZDoom-Source/wadsrc'
make: *** [basetools] Error 2
EDIT: I Just searched for Zdoom.1st and can't seem to find it... Graf, was this file renamed?
- Enjay
- Developer
- Posts: 4748
- Joined: Tue Aug 30, 2005 23:19
- Location: Scotland
- Contact:
- Snake Doomer
- Posts: 4
- Joined: Mon Jan 21, 2008 4:28
At last! Progress!
Under the "tools/lemon" directory in the GZdoom source code, there is a "Makefile" MINGW file. Rename it to be just a plain file. Then, when you compile it with MINGW, it manages to spit a .pk3 file out at you. I'm not sure if it makes a .exe file because I have not located one yet.
Under the "tools/lemon" directory in the GZdoom source code, there is a "Makefile" MINGW file. Rename it to be just a plain file. Then, when you compile it with MINGW, it manages to spit a .pk3 file out at you. I'm not sure if it makes a .exe file because I have not located one yet.