On 1/21/2011 6:38 PM, Eli Zaretskii wrote:
Date: Fri, 21 Jan 2011 17:04:56 -0600
From: raleigh rinehart<[email protected]>
I am reworking some makefiles for our build system and getting a rather
unusual error. During a copy cmd this error is occurring (taken from
make with –d option)
Unhandled exception filter called from program make
ExceptionCode = c0000005
ExceptionFlags = 0
ExceptionAddress = 100143c0
Access violation: write operation at address 2e2e2061
[...]
The version of Make is GNU Make (Sourcery G++ Lite 2009q3-68) 3.81, it
come from our tools package vendor, Code Sourcery. Which, of course, is
the 'lite' unsupported version.
Can you try using the latest release of Make, v3.82? There were a
couple of bugs in Make 3.81 on Windows that caused similar crashes,
they are fixed in 3.82. You should be able to find a precompiled
binary of Make 3.82 on the MinGW site, or you could build it yourself,
if you have MinGW installed. Building Make on Windows doesn't require
anything but a working compiler and Binutils installation, see
README.W32 in the source tarball for instructions.
If using Make 3.82 is not an option, try playing with the environment
variables that are in effect when Make runs, some of the bugs I
mention above were related to looking up and processing environment
variables.
Thanks for your suggestions Eli. It may be possible to upgrade to 3.82,
but that will take some time and I'm pressed to come up with a solution
asap.
I will check out the Environment variables and see if anything turns up
there. However, after some more tests it seems that the problem is
related to command line parameter length limits. We are using just the
plain windows cmd.exe for our shell (on XP and 2003). If I divide the
$(libraries) list into smaller chunks then it is okay. Although it is
somewhat strange that I get this error since the length of the cmd is
5329, well short of the supposed 8191 limit for cmd.exe on xp. I
suppose it could just be a bug in 3.81.
Now the problem is how to write a macro to split a list into multiple
smaller lists to exec the cmd on. I already know I'm going to have the
same issue in other parts on the makefile (linking for example). Any
ideas on this?
The tricky part is the syntax must be valid for both gnu make and
Electric Cloud's Emake.
thanks,
-raleigh
_______________________________________________
Make-w32 mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/make-w32