33

I'm using Make from the MinGW distribution. It has always worked, but recently I've gotten the following error:

> make clean
make: Interrupt/Exception caught (code = 0xc0000005, addr = 0x0040b0ac)

And the respective part looks like this:

clean:
    del /S /Q *.o > nul
    del /S /Q *.cy.c > nul
    del /S /Q *.pyc > nul
    del /S /Q *.pyo > nul
    if EXIST build (rmdir /S /Q dist > nul)

I have no idea what causes this. Especially because it always has worked perfectly fine.

orlp
  • 1,577

7 Answers7

47

I was starting to get an exception as well:

make: Interrupt/Exception caught (code = 0xc00000fd, addr = 0x4227d3)

Might be a different reason, but this problem is apparently caused when the PATH variable contains parentheses (, ), as it does on Win Vista/7. Unfortunately, the available GNU for Windows is hopelessly outdated.

My problem was fixed by forcing make use the correct shell: insert the following line at the beginning of your makefile.

SHELL=C:/Windows/System32/cmd.exe
8

I had that issue when I added Git's bin directory to the PATH environment variable. The reason seems to be that Git ships with a version of MSYS and that seems to conflict with MinGW (maybe it doesn't conflict when it's the right version of MSYS and/or MinGW but that's just guessing).

So make sure that there is no (other) MSYS distribution in your PATH.

Ignitor
  • 221
4

Futher to Norbet P.'s answer, I found that adding:

PATH=

to the top of my Makefile fixed this particular problem for me.

Mark Tolley
  • 149
  • 3
3

This make bug is fixed at least in

GNU Make 3.82
Built for i686-pc-mingw32

.

Armali
  • 131
2

I used GnuWin until I realised last release was posted back in 26 Nov in 2006 . Thats a bit lame, and caused such problems as seen above. Setting SHELL=C:/Windows/System32/cmd.exe does solve some problems but running such old code on new operatingsystems feels unsafe

MinGw is a safer bet. MinGw is acronym for "Minimalist GNU for Windows" and is up to date and includes make and other tools

http://sourceforge.net/projects/mingw/files/

1

The Windows error code 0xC0000005 indicates an access violation, or segmentation fault.

  • Is your MinGW installation corrupted?
  • Is your system configured properly? Have any system settings changed recently?
  • Are there hardware problems on your system? You may need to scan the hard drive using CHKDSK or perform a memory test such as Memtest86+.
bwDraco
  • 46,683
-1

I noticed in my compile logs that "SHELL=sh" was being passed to make, even though I am on windows platform. My Makfile looked like this:

ifneq (,$(findstring win,$(RDI_PLATFORM))) SHELL = CMD endif

Once I commented the ifneq and end it started working. Not sure why the platform was not interpreted correctly.