Upgrade v8 on ARMv7 issues

313 views
Skip to first unread message

saulio

unread,
Nov 28, 2011, 7:19:52 AM11/28/11
to v8-users
I am trying to upgrade v8 on my ARMv7 SheevaPlug but am getting this
error using gyp.
Also had issues with Scons. I am currently running 3.1.8 not sure if
it's worth upgrading but I am struggling to upgrade node from 0.5 to
0.6 and wonder if it's because of an old version of v8.

@debian:~/src/v8$ make native
build/gyp/gyp --generator-output="out" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -S-native -
Dv8_can_use_vfp_instructions=true
Traceback (most recent call last):
File "build/gyp/gyp", line 18, in <module>
sys.exit(gyp.main(sys.argv[1:]))
File "build/gyp/pylib/gyp/__init__.py", line 463, in main
options.circular_check)
File "build/gyp/pylib/gyp/__init__.py", line 101, in Load
depth, generator_input_info, check, circular_check)
File "build/gyp/pylib/gyp/input.py", line 2256, in Load
depth, check)
File "build/gyp/pylib/gyp/input.py", line 435, in
LoadTargetBuildFile
includes, depth, check)
File "build/gyp/pylib/gyp/input.py", line 435, in
LoadTargetBuildFile
includes, depth, check)
File "build/gyp/pylib/gyp/input.py", line 389, in
LoadTargetBuildFile
build_file_path)
File "build/gyp/pylib/gyp/input.py", line 986, in
ProcessVariablesAndConditionsInDict
ProcessConditionsInDict(the_dict, is_late, variables, build_file)
File "build/gyp/pylib/gyp/input.py", line 863, in
ProcessConditionsInDict
variables, build_file)
File "build/gyp/pylib/gyp/input.py", line 1012, in
ProcessVariablesAndConditionsInDict
build_file)
File "build/gyp/pylib/gyp/input.py", line 1027, in
ProcessVariablesAndConditionsInList
ProcessVariablesAndConditionsInDict(item, is_late, variables,
build_file)
File "build/gyp/pylib/gyp/input.py", line 1012, in
ProcessVariablesAndConditionsInDict
build_file)
File "build/gyp/pylib/gyp/input.py", line 1027, in
ProcessVariablesAndConditionsInList
ProcessVariablesAndConditionsInDict(item, is_late, variables,
build_file)
File "build/gyp/pylib/gyp/input.py", line 986, in
ProcessVariablesAndConditionsInDict
ProcessConditionsInDict(the_dict, is_late, variables, build_file)
File "build/gyp/pylib/gyp/input.py", line 863, in
ProcessConditionsInDict
variables, build_file)
File "build/gyp/pylib/gyp/input.py", line 986, in
ProcessVariablesAndConditionsInDict
ProcessConditionsInDict(the_dict, is_late, variables, build_file)
File "build/gyp/pylib/gyp/input.py", line 844, in
ProcessConditionsInDict
if eval(ast_code, {'__builtins__': None}, variables):
File "<string>", line 1, in <module>
NameError: name 'armv7' is not defined while evaluating condition
'armv7==1' in tools/gyp/v8.gyp while loading dependencies of preparser/
preparser.gyp while loading dependencies of build/all.gyp while trying
to load build/all.gyp
make: *** [out/Makefile-native] Error 1
app@debian:~/src/v8$

Jakob Kummerow

unread,
Dec 6, 2011, 11:59:44 AM12/6/11
to v8-u...@googlegroups.com
Well, yes. For standalone ARM builds, there's currently no default value being provided for the 'armv7' variable, and I'm not sure whether it'd be a good idea to provide one. You can specify it yourself, though: Assuming your hardware supports ARM v7, you can build like this:
GYP_DEFINES="armv7=1" make native
Otherwise, use "armv7=0".

For the record, these are the reasons why I'm not convinced we should add a default value:
  • if it defaults to off, people whose hardware does support ARM v7 will tend to not change it and probably incur a performance hit.
  • if it defaults to on, people whose hardware does not support ARM v7 will see strange failures.
  • V8 is a library and is supposed to be embedded into other projects with more advanced build systems. Those embedding projects can easily provide necessary GYP_DEFINES.

Cheers,
Jakob

Reply all
Reply to author
Forward
0 new messages