Re: s6: compatibility with make<3.82

From: Buck Evan <buck_at_yelp.com>
Date: Fri, 7 Aug 2015 16:29:01 -0700

On Fri, Aug 7, 2015 at 4:24 PM, Laurent Bercot <ska-supervision_at_skarnet.org>
wrote:

> On 07/08/2015 23:22, Avery Payne wrote:
>
>> That means I'm stuck with a make that won't build s6, unless I
>> download, build, and install a separate make, which may or may not
>> conflict with the existing install, leading to all kinds of "good
>> times" that I really don't need.
>>
>
> As Buck said, there's no possible difficulty in
>
> mkdir /opt/make-4.1
> cd /opt/make-4.1
> wget http://ftp.gnu.org/gnu/make/make-4.1.tar.bz2
> tar jxpvf make-4.1.tar.bz2
> mv make-4.1 src
> cd src
> ./configure --prefix=/opt/make-4.1 && make && make install
>

Well there's a "possible difficulty" if you don't know about --prefix.
Avery didn't.


 Also note that make is backwards compatible: everything that builds
> under make-3.81 will build under make-4.1, so even if you inadvertently
> replaced /usr/bin/make, your servers still wouldn't break.



Laurent, I've just run across a counter example: (this gives me a bonafide
issue when handling your -lskarnet rules)

s6-user_at_696f14e9c9bd:~/scratch$ cat Makefile
all: -lc
echo $^

s6-user_at_696f14e9c9bd:~/scratch$ make
echo /usr/lib/x86_64-linux-gnu/libc.so
/usr/lib/x86_64-linux-gnu/libc.so

s6-user_at_696f14e9c9bd:~/scratch$ make --version
GNU Make 3.81

s6-user_at_696f14e9c9bd:~/scratch$ /opt/make/make
make: *** No rule to make target '-lc', needed by 'all'. Stop.

s6-user_at_696f14e9c9bd:~/scratch$ /opt/make/make --version
GNU Make 4.1
Built for x86_64-unknown-linux-gnu
Received on Fri Aug 07 2015 - 23:29:01 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC