Control: retitle -1 mozjs78: FTBFS on armhf: '-mfloat-abi=hard': selected architecture lacks an FPU Control: tags -1 + help
On Wed, 08 Dec 2021 at 10:14:55 +0100, Fabio Fantoni wrote: > Hi, as can be see in reproducible tests > (https://tests.reproducible-builds.org/debian/rb-pkg/unstable/armhf/mozjs78.html) > latest mozjs78 fails to build on armhf in both sid and testing. > > https://tests.reproducible-builds.org/debian/rbuild/unstable/armhf/mozjs78_78.15.0-1.rbuild.log.gz > > https://tests.reproducible-builds.org/debian/rbuild/bookworm/armhf/mozjs78_78.15.0-1.rbuild.log.gz The source code hasn't changed since a version that built successfully, so this appears to be a regression triggered by some new toolchain package. armhf certainly does have a FPU - that's its defining feature when compared with armel. The error appears to be (shown wrapped here): > [mozglue-static 0.1.0] cargo:warning=cc1plus: error: '-mfloat-abi=hard': > selected architecture lacks an FPU > [mozglue-static 0.1.0] > [mozglue-static 0.1.0] > [mozglue-static 0.1.0] error occurred: Command > "/usr/bin/arm-linux-gnueabihf-g++" "-O2" "-ffunction-sections" > "-fdata-sections" "-fPIC" "-march=armv7-a" > "-I/build/mozjs78-78.15.0/debian/build/dist/system_wrappers" > "-include" "/build/mozjs78-78.15.0/config/gcc_hidden.h" > "-U_FORTIFY_SOURCE" "-D_FORTIFY_SOURCE=2" "-fstack-protector-strong" > "-DNDEBUG=1" "-DTRIMMED=1" "-DEXPORT_JS_API" "-DMOZ_HAS_MOZGLUE" > "-I/build/mozjs78-78.15.0/js/src/rust" > "-I/build/mozjs78-78.15.0/debian/build/js/src/rust" > "-I/build/mozjs78-78.15.0/debian/build/dist/include" "-fPIC" > "-DMOZILLA_CLIENT" > "-include" "/build/mozjs78-78.15.0/debian/build/js/src/js-confdefs.h" > "-Wdate-time" "-D_FORTIFY_SOURCE=2" "-Wall" "-Wempty-body" > "-Wignored-qualifiers" "-Woverloaded-virtual" "-Wpointer-arith" > "-Wsign-compare" "-Wtype-limits" "-Wunreachable-code" "-Wwrite-strings" > "-Wno-invalid-offsetof" "-Wc++2a-compat" "-Wduplicated-cond" > "-Wimplicit-fallthrough" "-Wunused-function" "-Wunused-variable" > "-Wno-error=maybe-uninitialized" "-Wno-error=deprecated-declarations" > "-Wno-error=array-bounds" "-Wno-error=coverage-mismatch" > "-Wno-error=free-nonheap-object" "-Wno-multistatement-macros" > "-Wno-error=class-memaccess" "-Wno-error=deprecated-copy" "-Wformat" > "-Wformat-overflow=2" "-Wno-noexcept-type" "-fno-sized-deallocation" > "-fno-aligned-new" "-g" "-O2" "-ffile-prefix-map=/build/mozjs78-78.15.0=." > "-fstack-protector-strong" "-Wformat" "-Werror=format-security" "-fno-rtti" > "-ffunction-sections" "-fdata-sections" "-fno-exceptions" "-fno-math-errno" > "-pthread" "-pipe" "-g" "-freorder-blocks" "-O3" "-fomit-frame-pointer" > "-funwind-tables" "-DMOZILLA_CONFIG_H" > "-I" "/build/mozjs78-78.15.0/debian/build/js/src" > "-I" "/build/mozjs78-78.15.0/debian/build/dist/include" > "-DMOZ_HAS_MOZGLUE" "-o" > "/build/mozjs78-78.15.0/debian/build/armv7-unknown-linux-gnueabihf/release/build/mozglue-static-9450b28414dcb4fc/out/wrappers.o" > "-c" "wrappers.cpp" > with args "arm-linux-gnueabihf-g++" did not execute successfully (status > code exit code: 1). At a guess, perhaps the problem is that the mozjs build system is explicitly specifying -march=armv7-a when it should be something like -march=armv7-a+vfpv3 or accepting the compiler's default? smcv