Closed Bug 2068087 Opened 6 days ago Closed 6 days ago

macOS build for aarch64 fails because of LITTLE_ENDIAN not set/linker complains about duplicate symbols

Categories

(NSS :: Build, defect)

defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 2068010

People

(Reporter: lohmaier+github, Unassigned)

Details

Steps to reproduce:

try to build nss on macOS aarch64 using the makefile method (note version 3.128, but that is not available in the dropdown) Build was done as part of a LibreOffice build

Actual results:

build fails because of duplicate symbols:
duplicate symbol '_gcm_HashInit_hw' in:
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/gcm.o
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/ghash-aarch64.o
duplicate symbol '_platform_ghash_support' in:
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/gcm.o
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/ghash-aarch64.o
duplicate symbol '_gcm_HashZeroX_hw' in:
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/gcm.o
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/ghash-aarch64.o
duplicate symbol '_gcm_HashWrite_hw' in:
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/gcm.o
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/ghash-aarch64.o
duplicate symbol '_gcm_HashMult_hw' in:
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/gcm.o
/Users/cloph/build/workdir/UnpackedTarball/nss/nss/lib/freebl/out/Darwin_SINGLE_SHLIB/ghash-aarch64.o
ld: 5 duplicate symbols
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Expected results:

should have built fine just like 3.127 did... Cause is the refactor putting -DHAVE_PLATFORM_GHASH behind a check for LITTLE_ENDIAN, but that in turn is only set in coreconf/Linux.mk but not in Darwin.mk

workaround is to run the build with
make USE_64=1 CPU_ARCH=aarch64 […] LITTLE_ENDIAN=1

Thank you for the report!

Status: UNCONFIRMED → RESOLVED
Closed: 6 days ago
Duplicate of bug: 2068010
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.