Recipe for x64.release fails on version 4.8

44 views
Skip to first unread message

Brandon Sides

unread,
Mar 28, 2017, 11:58:01 AM3/28/17
to v8-users
Hey folks,

I'm trying to build V8 for the first time and I'm working on Getting Started with Embedding.  I installed depot_tools, fetched v8, switched to a branch containing version 4.8 as instructed in the link, and ran a gclient sync to make sure all my dependencies were in order.  However, upon trying to make x64.release, the recipe fails:

  LINK(target) /home/brandon/v8/out/x64.release/mksnapshot
/home/brandon/v8/third_party/binutils/Linux_x64/Release/bin/ld.gold: error: /usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../x86_64-linux-gnu/crti.o: unsupported reloc 42 against global symbol __gmon_start__
/home/brandon/v8/third_party/binutils/Linux_x64/Release/bin/ld.gold: error: /usr/lib/x86_64-linux-gnu/libc_nonshared.a(atexit.oS): unsupported reloc 42 against global symbol __dso_handle
/usr/lib/gcc/x86_64-linux-gnu/5.4.0/../../../x86_64-linux-gnu/crti.o(.init+0x7): error: unsupported reloc 42
/usr/lib/x86_64-linux-gnu/libc_nonshared.a(atexit.oS):function atexit: error: unsupported reloc 42
clang: error: linker command failed with exit code 1 (use -v to see invocation)
tools/gyp/mksnapshot.target.x64.release.mk:255: recipe for target '/home/brandon/v8/out/x64.release/mksnapshot' failed
make[1]: *** [/home/brandon/v8/out/x64.release/mksnapshot] Error 1
make[1]: Leaving directory '/home/brandon/v8/out'
Makefile:310: recipe for target 'x64.release' failed
make: *** [x64.release] Error 2

Frankly, I'm lost.  If I've made an error in getting everything set up, I can't find it, and I can't seem to find anyone else who's having similar problems.  Are there any V8 gurus out there who might be able to shed some light?

Brandon Sides

unread,
Mar 28, 2017, 12:28:36 PM3/28/17
to v8-users
Nothing seems to help me find a solution on my own like posting a question claiming I can't possibly find a solution on my own :P

Apparently, the problem is a bug in the bundled toolchain.  As such, a user in this issue thread recommended using the system-wide toolchain instead by issuing the make command as follows:

make native GYPFLAGS="-Dlinux_use_bundled_gold=0"

Which, now that I've had time to let it finish working, actually fails at a different place:

  LINK(target) /home/brandon/v8/out/native/cctest
  RULE test_cctest_cctest_gyp_cctest_run_target_isolate_0
/home/brandon/v8/out/native/cctest.isolated
Traceback (most recent call last):
 
File "/home/brandon/v8/tools/swarming_client/isolate.py", line 27, in <module>
   
import auth
 
File "/home/brandon/v8/tools/swarming_client/auth.py", line 19, in <module>
   
from utils import on_error
 
File "/home/brandon/v8/tools/swarming_client/utils/on_error.py", line 22, in <module>
   
from . import net
 
File "/home/brandon/v8/tools/swarming_client/utils/net.py", line 25, in <module>
   
from third_party import requests
 
File "/home/brandon/v8/tools/swarming_client/third_party/requests/__init__.py", line 53, in <module>
   
from .packages.urllib3.contrib import pyopenssl
 
File "/home/brandon/v8/tools/swarming_client/third_party/requests/packages/urllib3/contrib/pyopenssl.py", line 42, in <module>
    ssl
.PROTOCOL_SSLv3: OpenSSL.SSL.SSLv3_METHOD,
AttributeError: 'module' object has no attribute 'PROTOCOL_SSLv3'
test
/cctest/cctest_run.target.native.mk:10: recipe for target '/home/brandon/v8/out/native/cctest.isolated' failed
make
[1]: *** [/home/brandon/v8/out/native/cctest.isolated] Error 1

make
[1]: Leaving directory '/home/brandon/v8/out'
Makefile:317: recipe for target 'native' failed
make
: *** [native] Error 2

But, who knows, if someone else has the above issue then this solution may be worth trying. I guess if I can't work out this new error then I'll ask about it in a different thread.

Brandon Sides

unread,
Mar 28, 2017, 12:54:00 PM3/28/17
to v8-users
OK, to end my monologue, I came across a StackOverflow thread addressing the AtrributeError seen above.  After trying literally every solution there in succession, the build process has completed and in reward for a day and a half worth of effort, "Hello, World" has at last been printed to my terminal :^)

Hopefully someone else comes across this and finds some of it useful so my suffering isn't in vain.
Reply all
Reply to author
Forward
0 new messages