Skip to content

ninja fails to cross compile for aarch64 due to exec format error #202111

@RossComputerGuy

Description

@RossComputerGuy

Steps To Reproduce

Steps to reproduce the behavior:

  1. build ninja for aarch64-linux

Build log

unpacking sources
unpacking source archive /nix/store/nqgbichcldbrvingbmhcyymh2xydghmr-source
source root is source
patching sources
updateAutotoolsGnuConfigScriptsPhase
configuring
no configure script, doing nothing
building
bootstrapping ninja...
./src/json.cc: In function ‘std::string EncodeJSONString(const string&)’:
./src/json.cc:36:18: warning: comparison is always true due to limited range of data type [-Wtype-limits]
   36 |     else if (0x0 <= c && c < 0x20) {
      |              ~~~~^~~~
./src/ninja.cc: In constructor ‘{anonymous}::DeferGuessParallelism::DeferGuessParallelism(BuildConfig*)’:
./src/ninja.cc:1400:16: warning: ‘{anonymous}::DeferGuessParallelism::config’ will be initialized after [-Wreorder]
 1400 |   BuildConfig* config;
      |                ^~~~~~
./src/ninja.cc:1399:8: warning:   ‘bool {anonymous}::DeferGuessParallelism::needGuess’ [-Wreorder]
 1399 |   bool needGuess;
      |        ^~~~~~~~~
./src/ninja.cc:1402:3: warning:   when initialized here [-Wreorder]
 1402 |   DeferGuessParallelism(BuildConfig* config)
      |   ^~~~~~~~~~~~~~~~~~~~~
wrote build.ninja.
bootstrap complete.  rebuilding...
Traceback (most recent call last):
  File "/build/source/configure.py", line 720, in <module>
    subprocess.check_call(rebuild_args)
  File "/nix/store/qc8rlhdcdxaf6dwbvv0v4k50w937fyzj-python3-3.10.8/lib/python3.10/subprocess.py", line 364, in check_call
    retcode = call(*popenargs, **kwargs)
  File "/nix/store/qc8rlhdcdxaf6dwbvv0v4k50w937fyzj-python3-3.10.8/lib/python3.10/subprocess.py", line 345, in call
    with Popen(*popenargs, **kwargs) as p:
  File "/nix/store/qc8rlhdcdxaf6dwbvv0v4k50w937fyzj-python3-3.10.8/lib/python3.10/subprocess.py", line 971, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/nix/store/qc8rlhdcdxaf6dwbvv0v4k50w937fyzj-python3-3.10.8/lib/python3.10/subprocess.py", line 1847, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: './ninja'

Additional context

Discovered on my Hydra instance, (build job).

View raw log

Notify maintainers

@thoughtpolice @bjornfor @orivej

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.74, NixOS, 22.05 (Quokka), 22.05.3848.c132d0837df`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.8.1`
 - channels(root): `"nixos-22.05"`
 - channels(ross): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions