Re: make -j1 fails

2011-01-18 Thread Dave Hart
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

2011-01-14 Thread Pippijn van Steenhoven
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

2011-01-14 Thread Ralf Wildenhues
* 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

2011-01-13 Thread Ralf Wildenhues
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