[pypy-issue] Issue #2364: gctransformer issue while trying to translate pypy to ARM (pypy/pypy)

Dewald Pretorius issues-reply at bitbucket.org
Tue Aug 9 21:13:30 EDT 2016


New issue 2364: gctransformer issue while trying to translate pypy to ARM
https://bitbucket.org/pypy/pypy/issues/2364/gctransformer-issue-while-trying-to

Dewald Pretorius:

I've followed the guide from here: http://rpython.readthedocs.io/en/latest/arm.html#arm

All steps were successful, up to "pypy /home/username/pypy2-v5.3.1-src/rpython/bin/rpython -O1 --platform=arm target.py"

which fails as follows:
root at ubuntu:/srv/chroot/precise_arm# pypy /home/username/pypy2-v5.3.1-src/rpython/bin/rpython -O1 --platform=arm target.py
[translation:info] 2.7.8 (2.5.0+dfsg-2, Feb 12 2015, 05:23:41)
[PyPy 2.5.0 with GCC 4.9.2]
[platform:msg] Set platform with 'arm' cc=None, using cc='gcc', version='Unknown'
[translation:info] Translating target as defined by target
Traceback (most recent call last):
  File "app_main.py", line 75, in run_toplevel
  File "/home/username/pypy2-v5.3.1-src/rpython/bin/rpython", line 20, in <module>
    main()
  File "/home/username/pypy2-v5.3.1-src/rpython/translator/goal/translate.py", line 216, in main
    targetspec_dic, translateconfig, config, args = parse_options_and_load_target()
  File "/home/username/pypy2-v5.3.1-src/rpython/translator/goal/translate.py", line 173, in parse_options_and_load_target
    set_opt_level(config, translateconfig.opt)
  File "/home/username/pypy2-v5.3.1-src/rpython/config/translationoption.py", line 379, in set_opt_level
    config.translation.gc = config.translation.gc
  File "/home/username/pypy2-v5.3.1-src/rpython/config/config.py", line 68, in __setattr__
    self.setoption(name, value, 'user')
  File "/home/username/pypy2-v5.3.1-src/rpython/config/config.py", line 112, in setoption
    child.setoption(self, value, who)
  File "/home/username/pypy2-v5.3.1-src/rpython/config/config.py", line 271, in setoption
    homeconfig.setoption(name, reqvalue, who2)
  File "/home/username/pypy2-v5.3.1-src/rpython/config/config.py", line 111, in setoption
    'option %s' % (value, name))
ConflictConfigError: cannot override value to ref for option gctransformer

I'd really appreciate any assistance as our tests have demonstrated a seven factor speed increase in using pypy over python2.7.

I have made sure that I have all the dependencies installed that I need to build pypy from source - by building pypy from source.

I've also tried translating the full interpreter
root at ubuntu:/home/username/pypy2-v5.3.1-src/pypy/goal# /home/username/pypy2-v5.3.1-src/pypy/goal/pypy-c /home/username/pypy2-v5.3.1-src/rpython/bin/rpython -Ojit --platform=arm --gcrootfinder=shadowstack --jit-backend=arm targetpypystandalone.py
[translation:info] 2.7.10 (7e8df3df96417c16c2d55b41352ec82c9c69c978, Aug 09 2016, 00:24:37)
[PyPy 5.3.1 with GCC 4.9.2]
[platform:msg] Set platform with 'arm' cc=None, using cc='gcc', version='Unknown'
[translation:info] Translating target as defined by targetpypystandalone
[platform:execute] sb2 -t ARM gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused /tmp/usession-release-pypy2.7-v5.3.1-13/gcctest.c -o /tmp/usession-release-pypy2.7-v5.3.1-13/gcctest.o
[platform:execute] sb2 -t ARM gcc -c -O3 -pthread -fomit-frame-pointer -Wall -Wno-unused /tmp/usession-release-pypy2.7-v5.3.1-13/gcctest.c -o /tmp/usession-release-pypy2.7-v5.3.1-13/gcctest.o
[platform:Error] sb2: Error: Invalid target specified, aborting.
Traceback (most recent call last):
  File "/home/username/pypy2-v5.3.1-src/rpython/bin/rpython", line 20, in <module>
    main()
  File "/home/username/pypy2-v5.3.1-src/rpython/translator/goal/translate.py", line 216, in main
    targetspec_dic, translateconfig, config, args = parse_options_and_load_target()
  File "/home/username/pypy2-v5.3.1-src/rpython/translator/goal/translate.py", line 155, in parse_options_and_load_target
    targetspec_dic = load_target(targetspec)
  File "/home/username/pypy2-v5.3.1-src/rpython/translator/goal/translate.py", line 97, in load_target
    mod = __import__(specname)
  File "targetpypystandalone.py", line 6, in <module>
    from pypy.interpreter import gateway
  File "/home/username/pypy2-v5.3.1-src/pypy/interpreter/gateway.py", line 19, in <module>
    from pypy.interpreter.eval import Code
  File "/home/username/pypy2-v5.3.1-src/pypy/interpreter/eval.py", line 6, in <module>
    from pypy.interpreter.baseobjspace import W_Root
  File "/home/username/pypy2-v5.3.1-src/pypy/interpreter/baseobjspace.py", line 6, in <module>
    from rpython.rlib.debug import make_sure_not_resized
  File "/home/username/pypy2-v5.3.1-src/rpython/rlib/debug.py", line 9, in <module>
    from rpython.rtyper.lltypesystem import rffi
  File "/home/username/pypy2-v5.3.1-src/rpython/rtyper/lltypesystem/rffi.py", line 540, in <module>
    NUMBER_TYPES = setup()
  File "/home/username/pypy2-v5.3.1-src/rpython/rtyper/lltypesystem/rffi.py", line 529, in setup
    names = populate_inttypes()
  File "/home/username/pypy2-v5.3.1-src/rpython/rtyper/lltypesystem/rffi.py", line 523, in populate_inttypes
    platform.populate_inttypes(populatelist)
  File "/home/username/pypy2-v5.3.1-src/rpython/rtyper/tool/rfficache.py", line 95, in populate_inttypes
    sizes = sizeof_c_types(names_c, **kwds)
  File "/home/username/pypy2-v5.3.1-src/rpython/rtyper/tool/rfficache.py", line 45, in sizeof_c_types
    answer = ask_gcc(question, **kwds)
  File "/home/username/pypy2-v5.3.1-src/rpython/rtyper/tool/rfficache.py", line 35, in ask_gcc
    return build_executable_cache([c_file], eci, ignore_errors=ignore_errors)
  File "/home/username/pypy2-v5.3.1-src/rpython/tool/gcc_cache.py", line 28, in build_executable_cache
    result = platform.execute(platform.compile(c_files, eci))
  File "/home/username/pypy2-v5.3.1-src/rpython/translator/platform/__init__.py", line 54, in compile
    ofiles = self._compile_o_files(cfiles, eci, standalone)
  File "/home/username/pypy2-v5.3.1-src/rpython/translator/platform/__init__.py", line 76, in _compile_o_files
    ofiles.append(self._compile_c_file(self.cc, cfile, compile_args))
  File "/home/username/pypy2-v5.3.1-src/rpython/translator/platform/posix.py", line 40, in _compile_c_file
    cwd=str(cfile.dirpath()))
  File "/home/username/pypy2-v5.3.1-src/rpython/translator/platform/arm.py", line 47, in _execute_c_compiler
    self._handle_error(returncode, stderr, stdout, outname)
  File "/home/username/pypy2-v5.3.1-src/rpython/translator/platform/__init__.py", line 152, in _handle_error
    raise CompilationError(stdout, stderr)
CompilationError: CompilationError(err="""
        sb2: Error: Invalid target specified, aborting.
        """)

Any advise would be really appreciated.




More information about the pypy-issue mailing list