[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #63040] autoconf-2.69 and 2.71 fail to build after $(shell ...) env
From: |
Sergei Trofimovich |
Subject: |
[bug #63040] autoconf-2.69 and 2.71 fail to build after $(shell ...) environment handlign change |
Date: |
Fri, 9 Sep 2022 06:35:05 -0400 (EDT) |
URL:
<https://savannah.gnu.org/bugs/?63040>
Summary: autoconf-2.69 and 2.71 fail to build after $(shell
...) environment handlign change
Project: make
Submitter: slyfox
Submitted: Fri 09 Sep 2022 10:35:02 AM UTC
Severity: 3 - Normal
Item Group: None
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Discussion Lock: Any
Component Version: None
Operating System: None
Fixed Release: None
Triage Status: None
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Fri 09 Sep 2022 10:35:02 AM UTC By: Sergei Trofimovich <slyfox>
Tried to use `make` from today's git (commit
7d484017077089ac2642b89da8984ca46a07323d [SV 63016] Don't fail exporting to
$(shell ...)) and observed build failure on autoconf:
build flags: -j16 -l16 SHELL=bash
bash: line 1: env: command not found
make all-am
bash: line 1: make: command not found
make: *** [Makefile:928: all] Error 127
The build failure happens because (I think) autoconf uses the following
trick:
cfg.mk:export PATH = $(shell echo "`pwd`/tests:$$PATH")
Comparing behaviour from `make` a few months ago:
$ make --version
GNU Make 4.3.90.20220619
$ printf 'export PATH = $(shell echo $$PWD:$$PATH)'"\n"'all:; echo $$PATH' |
make -f -
echo $PATH
/tmp:/run/current-system/sw/bin
Path is prepended to existing one, ok.
And the today's one:
$ ./make --version
GNU Make 4.3.90.20220909
$ printf 'export PATH = $(shell echo $$PWD:$$PATH)'"\n"'all:; echo $$PATH' |
./make -f -
echo $PATH
make: sh: No such file or directory
make: sh: No such file or directory
make: *** [/tmp/GmYdo0my:2: all] Error 127
If we use `:=` then it works as expected:
$ printf 'export PATH := $(shell echo $$PWD:$$PATH)'"\n"'all:; echo $$PATH' |
./make -f -
echo $PATH
/tmp:/run/current-system/sw/bin
In theory it should be easy to adapt `autoconf`s build system. Filing a bug to
make sure it's an intended change and not an unexpected regression.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?63040>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
- [bug #63040] autoconf-2.69 and 2.71 fail to build after $(shell ...) environment handlign change,
Sergei Trofimovich <=