Cross compile of NSS 3.84/3.85 using make 4.4 fails
Categories
(NSS :: Build, defect, P3)
Tracking
(Not tracked)
People
(Reporter: rudi, Unassigned)
References
Details
Steps to reproduce:
Updating make from 4.3 to 4.4 causes nss to fail compile on the linkage steps.
Build command below.
X86_64 build on x86_64 works
arm or aarch64 build on x86_64 fails
make_target() {
cd ${PKG_BUILD}/nss
local TARGET_USE_64=""
[ "${TARGET_ARCH}" = "x86_64" -o "${TARGET_ARCH}" = "aarch64" ] && TARGET_USE_64="USE_64=1"
make clean || true
rm -rf ${PKG_BUILD}/dist
make BUILD_OPT=1 ${TARGET_USE_64}
NSS_USE_SYSTEM_SQLITE=1
NSPR_INCLUDE_DIR=${SYSROOT_PREFIX}/usr/include/nspr
NSS_USE_SYSTEM_SQLITE=1
USE_SYSTEM_ZLIB=1 ZLIB_LIBS=-lz
SKIP_SHLIBSIGN=1
OS_TEST=${TARGET_ARCH}
NSS_TESTS="dummy"
NSINSTALL=${TOOLCHAIN}/bin/nsinstall
CPU_ARCH_TAG=${TARGET_ARCH}
CC=${CC}
LDFLAGS="${LDFLAGS} -L${SYSROOT_PREFIX}/usr/lib"
V=1
}
Actual results:
make 4.4 is not carrying through ${CPU_TAG} to the dependancy - but reevaluating.
make[3]: *** No rule to make target '../certhigh/Linux6.1_x86_armv8a-libreelec-linux-gnueabihf-gcc-12.2.0_glibc_PTH_OPT.OBJ/certhtml.o', needed by 'Linux6.1_arm_armv8a-libreelec-linux-gnueabihf-gcc-12.2.0_glibc_PTH_OPT.OBJ/libnss3.so'. Stop.
make[3]: Leaving directory '/var/media/DATA/home-rudi/LibreELEC.kernel11/build.LibreELEC-H6.arm-11.0-devel/build/nss-3.84/nss/lib/nss'
make[2]: *** [../coreconf/rules.mk:44: nss] Error 2
Expected results:
The linkage on make-4.3 has the following Linux6.1_arm_armv8a-libreelec-linux-gnueabihf-gcc-12.2.0_glibc_PTH_OPT.OBJ/pkix-errcodes.o (so CPU_TAG is being evaluated as expected)
References:
- https://github.com/LibreELEC/LibreELEC.tv/pull/7068
- https://github.com/LibreELEC/LibreELEC.tv/pull/7115
A tested workaround is
- sed -i -e "s/^CPU_TAG = _.*/CPU_TAG = _${TARGET_ARCH}/" coreconf/Linux.mk
Got similar issue, in my case that's not cross-compilation but still uname -m
is different than OS_TEST
passed to make
.
Raised following issue for make which I believe might be causing it:
https://savannah.gnu.org/bugs/index.php?63347
(In reply to Jan Palus from comment #1)
Got similar issue, in my case that's not cross-compilation but still
uname -m
is different thanOS_TEST
passed tomake
.Raised following issue for make which I believe might be causing it:
https://savannah.gnu.org/bugs/index.php?63347
Hi Jan. I think exactly https://savannah.gnu.org/bugs/index.php?63347 being the reason, and my my sed “workaround” allowed completion.
Comment 3•2 years ago
|
||
Hello,
my patch fixes the problem:
https://bugzilla.mozilla.org/show_bug.cgi?id=1801182
It's been accepted in Buildroot:
https://github.com/buildroot/buildroot/commit/5852fee868c318f0864bed3238b46348156422b6
There is a patch in https://savannah.gnu.org/bugs/index.php?63347 that fixes it on make
side.
Updated•1 year ago
|
Description
•