[Buildroot] [PATCH 1/1] Makefile: unexport TARGET env variable
Arnout Vandecappelle
arnout at mind.be
Wed Sep 7 12:42:48 UTC 2022
On 06/09/2022 23:15, James Hilliard wrote:
> On Tue, Sep 6, 2022 at 1:22 AM Yann E. MORIN <yann.morin.1998 at free.fr> wrote:
>>
>> James, All,
>>
>> On 2022-09-05 14:20 -0600, James Hilliard spake thusly:
>>> If set this can may break package builds in some cases such as the
>>
>> So, this is very probabilistic: 'can' and 'may'! ;-)
>
> Well I think the breaking behavior depends on what TARGET is set to.
>
>>
>>> host-icu build.
>>
>> Can you provide an actual error message and an explanation on how that
>> actually fails?
>
> I had set this in my env(for some non-buildroot compiler testing), and noticed
> it broke buildroot builds unless cleared:
> export TARGET=bpf
>
>>>> host-icu 70-1 Building
> PATH="/home/buildroot/buildroot/output/per-package/host-icu/host/bin:/home/buildroot/buildroot/output/per-package/host-icu/host/sbin:/home/buildroot/bin:/home/buildroot/.local/bin:/home/buildroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
> PKG_CONFIG="/home/buildroot/buildroot/output/per-package/host-icu/host/bin/pkg-config"
> PKG_CONFIG_SYSROOT_DIR="/" PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1
> PKG_CONFIG_ALLOW_SYSTEM_LIBS=1
> PKG_CONFIG_LIBDIR="/home/buildroot/buildroot/output/per-package/host-icu/host/lib/pkgconfig:/home/buildroot/buildroot/output/per-package/host-icu/host/share/pkgconfig"
> /usr/bin/make -j33 -C
> /home/buildroot/buildroot/output/build/host-icu-70-1/source
> cd ./config; \
> /usr/bin/make -f pkgdataMakefile
> rm -rf config/icu-config
> rebuilding config/icucross.mk
> rebuilding config/icucross.inc
> /bin/bash ./mkinstalldirs lib
> /bin/bash ./mkinstalldirs bin
> /usr/bin/install -c ./config/icu-config-top config/icu-config
> rm -rf pkgdata.inc
> chmod u+w config/icu-config
> mkdir lib
> mkdir bin
> LC_ALL=C /usr/bin/sed -f ./config/make2sh.sed < ./config/Makefile.inc
> | grep -v '#M#' | uniq >> config/icu-config
> config/icu-uc.pc updated.
> config/icu-i18n.pc updated.
> /usr/bin/make[2]: Making `all' in `stubdata'
> LC_ALL=C /usr/bin/sed -f ./config/make2sh.sed < ./config/mh-linux |
> grep -v '#M#' | uniq >> config/icu-config
> cat ./config/icu-config-bottom >> config/icu-config
> (deps) stubdata.cpp
> chmod u-w config/icu-config
> Note: rebuild with "/usr/bin/make VERBOSE=1 " to show all compiler parameters.
> make[3]: *** No rule to make target 'bpf', needed by 'all-local'. Stop.
>
>>
>> I've looked at the icu source code, and all I could see are plain
>> assignments and references to TARGET. Variables assigned in a Makefile
>> are supposed to take precedence to variables from the environment, so I
>> am not sure I can see how that can actually fail...
>
> I assume it's not actually assigned in the makefile then?
It's conditionally assigned:
ifneq ($(ENABLE_STATIC),)
TARGET = $(STUBDATA_LIBDIR)$(LIBSICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX).$(A)
endif
There are a couple of Makefile.in where it's defined like that....
This does look like a very icu-specific thing though, so I think it should be
fixed in icu.mk itself, by setting TARGET= in the _ENV.
Regards,
Arnout
>
>>
>> See for example commits which describes the actual reasons it fails:
>> 20ca008d0266 unexport TERMINFO to correct ncurses behavior
>> 2e32330c4a49 Makefile: unexport O
>> d3910057c6ae Makefile: unexport 'DEVICE_TREE' environment variable
>> 6cff741ebaf7 package/ccache: do not force colored diagnostics
>>
>> Regards,
>> Yann E. MORIN.
>>
>>> Signed-off-by: James Hilliard <james.hilliard1 at gmail.com>
>>> ---
>>> Makefile | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/Makefile b/Makefile
>>> index bd0b906cde..a82a22a276 100644
>>> --- a/Makefile
>>> +++ b/Makefile
>>> @@ -427,6 +427,7 @@ unexport GCC_COLORS
>>> unexport PLATFORM
>>> unexport OS
>>> unexport DEVICE_TREE
>>> +unexport TARGET
>>>
>>> GNU_HOST_NAME := $(shell support/gnuconfig/config.guess)
>>>
>>> --
>>> 2.34.1
>>>
>>> _______________________________________________
>>> buildroot mailing list
>>> buildroot at buildroot.org
>>> https://lists.buildroot.org/mailman/listinfo/buildroot
>>
>> --
>> .-----------------.--------------------.------------------.--------------------.
>> | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
>> | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
>> | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
>> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
>> '------------------------------^-------^------------------^--------------------'
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
More information about the buildroot
mailing list