On 4/7/2014 11:26 PM, Philip Guenther wrote:
On Mon, Apr 7, 2014 at 4:45 PM, Rob Juergens <rjuerg...@esri.com> wrote:
Given the make file (makefile):
----------------------------------
foo : bar
----------------------------------
gmake 3.75 gives this:
gmake: *** No rule to make target 'bar', needed by 'foo'. Stop.
gmake 4.0 gives this:
gmake: ***. stop.
This has caused a lot of time trying to figure out what is wrong with the
makefile. A big step backward in error reporting.
Please fix this.
I am unable to reproduce this:
: morgaine; ls -l
total 2
-rw-rw-r-- 1 guenther wheel 10 Apr 7 21:22 Makefile
: morgaine; cat Makefile
foo : bar
: morgaine; gmake --version
GNU Make 4.0
Built for x86_64-unknown-openbsd5.5
Copyright (C) 1988-2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
: morgaine; gmake
gmake: *** No rule to make target 'bar', needed by 'foo'. Stop.
: morgaine;
What information about your situation did you leave out?
I was able to reproduce a similar issue on VAX/VMS 7.3 with Gnu Make 4.0
from the release tarball. Under some code paths the output buffer size
is initialized to zero length and output gets truncated.
The buffer expansion algorithm was to double the size of the buffer if
it detects that there is not room for the output of vsnprintf, but since
the size starts at zero in some cases, zero * 2 is still zero, so the
buffer was not expanded. Which results in the output reported above.
I did not see this issue on Alpha or IA64/VMS 8.4, and did not find out
why it works on that platform and failed on VAX/VMS, since I would have
expected similar behavior in both cases.
The section of code that causes the problem has been completely replaced
in master.
Regards,
-John
_______________________________________________
Bug-make mailing list
Bug-make@gnu.org
https://lists.gnu.org/mailman/listinfo/bug-make