[Buildroot] [PATCH] package/libnss: fix build failure on Aarch64 host for powerpc64 target

Giulio Benetti giulio.benetti at benettiengineering.com
Sat May 28 20:08:47 UTC 2022


Hi Yann,

On 28/05/22 22:06, Yann E. MORIN wrote:
> Giulio, All,
> 
> On 2022-05-25 00:07 +0200, Giulio Benetti spake thusly:
>> When building on Aarch64 host for powerpc64 we get this error:
>> gcc: error: unrecognized command-line option '-m64'
>>
>> This happens because we don't have the flexibility to override the LDFLAGS
>> when linking nsinstall host tool that is built in libnss. Also libnss uses
>> the same LDFLAGS it uses for target and that is not correct.
>> So let's add a patch to add NATIVE_LDFLAGS variable to override LFDFLAGS
>> when building nsinstall utility and set it to HOST_LDFLAGS in libnss.mk
>>
>> Fixes:
>> http://autobuild.buildroot.net/results/67500395f19aa698b98404cde8d20463e55504bf/
>>
>> Signed-off-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
>> ---
>> Patch is pending upstream:
>> https://bugzilla.mozilla.org/show_bug.cgi?id=1771036
> 
> We need that information in the patch itself, so that we handily have it
> where we need it when we bump the version and can check whether the
> patch still makes sense or not.

Ok, next time I'll put it in commit log.

Thank you for pointing.

Best regards
-- 
Giulio Benetti
CTO/CEO at Benetti Engineering sas

> 
> Applied to master, thanks.
> 
> (And upstream seemed to be happy with the patch, even if it has not yet
> been applied.)
> 
> Regards,
> Yann E. MORIN.
> 
>> ---
>>   ...36-Fix-build-failure-on-Aarch64-host.patch | 36 +++++++++++++++++++
>>   package/libnss/libnss.mk                      |  4 ++-
>>   2 files changed, 39 insertions(+), 1 deletion(-)
>>   create mode 100644 package/libnss/0001-Bug-1771036-Fix-build-failure-on-Aarch64-host.patch
>>
>> diff --git a/package/libnss/0001-Bug-1771036-Fix-build-failure-on-Aarch64-host.patch b/package/libnss/0001-Bug-1771036-Fix-build-failure-on-Aarch64-host.patch
>> new file mode 100644
>> index 0000000000..2ca373cd21
>> --- /dev/null
>> +++ b/package/libnss/0001-Bug-1771036-Fix-build-failure-on-Aarch64-host.patch
>> @@ -0,0 +1,36 @@
>> +From 9d5900c1ee9000906a90923e861b0fd7f1061cde Mon Sep 17 00:00:00 2001
>> +From: Giulio Benetti <giulio.benetti at benettiengineering.com>
>> +Date: Tue, 24 May 2022 23:40:45 +0200
>> +Subject: [PATCH] Bug 1771036 - Fix build failure on Aarch64 host
>> +
>> +If trying to build on Aarch64 host for powerpc64 target we can't override
>> +the LDFLAGS leading to this build failure:
>> +gcc: error: unrecognized command-line option '-m64'
>> +
>> +So let's add NATIVE_LDFLAGS check and use it to link nsinstall. This way
>> +any build environment can pass LDFLAGS that fits better for host
>> +architecture.
>> +
>> +Signed-off-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
>> +---
>> + coreconf/nsinstall/Makefile | 4 ++++
>> + 1 file changed, 4 insertions(+)
>> +
>> +diff --git a/nss/coreconf/nsinstall/Makefile b/nss/coreconf/nsinstall/Makefile
>> +index 08dfbc2fe..5061789ff 100644
>> +--- a/nss/coreconf/nsinstall/Makefile
>> ++++ b/nss/coreconf/nsinstall/Makefile
>> +@@ -34,6 +34,10 @@ ifdef NATIVE_FLAGS
>> + OS_CFLAGS=$(NATIVE_FLAGS)
>> + endif
>> +
>> ++ifdef NATIVE_LDFLAGS
>> ++LDFLAGS=$(NATIVE_LDFLAGS)
>> ++endif
>> ++
>> + include $(DEPTH)/coreconf/rules.mk
>> +
>> + # Redefine MAKE_OBJDIR for just this directory
>> +--
>> +2.34.1
>> +
>> diff --git a/package/libnss/libnss.mk b/package/libnss/libnss.mk
>> index 540092dfcf..0d0f1d84b9 100644
>> --- a/package/libnss/libnss.mk
>> +++ b/package/libnss/libnss.mk
>> @@ -92,7 +92,9 @@ define LIBNSS_BUILD_CMDS
>>   		SOURCE_MD_DIR=$(@D)/$(LIBNSS_DISTDIR) \
>>   		DIST=$(@D)/$(LIBNSS_DISTDIR) \
>>   		CHECKLOC= \
>> -		$(LIBNSS_BUILD_VARS) NATIVE_FLAGS="$(HOST_CFLAGS) -DLINUX"
>> +		$(LIBNSS_BUILD_VARS) \
>> +		NATIVE_FLAGS="$(HOST_CFLAGS) -DLINUX" \
>> +		NATIVE_LDFLAGS="$(HOST_LDFLAGS)"
>>   endef
>>   
>>   define LIBNSS_INSTALL_STAGING_CMDS
>> -- 
>> 2.34.1
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot
> 




More information about the buildroot mailing list