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

deps: fix V8 build for GCC 6 #6419

Closed
wants to merge 1 commit into from
Closed

deps: fix V8 build for GCC 6 #6419

wants to merge 1 commit into from

Conversation

targos
Copy link
Member

@targos targos commented Apr 27, 2016

Checklist
  • tests and code linting passes
  • a test and/or benchmark is included
  • documentation is changed or added
  • the commit message follows commit guidelines
Affected core subsystem(s)

build

Description of change

V8 erroneously does null pointer checks on this.
It can lead to a SIGSEGV crash if node is compiled with GCC 6.
Enable -fno-delete-null-pointer-checks to circumvent this issue.

Ref: #6272

cc @bnoordhuis @nodejs/v8 @nodejs/build

V8 erroneously does null pointer checks on `this`.
It can lead to a SIGSEGV crash if node is compiled with GCC 6.
Enable -fno-delete-null-pointer-checks to circumvent this issue.

Ref: nodejs#6272
@targos targos added build Issues and PRs related to build files or the CI. v8 engine Issues and PRs related to the V8 dependency. labels Apr 27, 2016
@targos
Copy link
Member Author

targos commented Apr 27, 2016

I wanted to submit this directly to V8 but I am completely unable to build V8 on my computer:

v8 [master] % make x64.release
PYTHONPATH="/home/mzasso/git/chromium/v8/tools/generate_shim_headers:/home/mzasso/git/chromium/v8/build::/home/mzasso/git/chromium/v8/build/gyp/pylib:" \
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
              -Ibuild/standalone.gypi --depth=. \
              -Dv8_target_arch=x64 \
               -Dtarget_arch=x64 \
               \
              -S.x64.release  -Dv8_enable_backtrace=1 -Darm_fpu=default -Darm_float_abi=default
make[1]: Entering directory '/home/mzasso/git/chromium/v8/out'
  CXX(target) /home/mzasso/git/chromium/v8/out/x64.release/obj.target/v8_base/src/accessors.o
/home/mzasso/git/chromium/v8/third_party/llvm-build/Release+Asserts/bin/clang++: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
src/v8_base.target.x64.release.mk:586: recipe for target '/home/mzasso/git/chromium/v8/out/x64.release/obj.target/v8_base/src/accessors.o' failed
make[1]: *** [/home/mzasso/git/chromium/v8/out/x64.release/obj.target/v8_base/src/accessors.o] Error 127
make[1]: Leaving directory '/home/mzasso/git/chromium/v8/out'
Makefile:317: recipe for target 'x64.release' failed
make: *** [x64.release] Error 2

@octoploid
Copy link

Just create a symlink from libtinfo.so.5 to libncurses.so.

@bnoordhuis
Copy link
Member

Or try make x64.release GYP_DEFINES="-Dclang=0".

@bnoordhuis
Copy link
Member

Apropos this PR, can I suggest back-porting the Page::IsValid() / LargePage::IsValid() changes from v8/v8@4e8736d?

-fno-delete-null-pointer-checks is an acceptable-ish workaround but seeing it's fixed upstream, why settle for less?

@targos
Copy link
Member Author

targos commented Apr 28, 2016

Apropos this PR, can I suggest back-porting the Page::IsValid() / LargePage::IsValid() changes from v8/v8@4e8736d?

Of course. I wasn't aware of these changes when I made the PR. I'm just gonna close this and work on the backport.

@targos targos closed this Apr 28, 2016
@targos targos deleted the fix-6272 branch April 28, 2016 11:21
@targos
Copy link
Member Author

targos commented May 3, 2016

Or try make x64.release GYP_DEFINES="-Dclang=0".

I get the same error

@bnoordhuis
Copy link
Member

Mea culpa, I mistyped. It should be make x64.release GYP_DEFINES="clang=0", without the -D.

@targos
Copy link
Member Author

targos commented May 3, 2016

still not working :(

Edit: I mean it's still trying to run ./third_party/llvm-build/Release+Asserts/bin/clang++

@bnoordhuis
Copy link
Member

I don't know what commit you're at but V8's build system is going through some changes right now and it might just be plain broken, see e.g. https://codereview.chromium.org/1938893002/. Maybe try checking out a revision from one or two weeks ago.

@targos
Copy link
Member Author

targos commented May 3, 2016

Oh I see, thank you. I was on master.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. v8 engine Issues and PRs related to the V8 dependency.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants