Re: make -j1 fails
On Fri, Jan 14, 2011 at 6:27 PM, Ralf Wildenhues ralf.wildenh...@gmx.de wrote: * Pippijn van Steenhoven wrote on Fri, Jan 14, 2011 at 09:38:36AM CET: On Thu, Jan 13, 2011 at 07:22:20PM +0100, Ralf Wildenhues wrote: If the failure persists, please post short configure.ac and Makefile.am which expose the problem for you. You can start with what I show below, and adjust that if it doesn't expose it. The code didn't trigger the bug and I couldn't easily reproduce it by modifying it. It involves considerable effort to modify my existing project and upload it to the FreeBSD build machine and I don't have time to do that, now. Understood. This sounds like a FreeBSD make bug, but I'm not sure. Can you make your project available for us to try and reproduce the bug (I have access to a couple of FreeBSD systems)? If not, then I'm afraid I'll not be able to pursue this further before seeing a reduced version. While you're waiting for that, perhaps you could pursue the problem I did take the time to provide a reduced test case for in November: http://lists.gnu.org/archive/html/automake/2010-11/msg00135.html Note that this issue is no longer a problem for NTP -- autogen's libopts now provides LIBOPTS_CHECK_NOBUILD, which sidesteps the need to conditionalize AC_CONFIG_FILES([libopts/Makefile]), and works correctly on Automake 1.10, which doesn't support AM_COND_IF conditionalization of AC_CONFIG_FILES. I am annoyed no one has taken the time to follow up after I took the time to produce a reduced test case illustrating the automake misbehavior, and each time I see a request for a reduced repro, I wonder what I might have done wrong in anticipating the request and providing the reduced test case in the initial report. Cheers, Dave Hart
Re: make -j1 fails
On Thu, Jan 13, 2011 at 07:22:20PM +0100, Ralf Wildenhues wrote: Thanks for the bug report. Which version of Automake are you using? If older than v1.10b-62-g0e411a0, then please update to 1.11.1 and retry. It may be possible that we overlooked one case in the above-mentioned commit, but I don't see where that should be. I am using automake (GNU automake) 1.11.1 from Debian squeeze. If the failure persists, please post short configure.ac and Makefile.am which expose the problem for you. You can start with what I show below, and adjust that if it doesn't expose it. The code didn't trigger the bug and I couldn't easily reproduce it by modifying it. It involves considerable effort to modify my existing project and upload it to the FreeBSD build machine and I don't have time to do that, now. GNU make does not misbehave this way, so for now I'll use that. Does the failure happen reliably, i.e., every time, or only sometimes? It happens reliably with any N in make -jN. Does 'make -B -jN' work for you reliably? Yes, that works as expected and executes the right command (the one also executed without -jN). Which exact FreeBSD version are you using? I'm kind of suspecting a bug in the make implementation, or we're overlooking something with one-shell issues. I am using FreeBSD 8.0-RELEASE-p4. -- Pippijn van Steenhoven signature.asc Description: Digital signature
Re: make -j1 fails
* Pippijn van Steenhoven wrote on Fri, Jan 14, 2011 at 09:38:36AM CET: On Thu, Jan 13, 2011 at 07:22:20PM +0100, Ralf Wildenhues wrote: If the failure persists, please post short configure.ac and Makefile.am which expose the problem for you. You can start with what I show below, and adjust that if it doesn't expose it. The code didn't trigger the bug and I couldn't easily reproduce it by modifying it. It involves considerable effort to modify my existing project and upload it to the FreeBSD build machine and I don't have time to do that, now. Understood. This sounds like a FreeBSD make bug, but I'm not sure. Can you make your project available for us to try and reproduce the bug (I have access to a couple of FreeBSD systems)? If not, then I'm afraid I'll not be able to pursue this further before seeing a reduced version. Thanks, Ralf
Re: make -j1 fails
Hello Pippijn, * Pippijn van Steenhoven wrote on Thu, Jan 13, 2011 at 09:24:42AM CET: I am using the FreeBSD make utility to build an automake based distribution. When I run make with a -j option (even -j1), it fails. Running make with a -j option makes the utility behave differently. The issue only arises with built sources (in my case, yacc generated C code), since those trigger the inference rule .c.lo. Perhaps a solution would be to also generate explicit rules for built sources. I have attached the output of running make with and without -j1. Thanks for the bug report. Which version of Automake are you using? If older than v1.10b-62-g0e411a0, then please update to 1.11.1 and retry. It may be possible that we overlooked one case in the above-mentioned commit, but I don't see where that should be. If the failure persists, please post short configure.ac and Makefile.am which expose the problem for you. You can start with what I show below, and adjust that if it doesn't expose it. Does the failure happen reliably, i.e., every time, or only sometimes? You can try in a loop with something like for i in 1 2 3 4 5 6 7 8 9 10; do rm -f axl.[clo]* make V=1 -j1 done Does 'make -B -jN' work for you reliably? Which exact FreeBSD version are you using? I'm kind of suspecting a bug in the make implementation, or we're overlooking something with one-shell issues. cat configure.ac \END AC_INIT([a], [1]) AC_CONFIG_AUX_DIR([autoconf]) AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_FILES([Makefile]) AC_PROG_CC AC_PROG_LIBTOOL AC_PROG_YACC AC_OUTPUT END cat Makefile.am \END lib_LTLIBRARIES = libfoo.la libfoo_la_SOURCES = src/compiler/phases/parse/axl.y END Thanks, Ralf /bin/sh ./libtool --tag=CC--mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I./include/config -I../include -I./include -I../include -I./include -D_DEBUG -DPREFIX='/usr/local' -I../`echo axl.c | grep -o 'src/library/\w\+'`/include -g -O2 -pipe -ggdb3 -pedantic -ansi -fvisibility=hidden -MT axl.lo -MD -MP -MF .deps/axl.Tpo -c -o axl.lo axl.c /bin/sh ./libtool --tag=CC--mode=compile gcc -DHAVE_CONFIG_H -I. -I.. -I./include/config -I../include -I./include -I../include -I./include -D_DEBUG -DPREFIX='/usr/local' -I../`echo axl.c | grep -o 'src/library/\w\+'`/include -g -O2 -pipe -ggdb3 -pedantic -ansi -fvisibility=hidden -MT axl.lo -MD -MP -MF .deps/src/compiler/phases/parse/axl.Tpo -c -o axl.lo axl.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I.. -I./include/config -I../include -I./include -I../include -I./include -D_DEBUG -DPREFIX=\/usr/local\ -I..//include -g -O2 -pipe -ggdb3 -pedantic -ansi -fvisibility=hidden -MT axl.lo -MD -MP -MF .deps/src/compiler/phases/parse/axl.Tpo -c axl.c -fPIC -DPIC -o .libs/axl.o axl.c:3626: fatal error: opening dependency file .deps/src/compiler/phases/parse/axl.Tpo: No such file or directory