make: Interrupt/Exception caught

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.

windows
make
mingw
asked on Super User Jan 5, 2012 by orlp

7 Answers

46

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
answered on Super User Mar 17, 2012 by Norbert P.
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.

answered on Super User May 12, 2014 by Ignitor
3

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

PATH=

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

answered on Super User Apr 14, 2012 by Mark Tolley
3

This make bug is fixed at least in

GNU Make 3.82
Built for i686-pc-mingw32

.

answered on Super User Apr 25, 2014 by Armali
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/

answered on Super User Aug 20, 2013 by user246954
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+.
answered on Super User Mar 17, 2012 by bwDraco • edited Apr 23, 2013 by bwDraco
-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.

answered on Super User Nov 11, 2014 by martinv

User contributions licensed under CC BY-SA 3.0