goshhhy / 486quake

quake but it do a faster
51 stars 6 forks source link

make error #13

Open lavenderdotpet opened 11 months ago

lavenderdotpet commented 11 months ago
i586-pc-msdosdjgpp-gcc -Dstricmp=strcasecmp  -DSUBARCH="\"486\"" -DOLEVEL="\"O3\"" -DREVISION="7" -DLTOFLAGS="\" -flto\"" -Did386=1 -DCCVERSION="\"i586-pc-msdosdjgpp-gcc (GCC) 12.2.0\"" -I src/ -I "src/r_std/" -Dstricmp=strcasecmp  -DSUBARCH="\"486\"" -DOLEVEL="\"O3\"" -DREVISION="7" -DLTOFLAGS="\" -flto\"" -Did386=1 -DCCVERSION="\"i586-pc-msdosdjgpp-gcc (GCC) 12.2.0\"" -I src/ -I "src/r_std/" -s -O3 -march=i486 -mtune=i486 -ffast-math -fno-unwind-tables -fno-asynchronous-unwind-tables -funroll-loops -fno-stack-protector -fexpensive-optimizations -flto  -DSLOWDRAW -o /home/lavender/Downloads/486quake/build/486quake/cl_demo.o -c /home/lavender/Downloads/486quake/src/client/cl_demo.c
In file included from /home/lavender/Downloads/486quake/src/client/cl_demo.c:21:
/home/lavender/Downloads/486quake/src/client/../quakedef.h:42:10: fatal error: string.h: No such file or directory
   42 | #include <string.h>
      |          ^~~~~~~~~~
compilation terminated.
make: *** [Makefile:178: /home/lavender/Downloads/486quake/build/486quake/cl_demo.o] Error 1
lavenderdotpet commented 11 months ago

also if a newer version could be put on the releases page that would be amazing

goshhhy commented 11 months ago

this looks like an issue with DJGPP not being able to find its own headers. can you give me more information about your build environment? e.g. what distribution are you using, and how did you install DJGPP on your system?

also if a newer version could be put on the releases page that would be amazing

i am planning to make a release later this month; i have been trying to finish up some work-in-progress changes before i do so. however, since i'm not making quick progress, i'll consider cutting a new release as-is.

i'm also hoping to get a Nix build script set up soon - this would take care of ensuring an appropriate toolchain, and i would then easily be able to set up actions to produce binaries even between releases.

lavenderdotpet commented 11 months ago

was having issues with djgpp manually installed it by using sudo cp -r /usr/ and manually coping the files to their respective directories
broke some gcc stuff on my system and had to roll it back even when i had djgpp installed couldnt get it compiled

the aur versions of djgpp are also just broken cant get them to install

Darkcrafter07 commented 3 months ago

@goshhhy, could you please upload your djgpp bundle for dos/win9x? I'm curious to get it compiled here but I got a couple of errors:

"make" gives me "makefile:1: *** missing separator. Stop." "make -f makefile.dos" gives me "makefile.dos:25: Extraneous text after 'else' directive" "make -f makefile.dos" gives me "makefile.dos:28: Extraneous text after 'else' directive" "make -f makefile.dos" gives me "makefile.dos:28: only one 'else' per conditional. Stop."

I found a random djgpp bundle on the web and edited the init.bat enironments to suit my own folder location.

goshhhy commented 3 months ago

i do not have a DJGPP bundle, as I built DJGPP myself on one of my Linux systems, and that is what i use to build 486quake.

it looks to me like whatever make utility is installed on your system is not happy - what operating system are you on, and where does your make utility come from?

as an alternative, there is a Nix flake, which encapsulates the DJGPP setup, so if you are on Linux or macOS you may be able to use that to do a build without having to worry about the toolchain.

Darkcrafter07 commented 3 months ago

@goshhhy, I'm trying to compile it under MS-DOS 7.10 of Windows 95 OSR2 before the Windows start. Duke Nukem 3D sources compile like a charm with a Watcom C/C++ compiler under the same system but for sure, I made a separate C drive image before installing DJGPP in there so that it won't conflict with Watcom. I also install the compilers on a separate drive D as my C drive is too short on free space.

goshhhy commented 3 months ago

I have never compiled it from DOS or Windows, and I do not know if it is even possible to do that at present. I don't believe that DOS Quake was originally built self-hosted on DOS/Windows, either - to my understanding they were using NeXT workstations and SGI servers at the time, and cross-compiled from those.

Darkcrafter07 commented 3 months ago

I don't think that DOS is the problem here, instead it might be an outdated version of make exe that dates back to December 25 2001, of course it won't understand the makefile statements coming after 'else'.