Hello,

I've encountered a problem where a released tarball (of 'make dist')
generated by Automake-1.16.1 fails to build with non-gnu make (e.g.
"bmake" on BSDs).
The exact same project and 'make dist' with automake-1.15 builds fine.

It has something to do with non-recursive makefile structure common
to some gnu projects.

I haven't been able to pin-point the issue, so if anyone has some ideas
or suggestions they are very welcomed.

One way to reproduce (with GNU hello):

1. with "automake-1.15":

$ automake --version | head -1
   automake (GNU automake) 1.15

   $ git clone git://git.sv.gnu.org/hello.git
   $ cd hello

   # Build, then clean - emulating a 'make dist' situation
$ ./bootstrap && ./configure && make
   [... all ok ...]
   $ make clean

   # Now build with BSD Make
   $ bmake
   [ .. builds ok ... ]

2. Repeat the exact same steps with automake-1.16.1,
and "bmake" will fail with:

   $ bmake
   [...]
   Making all in po
depbase=`echo src/hello.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`; gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DHAVE_CONFIG_H -I. -Ilib -I./lib -Isrc -I./src -g -O2 -MT src/hello.o -MD -MP -MF $depbase.Tpo -c -o src/hello.o src/hello.c && mv -f $depbase.Tpo $depbase.Po
   bmake[2]: don't know how to make ./lib/libhello.a. Stop

   bmake[2]: stopped in /tmp/hello-test/hello
   *** Error code 1

The 'bmake' here is BSD-make from the stock Debian 'bmake' package,
but the same happens on FreeBSD.

----

The same happens in my package (GNU datamash).

It doesn't happen in GNU sed or GNU coreutils - I'm still trying to
find out what are the differences between the packages that do fail
and don't fail...
If this rings any bells, please let me know.

Thanks,
 - assaf


Reply via email to