[pypy-dev] Translation with pypy picking up wrong libraries

Ronny Pfannschmidt Ronny.Pfannschmidt at gmx.de
Fri Jun 29 21:46:58 CEST 2012


Hi David,

i proceeded with refining my changes,
moving all code related to writing these dumps out of lib_pypy

i'd like to know why you are relocating lib_pypy/lib-python

-- Ronny

On 06/27/2012 09:19 PM, David Naylor wrote:
> On Wednesday, 27 June 2012 20:47:28 David Naylor wrote:
>> On Monday, 25 June 2012 23:33:12 Ronny Pfannschmidt wrote:
>>> Hi David,
>>>
>>> i created the kill-import_from_lib_pypy branch,
>>> which should fix the issue - its still in testing,
>>> please take a look if any issue comes up
>
> With the changes below your patch works (also, unpatched the translation
> works, whereas before it did not).
>
>> Alas, the changes you made to pypy/tool/compat.py and
>> pypy/translator/goal/targetpypystandalone.py didn't work in my setup...
>
> I believe that, due to my relocation of lib_pypy, I didn't catch all the cases
> (specifically autopath.py), and due to my error these errors have been
> occuring... Sorry!
>
>> I have the following changes:
>
> And these additions to get a "properly" working environment
>
>> # cd pypy
>> # mkdir lib
>> # mv lib-python/2.7 lib/pypy1.9
>> # mv lib_pypy lib/pypy1.9/lib_pypy
>
> # ln lib/pypy1.9/lib_pypy lib_pypy
>
>> # patch<<  _EOF
>> --- lib/pypy1.9/lib_pypy/ctypes_config_cache/rebuild.py~        2012-06-22
>> 11:42:55.000000000 +0200 +++
>> lib/pypy1.9/lib_pypy/ctypes_config_cache/rebuild.py 2012-06-22
>> 11:43:12.000000000 +0200 @@ -6,7 +6,7 @@
>>   # get the correct path
>>   import os.path
>>   this_dir = os.path.dirname(__file__)
>> -autopath_py = os.path.join(this_dir, '../../pypy/tool/autopath.py')
>> +autopath_py = os.path.join(this_dir, '../../../../pypy/tool/autopath.py')
>>   autopath_py = os.path.abspath(autopath_py)
>>   execfile(autopath_py, dict(__name__='autopath', __file__=autopath_py))
>>
>
> Using your patches the above change is not needed.
>
>> --- pypy/module/sys/state.py.orig       2012-06-07 14:24:48.000000000 +0200
>> +++ pypy/module/sys/state.py    2012-06-22 14:45:23.000000000 +0200
>> @@ -36,14 +36,12 @@
>>   platform = sys.platform
>>
>>   def getinitialpath(state, prefix):
>> -    from pypy.module.sys.version import CPYTHON_VERSION
>> -    dirname = '%d.%d' % (CPYTHON_VERSION[0],
>> -                         CPYTHON_VERSION[1])
>> -    lib_python = os.path.join(prefix, 'lib-python')
>> -    python_std_lib = os.path.join(lib_python, dirname)
>> +    from pypy.module.sys.version import PYPY_VERSION
>> +    libpath = os.path.join(prefix, 'lib')
>> +    python_std_lib = os.path.join(libpath, 'pypy%d.%d' % PYPY_VERSION[:2])
>>       checkdir(python_std_lib)
>>
>> -    lib_pypy = os.path.join(prefix, 'lib_pypy')
>> +    lib_pypy = os.path.join(python_std_lib, 'lib_pypy')
>>       checkdir(lib_pypy)
>>
>>       importlist = []
>> --- pypy/tool/lib_pypy.py.orig  2012-06-07 14:24:48.000000000 +0200
>> +++ pypy/tool/lib_pypy.py       2012-06-22 14:46:42.000000000 +0200
>> @@ -1,12 +1,11 @@
>>   import py
>>   import pypy
>>   import pypy.module
>> -from pypy.module.sys.version import CPYTHON_VERSION
>> +from pypy.module.sys.version import PYPY_VERSION
>>
>>   LIB_ROOT = py.path.local(pypy.__path__[0]).dirpath()
>> -LIB_PYPY =  LIB_ROOT.join('lib_pypy')
>> -LIB_PYTHON = LIB_ROOT.join('lib-python', '%d.%d' % CPYTHON_VERSION[:2])
>> -
>> +LIB_PYTHON =  LIB_ROOT.join('lib', 'pypy%d.%d' % PYPY_VERSION[:2])
>> +LIB_PYPY = LIB_PYTHON.join('lib_pypy')
>>
>>   def import_from_lib_pypy(modname):
>>       modname = LIB_PYPY.join(modname+'.py')
>> _EOF
>
> And with just the above translation works successfully for me.
>
> Regards



More information about the pypy-dev mailing list