Closed Bug 1754378 Opened 3 years ago Closed 2 years ago

firefox-91.5.1 fails to build on i686

Categories

(Firefox Build System :: General, defect, P5)

Firefox 91
defect

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: john.frankish, Unassigned)

Details

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.80 Safari/537.36 Edg/98.0.1108.43

Steps to reproduce:

Try to build firefox-95.5.1 for i686

A build on the same machine, but x86_64, succeeded without errors

Actual results:

 1:30.04    Compiling neqo-crypto v0.4.28 (https://github.com/ddragana/neqo/?branch=pr_1247#0dc6eb8a)
 1:37.48 error: failed to run custom build command for `neqo-crypto v0.4.28 (https://github.com/ddragana/neqo/?branch=pr_1247#0dc6eb8a)`
 1:37.48 Caused by:
 1:37.48   process didn't exit successfully: `/mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/release/build/neqo-crypto-1afb70f91476b03c/build-script-build` (exit status: 101)
 1:37.48   --- stdout
 1:37.48   cargo:rustc-link-lib=dylib=nssutil3
 1:37.48   cargo:rustc-link-lib=dylib=nss3
 1:37.48   cargo:rustc-link-lib=dylib=ssl3
 1:37.48   cargo:rustc-link-lib=dylib=plds4
 1:37.48   cargo:rustc-link-lib=dylib=plc4
 1:37.48   cargo:rustc-link-lib=dylib=nspr4
 1:37.48   cargo:rustc-link-search=native=/mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/bin
 1:37.48   cargo:rustc-link-search=native=/mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/security/nss/lib/nss/nss_nss3
 1:37.48   cargo:rustc-link-search=native=/mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/security/nss/lib/ssl/ssl_ssl3
 1:37.48   cargo:rustc-link-search=native=/mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/config/external/nspr/pr
 1:37.48   cargo:rerun-if-changed=/mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/netwerk/socket/neqo/extra-bindgen-flags
 1:37.49   cargo:rerun-if-changed=bindings/bindings.toml
 1:37.49   cargo:rerun-if-changed=bindings/nss_sslerr.h
 1:37.49   cargo:rerun-if-changed=bindings/nss_sslopt.h
 1:37.49   cargo:rerun-if-changed=bindings/nss_ciphers.h
 1:37.49   cargo:rerun-if-changed=bindings/nspr_io.h
 1:37.49   cargo:rerun-if-changed=bindings/nspr_time.h
 1:37.49   cargo:rerun-if-changed=bindings/nss_p11.h
 1:37.49   cargo:rerun-if-changed=bindings/mozpkix.hpp
 1:37.49   --- stderr
 1:37.49   clang version 13.0.0
 1:37.49   Target: i686-pc-linux-gnu
 1:37.49   Thread model: posix
 1:37.49   InstalledDir:
 1:37.49   ignoring nonexistent directory "lib/clang/13.0.0/include"
 1:37.49   ignoring nonexistent directory "/include"
 1:37.49   ignoring duplicate directory "/usr/local/include/nspr"
 1:37.49   ignoring duplicate directory "/usr/local/include"
 1:37.50   ignoring duplicate directory "/usr/include"
 1:37.50   #include "..." search starts here:
 1:37.50   #include <...> search starts here:
 1:37.50    /usr/local/include/nspr
 1:37.50    /usr/local/include/nss
 1:37.50    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/nss
 1:37.50    /usr/local/include/pixman-1
 1:37.50    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/cairo
 1:37.50    /tmp/tcloop/clang/usr/local/lib/clang/13.0.0/include
 1:37.50    /usr/local/include
 1:37.50    /usr/include
 1:37.50   End of search list.
 1:37.50   clang version 13.0.0
 1:37.50   Target: i686-pc-linux-gnu
 1:37.50   Thread model: posix
 1:37.50   InstalledDir:
 1:37.50   ignoring nonexistent directory "lib/clang/13.0.0/include"
 1:37.50   ignoring nonexistent directory "/include"
 1:37.51   ignoring duplicate directory "/usr/local/include/nspr"
 1:37.51   ignoring duplicate directory "/usr/local/include"
 1:37.51   ignoring duplicate directory "/usr/include"
 1:37.51   #include "..." search starts here:
 1:37.51   #include <...> search starts here:
 1:37.51    /usr/local/include/nspr
 1:37.51    /usr/local/include/nss
 1:37.51    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/nss
 1:37.51    /usr/local/include/pixman-1
 1:37.51    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/cairo
 1:37.51    /tmp/tcloop/clang/usr/local/lib/clang/13.0.0/include
 1:37.51    /usr/local/include
 1:37.52    /usr/include
 1:37.52   End of search list.
 1:37.52   clang version 13.0.0
 1:37.52   Target: i686-pc-linux-gnu
 1:37.52   Thread model: posix
 1:37.52   InstalledDir:
 1:37.52   ignoring nonexistent directory "lib/clang/13.0.0/include"
 1:37.52   ignoring nonexistent directory "/include"
 1:37.52   ignoring duplicate directory "/usr/local/include/nspr"
 1:37.52   ignoring duplicate directory "/usr/local/include"
 1:37.52   ignoring duplicate directory "/usr/include"
 1:37.52   #include "..." search starts here:
 1:37.52   #include <...> search starts here:
 1:37.53    /usr/local/include/nspr
 1:37.53    /usr/local/include/nss
 1:37.53    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/nss
 1:37.53    /usr/local/include/pixman-1
 1:37.53    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/cairo
 1:37.53    /tmp/tcloop/clang/usr/local/lib/clang/13.0.0/include
 1:37.53    /usr/local/include
 1:37.53    /usr/include
 1:37.53   End of search list.
 1:37.53   clang version 13.0.0
 1:37.53   Target: i686-pc-linux-gnu
 1:37.53   Thread model: posix
 1:37.53   InstalledDir:
 1:37.53   ignoring nonexistent directory "lib/clang/13.0.0/include"
 1:37.53   ignoring nonexistent directory "/include"
 1:37.53   ignoring duplicate directory "/usr/local/include/nspr"
 1:37.53   ignoring duplicate directory "/usr/local/include"
 1:37.53   ignoring duplicate directory "/usr/include"
 1:37.54   #include "..." search starts here:
 1:37.54   #include <...> search starts here:
 1:37.54    /usr/local/include/nspr
 1:37.54    /usr/local/include/nss
 1:37.54    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/nss
 1:37.54    /usr/local/include/pixman-1
 1:37.54    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/cairo
 1:37.54    /tmp/tcloop/clang/usr/local/lib/clang/13.0.0/include
 1:37.54    /usr/local/include
 1:37.54    /usr/include
 1:37.54   End of search list.
 1:37.54   clang version 13.0.0
 1:37.54   Target: i686-pc-linux-gnu
 1:37.54   Thread model: posix
 1:37.54   InstalledDir:
 1:37.54   ignoring nonexistent directory "lib/clang/13.0.0/include"
 1:37.54   ignoring nonexistent directory "/include"
 1:37.55   ignoring duplicate directory "/usr/local/include/nspr"
 1:37.55   ignoring duplicate directory "/usr/local/include"
 1:37.55   ignoring duplicate directory "/usr/include"
 1:37.55   #include "..." search starts here:
 1:37.55   #include <...> search starts here:
 1:37.55    /usr/local/include/nspr
 1:37.55    /usr/local/include/nss
 1:37.55    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/nss
 1:37.55    /usr/local/include/pixman-1
 1:37.55    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/cairo
 1:37.55    /tmp/tcloop/clang/usr/local/lib/clang/13.0.0/include
 1:37.55    /usr/local/include
 1:37.55    /usr/include
 1:37.55   End of search list.
 1:37.55   clang version 13.0.0
 1:37.55   Target: i686-pc-linux-gnu
 1:37.55   Thread model: posix
 1:37.55   InstalledDir:
 1:37.56   ignoring nonexistent directory "lib/clang/13.0.0/include"
 1:37.56   ignoring nonexistent directory "/include"
 1:37.56   ignoring duplicate directory "/usr/local/include/nspr"
 1:37.56   ignoring duplicate directory "/usr/local/include"
 1:37.56   ignoring duplicate directory "/usr/include"
 1:37.56   #include "..." search starts here:
 1:37.56   #include <...> search starts here:
 1:37.56    /usr/local/include/nspr
 1:37.56    /usr/local/include/nss
 1:37.56    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/nss
 1:37.56    /usr/local/include/pixman-1
 1:37.56    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/cairo
 1:37.56    /tmp/tcloop/clang/usr/local/lib/clang/13.0.0/include
 1:37.56    /usr/local/include
 1:37.56    /usr/include
 1:37.56   End of search list.
 1:37.56   clang version 13.0.0
 1:37.57   Target: i686-pc-linux-gnu
 1:37.57   Thread model: posix
 1:37.57   InstalledDir:
 1:37.57   ignoring nonexistent directory "lib/clang/13.0.0/include"
 1:37.57   ignoring nonexistent directory "/include"
 1:37.57   ignoring duplicate directory "/usr/local/include/nspr"
 1:37.57   ignoring duplicate directory "/usr/local/include"
 1:37.57   ignoring duplicate directory "/usr/include"
 1:37.57   #include "..." search starts here:
 1:37.57   #include <...> search starts here:
 1:37.57    /usr/local/include/nspr
 1:37.57    /usr/local/include/nss
 1:37.57    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/nss
 1:37.57    /usr/local/include/pixman-1
 1:37.57    /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/cairo
 1:37.57    /tmp/tcloop/clang/usr/local/lib/clang/13.0.0/include
 1:37.57    /usr/local/include
 1:37.57    /usr/include
 1:37.58   End of search list.
 1:37.58   /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/nss/mozpkix/pkixtypes.h:28:10: fatal error: 'memory' file not found
 1:37.58   /mnt/sdc8/usr/src/firefox-91.5.1/firefox-build-dir/dist/include/nss/mozpkix/pkixtypes.h:28:10: fatal error: 'memory' file not found, err: true
 1:37.58   thread 'main' panicked at 'unable to generate bindings: ()', /mnt/sdc8/usr/src/firefox-91.5.1/third_party/rust/neqo-crypto/build.rs:277:39
 1:37.58   stack backtrace:
 1:37.58      0:   0x6e16c2 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h88b8a0b0c6c8c8a2
 1:37.58      1:   0x714ea0 - core::fmt::write::hb68d50d566d1cfbf
 1:37.58      2:   0x6d038c - std::io::Write::write_fmt::hd8571be08d74ac51
 1:37.58      3:   0x6d3363 - std::panicking::default_hook::{{closure}}::h025b144311833fbc
 1:37.58      4:   0x6d2e8e - std::panicking::default_hook::hce8bcd50556392f0
 1:37.58      5:   0x6d39ac - std::panicking::rust_panic_with_hook::hc944c3c44c42ac02
 1:37.58      6:   0x6e210f - std::panicking::begin_panic_handler::{{closure}}::h10a6f85a48890eb2
 1:37.58      7:   0x6e1834 - std::sys_common::backtrace::__rust_end_short_backtrace::he58ce84a77de272d
 1:37.58      8:   0x6d344e - rust_begin_unwind
 1:37.58      9:   0x424320 - core::panicking::panic_fmt::h83f3d4b2619fc280
 1:37.58     10:   0x4247d2 - core::result::unwrap_failed::h7c672331b1fe7d42
 1:37.58     11:   0x431348 - core::result::Result<T,E>::expect::h6808cb9939b357d7
 1:37.58     12:   0x432890 - build_script_build::build_bindings::h2b7a326ae10add00
 1:37.59     13:   0x4336a9 - build_script_build::main::h836db739f081849a
 1:37.59     14:   0x435792 - core::ops::function::FnOnce::call_once::h8bedd2bf0ef6e882
 1:37.59     15:   0x4356a5 - std::sys_common::backtrace::__rust_begin_short_backtrace::h274ce8b16307f48e
 1:37.59     16:   0x43570b - std::rt::lang_start::{{closure}}::h8ab227505ac2298b
 1:37.59     17:   0x6ce957 - std::rt::lang_start_internal::h45812e68a655fea3
 1:37.59     18:   0x4356df - std::rt::lang_start::hcc2f1056f220b961
 1:37.59     19:   0x433947 - main
 1:37.59     20: 0xb7d29496 - <unknown>
 1:37.59     21: 0xb7d2965c - __libc_start_main
 1:37.59     22:   0x424807 - _start
 1:37.59     23:        0x0 - <unknown>
 1:37.59 warning: build failed, waiting for other jobs to finish...

Expected results:

It should have succeeded

The Bugbug bot thinks this bug should belong to the 'Firefox Build System::General' component, and is moving the bug to that component. Please revert this change in case you think the bot is wrong.

Component: Untriaged → General
Product: Firefox → Firefox Build System

Looks like the root error is dist/include/nss/mozpkix/pkixtypes.h:28:10: fatal error: 'memory' file not found.

Are you building firefox 91.5.1 (your title) or 95.1.1 (your description)?
Can this be reproduced on central?

Flags: needinfo?(john.frankish)

Sorry for the confusion - it is 91.5.1

Flags: needinfo?(john.frankish)

What do you mean by "Can this be reproduced on central"?

Ah, by "reproduced on central" I mean can you re-create this issue at the top of our development (the central bookmark on our VCS).
I'd recommend following the building Firefox on Linux documentation to test it.

Flags: needinfo?(john.frankish)

BTW, pkixtypes.h:28:10 is "#include <memory>"

I followed the building Firefox on Linux documentation, but when I try to clone the repo with "python3 bootstrap.py --vcs=git", I get:

No download available for Linux/i686

Flags: needinfo?(john.frankish)

I tried to build firefox-91.6.0 on a 32-bit system - it fails with the same error.

No download available for Linux/i686

Oh, my mistake, I thought you were compiling on a 64bit host and targeting the 32bit arch.
If you're working to compile on a 32bit host, I'm afraid that I don't have much insight to provide. If you're able to narrow down the cause of the failure and have a patch, I'll happily review and land it, though!

Priority: -- → P5

I'm going to close this bug, on the assumption that it was hitting one of the cases where the bindgen flags ended up being inadequate, that have been fixed since. Please reopen if that's still happening with current mozilla-central.

Status: UNCONFIRMED → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.