Skip to content

V8 compilation error on PPC #119

Description

@targos

See: https://ci.nodejs.org/job/node-test-commit-v8-linux/2590/nodes=ppcle-ubuntu1404,v8test=v8test/console

08:07:55 cc1plus: error: unrecognized command line option '-Wno-class-memaccess' [-Werror]
08:07:55 cc1plus: error: unrecognized command line option '-Wno-packed-not-aligned' [-Werror]
08:07:55 cc1plus: all warnings being treated as errors

@nodejs/platform-ppc

Activity

  1. miladfarca commented on Oct 28, 2019

    @miladfarca

    It seems like v8_enable_backtrace = true is missing from GN flags, could you try to add this flag and recompile V8.

  2. targos commented on Oct 28, 2019

    @targos
    MemberAuthor

    where should I add the flag?

  3. miladfarca commented on Oct 28, 2019

    @miladfarca

    Flag should be added to the Jenkins job which runs gn. The above console output shows the current flag is set to the following:

    gn gen out.gn/ppc64.release '--args=is_component_build=false is_debug=false use_goma=false goma_dir="None" use_custom_libcxx=false v8_target_cpu="ppc64" target_cpu="ppc64"'
    

    v8_enable_backtrace = true can be be added to the args list.

  4. targos commented on Oct 29, 2019

    @targos
    MemberAuthor
  5. targos commented on Oct 29, 2019

    @targos
    MemberAuthor

    It builds, but hits another error:

    08:57:39 [1479/1479] LINK ./cctest
    08:57:39 deps/v8/tools/run-tests.py --gn --arch=ppc64 \
    08:57:39 				--mode=release --progress=dots --timeout=120 \
    08:57:39 				mjsunit cctest debugger inspector message preparser \
    08:57:39 				--junitout /home/iojs/build/workspace/node-test-commit-v8-linux/nodes/ppcle-ubuntu1404/v8test/v8test/v8-tap.xml
    08:57:40 Traceback (most recent call last):
    08:57:40   File "/home/iojs/build/workspace/node-test-commit-v8-linux/nodes/ppcle-ubuntu1404/v8test/v8test/deps/v8/tools/testrunner/base_runner.py", line 281, in execute
    08:57:40     tests = self._load_testsuite_generators(args, options)
    08:57:40   File "/home/iojs/build/workspace/node-test-commit-v8-linux/nodes/ppcle-ubuntu1404/v8test/v8test/deps/v8/tools/testrunner/base_runner.py", line 651, in _load_testsuite_generators
    08:57:40     self.framework_name)
    08:57:40   File "/home/iojs/build/workspace/node-test-commit-v8-linux/nodes/ppcle-ubuntu1404/v8test/v8test/deps/v8/tools/testrunner/local/testsuite.py", line 254, in Load
    08:57:40     with _load_testsuite_module(name, root) as module:
    08:57:40   File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    08:57:40     return self.gen.next()
    08:57:40   File "/home/iojs/build/workspace/node-test-commit-v8-linux/nodes/ppcle-ubuntu1404/v8test/v8test/deps/v8/tools/testrunner/local/testsuite.py", line 245, in _load_testsuite_module
    08:57:40     yield imp.load_module(name + "_testcfg", f, pathname, description)
    08:57:40 SyntaxError: unqualified exec is not allowed in function '_ParsePythonTestTemplates' it contains a nested function with free variables (testcfg.py, line 71)
    
  6. miladfarca commented on Oct 30, 2019

    @miladfarca

    I checked out node-v8 on a ppc, fetched dependencies according the the console output and tests start normally.

    I did however get the above error on a V8 checkout with older dependencies, running "gclient sync" fixed it.

    Could you try rerunning a fresh Jenkins job? I also don't have access to that machine, could you please add my key for any further investigations, I got permission here: nodejs/build#1706

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQZihjEXcY52UZo09CEb29HwOWwXcmwbwZFR4rsACQQyGUexL4fkVrFfwuG8eV1vg5KECsO8LiGY/MHkNIpABaJJoip0Qxgv0pAFtAukIDjLXXOV/VNJjfIto16vOAehRZkmI+BtQP8TjoT2CSyJgvVQcay8BhH52in1LQQsyCi2crHLYzDrrCgY/rAmuVb1MzMnT8mFOdJ8E5RBhjnmc1K4YBKmNTf6yefgbOJssI0lLzp7Q2uytzp3pipg7AO/VqmRn8953UTJS/cOQeBi3nCYGpz4I7kOKHgwbdW1IP/XFfm0KO5daulHQeToRGIE85ntxF314wsYE3ZyeJwKgH
    
  7. targos commented on Oct 30, 2019

    @targos
    MemberAuthor

    /cc @nodejs/build-infra ^

  8. sam-github commented on Oct 30, 2019

    @sam-github

    Anyone with @nodejs/build access can add authorized keys to test machines (if an issue exists to say its OK!). I added @miladfarca.

  9. miladfarca commented on Oct 31, 2019

    @miladfarca

    There seems to be a bug in Python versions prior to 2.7.9 which produces the above error:
    https://bugs.python.org/issue21591
    pyinstaller/pyinstaller#1408
    django-extensions/django-extensions#1219

    Python version on this machine is 2.7.6. My internal box has 2.7.15+ which has the bug fixed.

    This is the V8 CL which has introduced this issue:
    https://chromium-review.googlesource.com/c/v8/v8/+/1864942

    I have asked the owner for a possible workaround (or python has to be upgraded/patched).

  10. sam-github commented on Oct 31, 2019

    @sam-github

    I can schedule python updates if it ends up that is what's necessary. It'll require updates to all the ansilbe scripts that build python for those hosts (likely, unless some are getting it from package repos with updates, but thats not likely).

    I'd need an explicit list of hosts that need the update - all *ppc64*? just ubuntu? just centos? Its not clear ATM.

    Also, I'd need a minimum python2 version.

  11. miladfarca commented on Nov 1, 2019

    @miladfarca

    Thanks Sam,
    I have proposed a change for a workaround in this CL, waiting for a review:
    https://chromium-review.googlesource.com/c/v8/v8/+/1893647

    Let's see if it gets accepted considering Python 3 is going to replace it sometime very soon. If not then we might have to upgrade Python to at-least 2.7.9 (preferably 2.7.15+).

  12. 130 remaining items

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions