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

Compilation error with V8 6.5 #35

Closed
targos opened this issue Jan 19, 2018 · 12 comments
Closed

Compilation error with V8 6.5 #35

targos opened this issue Jan 19, 2018 · 12 comments

Comments

@targos
Copy link
Member

targos commented Jan 19, 2018

CI: https://ci.nodejs.org/job/node-test-commit-arm-fanned/13813/

  ccache g++ -m32 '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=0' '-DV8_TARGET_ARCH_ARM' '-DV8_EMBEDDER_STRING="-node.0"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT' '-Dv8_promise_internal_field_count' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' '-DUCONFIG_NO_SERVICE=1' '-DUCONFIG_NO_REGULAR_EXPRESSIONS=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=0' '-DUCONFIG_NO_BREAK_ITERATION=0' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../. -I/mnt/workspace/node-cross-compile/out/Release/obj/gen -I../deps/v8/include -I../deps/icu-small/source/common -I../deps/icu-small/source/i18n -I../deps/icu-small/source/tools/toolutil  -pthread -Wall -Wextra -Wno-unused-parameter -fno-strict-aliasing -m32 -fdata-sections -ffunction-sections -O3 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++1y -MMD -MF /mnt/workspace/node-cross-compile/out/Release/.deps//mnt/workspace/node-cross-compile/out/Release/obj.host/v8_base/deps/v8/src/execution.o.d.raw   -c -o /mnt/workspace/node-cross-compile/out/Release/obj.host/v8_base/deps/v8/src/execution.o ../deps/v8/src/execution.cc
In file included from ../deps/v8/src/arm/simulator-arm.h:26:0,
                 from ../deps/v8/src/simulator.h:18,
                 from ../deps/v8/src/vm-state-inl.h:10,
                 from ../deps/v8/src/execution.cc:14:
../deps/v8/src/arm/simulator-arm.h: In instantiation of ‘Return v8::internal::Simulator::Call(v8::internal::byte*, Args ...) [with Return = v8::internal::Object*; Args = {v8::internal::Object*, v8::internal::Object*, v8::internal::Object*, int, v8::internal::Object***}; v8::internal::byte = unsigned char]’:
../deps/v8/src/simulator.h:105:50:   required from ‘Return v8::internal::GeneratedCode<Return, Args>::Call(Args ...) [with Return = v8::internal::Object*; Args = {v8::internal::Object*, v8::internal::Object*, v8::internal::Object*, int, v8::internal::Object***}]’
../deps/v8/src/execution.cc:153:62:   required from here
../deps/v8/src/simulator-base.h:45:17: error: ‘static Return v8::internal::SimulatorBase::VariadicCall(SimT*, CallImpl, v8::internal::byte*, Args ...) [with Return = v8::internal::Object*; SimT = v8::internal::Simulator; CallImpl = int (v8::internal::Simulator::*)(unsigned char*, int, const int*); Args = {v8::internal::Object*, v8::internal::Object*, v8::internal::Object*, int, v8::internal::Object***}; v8::internal::byte = unsigned char]’ is private
   static Return VariadicCall(SimT* sim, CallImpl call, byte* entry,
                 ^
In file included from ../deps/v8/src/simulator.h:18:0,
                 from ../deps/v8/src/vm-state-inl.h:10,
                 from ../deps/v8/src/execution.cc:14:
../deps/v8/src/arm/simulator-arm.h:163:75: error: within this context
     return VariadicCall<Return>(this, &Simulator::CallImpl, entry, args...);
                                                                           ^
make[2]: *** [/mnt/workspace/node-cross-compile/out/Release/obj.host/v8_base/deps/v8/src/execution.o] Error 1

/cc @nodejs/v8

@bnoordhuis
Copy link
Member

Is that with g++ 4.8 by any chance?

@targos
Copy link
Member Author

targos commented Jan 19, 2018

Yes: arm-linux-gnueabihf-gcc (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) 4.8.3 20140303 (prerelease)

@bnoordhuis
Copy link
Member

I suspected as much. The easiest way to fix it is to upgrade to a newer g++ version.

@targos
Copy link
Member Author

targos commented Jan 19, 2018

OK, then the relevant issue is nodejs/build#762

@fhinkel
Copy link
Member

fhinkel commented Jan 25, 2018

Pinged @hammacher if we can re-write VariadicCall upstream - moving to 4.9 would of course be better though.

@seishun
Copy link

seishun commented Jan 25, 2018

The minimum supported gcc version for Node.js has been 4.9.4 since 5 Jun 2017: nodejs/node@d13a65a. There should be no need to spend resources to support an older gcc version.

@fhinkel
Copy link
Member

fhinkel commented Jan 26, 2018

I think we never updated the build bots, so despite that commit we're basically on 4.8.

@fhinkel
Copy link
Member

fhinkel commented Jan 29, 2018

Fix landed upstream as 74915b7

@targos
Copy link
Member Author

targos commented Jan 30, 2018

Thanks! Any chance it could be merged to 6.5?

@backes
Copy link

backes commented Jan 30, 2018

I don't see why not. Opened https://crbug.com/807275 for the backmerge.

@backes
Copy link

backes commented Jan 31, 2018

It's merged to 6.5 now.

@targos
Copy link
Member Author

targos commented Jan 31, 2018

Thank you!

@targos targos closed this as completed Jan 31, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants