squeaky-pl / portable-pypy

Portable 64 bit x86 PyPy binaries for many Linux distributions.
Other
478 stars 38 forks source link

`os.statvfs` #7

Closed akaspin closed 9 years ago

akaspin commented 9 years ago

I'm tried use pypy-portable with CoreOS and Ansible. But I get following:

  File "/home/core/.ansible/tmp/ansible-tmp-1423477177.38-68083321344021/setup", line 2292, in populate
    self.get_mount_facts()
  File "/home/core/.ansible/tmp/ansible-tmp-1423477177.38-68083321344021/setup", line 1772, in wrapper
    result = func(*args, **kwargs)
  File "/home/core/.ansible/tmp/ansible-tmp-1423477177.38-68083321344021/setup", line 2432, in get_mount_facts
    statvfs_result = os.statvfs(fields[1])
AttributeError: 'module' object has no attribute 'statvfs'

But when I use official PyPy (LD_LIBRARY_PATH pain) - all OK.

squeaky-pl commented 9 years ago

Confirmed, investigating

<fijal> squeaky_pl: the check is "does the host interpreter implement os.statvfs"
<fijal> if you used old pypy, it might not work
<fijal> sorry about that :/
squeaky-pl commented 9 years ago

I fixed i686 builds so far, x86_64 builds are expected to land on Monday evening CET

akaspin commented 9 years ago

Thanks a lot!

squeaky-pl commented 9 years ago

The x86_64 build is now ready (links didnt change). Check them out.

MrDrMcCoy commented 9 years ago

Issue still persists for me:

$ bin/linux/pypy3-2.4-linux_x86_64-portable/bin/pypy
Python 3.2.5 (b2091e973da69152b3f928bfaabd5d2347e6df46, Oct 24 2014, 12:08:04)
[PyPy 2.4.0 with GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>> import os
>>>> os.statvfs('./')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'statvfs'
>>>> 
$ bin/linux/pypy3-2.4-linux_i686-portable/bin/pypy
Python 3.2.5 (b2091e973da69152b3f928bfaabd5d2347e6df46, Oct 23 2014, 20:25:42)
[PyPy 2.4.0 with GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>> import os
>>>> os.statvfs('./')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'module' object has no attribute 'statvfs'

This is also the case for shutil.which.