Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v8: fix build on aarch64 #68550

Merged
merged 1 commit into from
Sep 12, 2019
Merged

Conversation

WilliButz
Copy link
Member

Motivation for this change

Before this, the build on aarch64 failed with:

/bin/sh: aarch64-linux-gnu-g++: not found
[...]
ninja: build stopped: subcommand failed.
Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS (aarch64-linux)
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@worldofpeace worldofpeace merged commit 6b92321 into NixOS:master Sep 12, 2019
@worldofpeace
Copy link
Contributor

backported in e0b7f1e

@WilliButz WilliButz deleted the v8/fix-aarch64-build branch September 12, 2019 16:45
@matthewbauer
Copy link
Member

For future reference, we eventually want to make ${targetPrefix}g++ available by default: #44583 /cc @Ericson2314

@flokli
Copy link
Contributor

flokli commented Oct 31, 2019

@WilliButz v8_3_14 and v8_3_16_14 still seem to be broken on aarch64, causing gitlab to fail on aarch64 currently:

  /nix/store/myghnb5wj43dvkkyg1y31lm2ch6ngzb9-v8-3.16.14.11.drv
  /nix/store/2bdgdq5fyb0996fkqwzy8588z7f0jqam-ruby2.6.5-execjs-2.6.0.drv
  /nix/store/vxx6rchnw2sff2ldgbbqhp8qw5777jx7-ruby2.6.5-uglifier-2.7.2.drv
  /nix/store/czp90k3rn42anwsnkl1s2w2j96aj1437-gitlab-env-12.4.1.drv

Any idea what needs to be fixed here?

make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/extensions/statistics-extension.o] Error 1
In file included from ../src/macro-assembler.h:67:0,
                 from ../src/ic.h:31,
                 from ../src/ic-inl.h:31,
                 from ../src/x64/codegen-x64.h:32,
                 from ../src/codegen.h:75,
                 from ../src/code-stubs.h:33,
                 from ../src/debug.cc:33:
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_uint32(int64_t)':
../src/x64/assembler-x64.h:49:60: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxUInt32 = V8_UINT64_C(0xffffffff);
                                                            ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_int32(int64_t)':
../src/x64/assembler-x64.h:54:58: error: 'V8_INT64_C' was not declared in this scope
   static const int64_t kMinInt32 = -V8_INT64_C(0x80000000);
                                                          ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::uint_is_int32(uint64_t)':
../src/x64/assembler-x64.h:59:59: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxInt32 = V8_UINT64_C(0x7fffffff);
                                                           ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_uint32(uint64_t)':
../src/x64/assembler-x64.h:64:60: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxUInt32 = V8_UINT64_C(0xffffffff);
                                                            ^
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/cpu-profiler.o] Error 1
../src/x64/assembler-x64.h: In static member function 'static bool v8::internal::CpuFeatures::IsSupported(v8::internal::CpuFeature)':
../src/x64/assembler-x64.h:468:40: error: 'V8_UINT64_C' was not declared in this scope
     return (supported_ & (V8_UINT64_C(1) << f)) != 0;
                                        ^
In file included from ../src/macro-assembler.h:67:0,
                 from ../src/ic.h:31,
                 from ../src/ic-inl.h:31,
                 from ../src/x64/code-stubs-x64.h:31,
                 from ../src/code-stubs.h:307,
                 from ../src/codegen.h:31,
                 from ../src/compiler.cc:33:
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_uint32(int64_t)':
../src/x64/assembler-x64.h:49:60: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxUInt32 = V8_UINT64_C(0xffffffff);
                                                            ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_int32(int64_t)':
../src/x64/assembler-x64.h:54:58: error: 'V8_INT64_C' was not declared in this scope
   static const int64_t kMinInt32 = -V8_INT64_C(0x80000000);
                                                          ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::uint_is_int32(uint64_t)':
../src/x64/assembler-x64.h:59:59: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxInt32 = V8_UINT64_C(0x7fffffff);
                                                           ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_uint32(uint64_t)':
../src/x64/assembler-x64.h:64:60: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxUInt32 = V8_UINT64_C(0xffffffff);
                                                            ^
../src/x64/assembler-x64.h: In static member function 'static bool v8::internal::CpuFeatures::IsSupported(v8::internal::CpuFeature)':
../src/x64/assembler-x64.h:468:40: error: 'V8_UINT64_C' was not declared in this scope
     return (supported_ & (V8_UINT64_C(1) << f)) != 0;
                                        ^
In file included from ../src/macro-assembler.h:67:0,
                 from ../src/ic.h:31,
                 from ../src/ic-inl.h:31,
                 from ../src/x64/codegen-x64.h:32,
                 from ../src/codegen.h:75,
                 from ../src/code-stubs.h:33,
                 from ../src/code-stubs-hydrogen.cc:30:
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_uint32(int64_t)':
../src/x64/assembler-x64.h:49:60: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxUInt32 = V8_UINT64_C(0xffffffff);
                                                            ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_int32(int64_t)':
../src/x64/assembler-x64.h:54:58: error: 'V8_INT64_C' was not declared in this scope
   static const int64_t kMinInt32 = -V8_INT64_C(0x80000000);
                                                          ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::uint_is_int32(uint64_t)':
../src/x64/assembler-x64.h:59:59: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxInt32 = V8_UINT64_C(0x7fffffff);
                                                           ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_uint32(uint64_t)':
../src/x64/assembler-x64.h:64:60: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxUInt32 = V8_UINT64_C(0xffffffff);
                                                            ^
../src/x64/assembler-x64.h: In static member function 'static bool v8::internal::CpuFeatures::IsSupported(v8::internal::CpuFeature)':
../src/x64/assembler-x64.h:468:40: error: 'V8_UINT64_C' was not declared in this scope
     return (supported_ & (V8_UINT64_C(1) << f)) != 0;
                                        ^
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/func-name-inferrer.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/accessors.o] Error 1
In file included from ../src/macro-assembler.h:67:0,
                 from ../src/deoptimizer.h:34,
                 from ../src/frames.cc:31:
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_uint32(int64_t)':
../src/x64/assembler-x64.h:49:60: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxUInt32 = V8_UINT64_C(0xffffffff);
                                                            ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_int32(int64_t)':
../src/x64/assembler-x64.h:54:58: error: 'V8_INT64_C' was not declared in this scope
   static const int64_t kMinInt32 = -V8_INT64_C(0x80000000);
                                                          ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::uint_is_int32(uint64_t)':
../src/x64/assembler-x64.h:59:59: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxInt32 = V8_UINT64_C(0x7fffffff);
                                                           ^
../src/x64/assembler-x64.h: In function 'bool v8::internal::is_uint32(uint64_t)':
../src/x64/assembler-x64.h:64:60: error: 'V8_UINT64_C' was not declared in this scope
   static const uint64_t kMaxUInt32 = V8_UINT64_C(0xffffffff);
                                                            ^
../src/x64/assembler-x64.h: In static member function 'static bool v8::internal::CpuFeatures::IsSupported(v8::internal::CpuFeature)':
../src/x64/assembler-x64.h:468:40: error: 'V8_UINT64_C' was not declared in this scope
     return (supported_ & (V8_UINT64_C(1) << f)) != 0;
                                        ^
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/elements.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/factory.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/data-flow.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/code-stubs.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/bootstrapper.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/disassembler.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/assembler.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/full-codegen.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/builtins.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/execution.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/codegen.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/ast.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/deoptimizer.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/debug.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/frames.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/api.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/code-stubs-hydrogen.o] Error 1
make: *** [tools/gyp/v8_base.target.mk:225: /build/v8-3.16.14.11/out/Release/obj.target/v8_base/src/compiler.o] Error 1
make: Leaving directory '/build/v8-3.16.14.11/out'
builder for '/nix/store/myghnb5wj43dvkkyg1y31lm2ch6ngzb9-v8-3.16.14.11.drv' failed with exit code 2
cannot build derivation '/nix/store/2bdgdq5fyb0996fkqwzy8588z7f0jqam-ruby2.6.5-execjs-2.6.0.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/czp90k3rn42anwsnkl1s2w2j96aj1437-gitlab-env-12.4.1.drv': 1 dependencies couldn't be built
error: build of '/nix/store/czp90k3rn42anwsnkl1s2w2j96aj1437-gitlab-env-12.4.1.drv' failed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants