[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Problems with latest Cygwin make patch; builds OK but binary segfaults
From: |
William Sheehan |
Subject: |
Problems with latest Cygwin make patch; builds OK but binary segfaults |
Date: |
Thu, 24 Aug 2006 17:23:04 -0700 |
First, I know that this build is under a Cygwin environment, however it
appears that the problem I encountered was in the patched make sources
themselves. Please let me know if there is a more appropriate venue for
this problem. With that said...
I was interested in trying out Bill Hoffman's patch that would add DOS path
support to the Cygwin make binary. I have a good amount of experience
building under Linux, however not as much building packages under Cygwin.
Here are the steps I followed to try out this latest patch (from
http://article.gmane.org/gmane.comp.gnu.make.windows/2136):
1) Download and untar the make-3.81 release sources
2) Apply the patch
3) Run autoheader and autoconf
4) ./configure CFLAGS=-g (afterthought to troubleshoot the segfault)
5) make
This process seems to work in that I don't receive any obvious problems
during. However, when I try to use the final binary, it segfaults (or stack
overflow when invoked from cmd.exe). I have attached a zip file containing
relevant files that will (hopefully) determine if I'm doing something
bizarre or if this is a legitimate problem. Here are the contents:
make-build-process.script -- Verbatim copy of my shell session (is there a
script equivalent under Cygwin?). This also includes all of the output from
gdb, including the stack trace.
cygwin-make-toplevel.patch -- Patches for job.c, make.h, and configure.in
cygwin-make-config.patch -- Patch for dospaths.m4 (as an aside, what patch
process recognizes subdirectories as a patch target? Using sysinternals
filemon with all patches in a single file, it seemed that patch wasn't even
looking in the config subdir, so I had to separate them. I'm thinking I'm
just naïve regarding how to use patch, but I couldn't find anything that
addressed this)
cygcheck.out -- Output of 'cygcheck -s -v -r'. You will notice that the
version of 'make' says 3.81-1, however when I run /usr/bin/make --version,
it comes back as 3.80. This is because I updated to make 3.81, and then
replaced the binary with the older 3.80 version for some testing and
compatibility issues. Sloppy, yes, but I don't think this affects the issue
I'm reporting. Replacing the binary with the original make 3.81-1 binary
did not change the results.
My own analysis of the problem is that there is an infinite recursion call
to construct_command_argv_internal with the line parameter; it keeps getting
called with more and more backslash characters. Looking at the code seems
to indicate some oddities with the #ifdefs, but I wasn't able to pinpoint an
exact cause. I saw an earlier post to this list that seemed to deal with
that exact function, however I inferred that it was dealt with with this
patch.
Thanks for any input!
William Sheehan
Builds Engineer / Network Administrator
Open Interface North America
make-failure.zip
Description: Binary data
- Problems with latest Cygwin make patch; builds OK but binary segfaults,
William Sheehan <=
Re: Problems with latest Cygwin make patch; builds OK but binary segfaults, William A. Hoffman, 2006/08/24