Description of problem: Most *.py files are newer than the compiled *.pyc files, so at runtime python3 tries to recompile them: $ python3 -v [snip] Python 3.2.1 (default, Jul 11 2011, 18:54:42) [GCC 4.6.1 20110627 (Red Hat 4.6.1-1)] on linux2 Type "help", "copyright", "credits" or "license" for more information. [snip] >>> import chunk # /usr/lib64/python3.2/__pycache__/chunk.cpython-32.pyc has bad mtime import chunk # from /usr/lib64/python3.2/chunk.py # can't create /usr/lib64/python3.2/__pycache__/chunk.cpython-32.pyc This is because there is no ./python when trying to recompile everything in the spec file. Use the newly installed python instead fixes it.
python3-3.2.1-3.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/python3-3.2.1-3.fc16
I installed this package and tried to run the test steps as a regular user. When I try to import chunk, I still get the error that the file cannot be created. I then ran it as root which compiled it correctly. Still, I can "import pickle" and find modules that are not compiled. >>> import pickle # /usr/lib/python3.2/__pycache__/pickle.cpython-32.pyc has bad mtime import pickle # from /usr/lib/python3.2/pickle.py # can't create /usr/lib/python3.2/__pycache__/pickle.cpython-32.pyc # /usr/lib/python3.2/__pycache__/types.cpython-32.pyc has bad mtime import types # from /usr/lib/python3.2/types.py # can't create /usr/lib/python3.2/__pycache__/types.cpython-32.pyc import marshal # builtin # /usr/lib/python3.2/__pycache__/struct.cpython-32.pyc has bad mtime import struct # from /usr/lib/python3.2/struct.py # can't create /usr/lib/python3.2/__pycache__/struct.cpython-32.pyc dlopen("/usr/lib/python3.2/lib-dynload/_struct.cpython-32mu.so", 2); import _struct # dynamically loaded from /usr/lib/python3.2/lib-dynload/_struct.cpython-32mu.so # /usr/lib/python3.2/__pycache__/_compat_pickle.cpython-32.pyc has bad mtime import _compat_pickle # from /usr/lib/python3.2/_compat_pickle.py # can't create /usr/lib/python3.2/__pycache__/_compat_pickle.cpython-32.pyc dlopen("/usr/lib/python3.2/lib-dynload/_pickle.cpython-32mu.so", 2); import _pickle # dynamically loaded from /usr/lib/python3.2/lib-dynload/_pickle.cpython-32mu.so
From building: Bytecompiling .py files below /builddir/build/BUILDROOT/python3-3.2.1-3.fc16.x86_64/usr/lib/python3.2/ using /usr/bin/python3.2 /usr/lib/rpm/brp-python-bytecompile: line 44: /usr/bin/python3.2: No such file or directory /usr/lib/rpm/brp-python-bytecompile: line 51: /usr/bin/python3.2: No such file or directory Bytecompiling .py files below /builddir/build/BUILDROOT/python3-3.2.1-3.fc16.x86_64/usr/lib64/python3.2/ using /usr/bin/python3.2 /usr/lib/rpm/brp-python-bytecompile: line 44: /usr/bin/python3.2: No such file or directory /usr/lib/rpm/brp-python-bytecompile: line 51: /usr/bin/python3.2: No such file or directory So I don't see another possibility than reinventing the brp-python-bytecompile wheel in the spec file...
Package python3-3.2.1-4.fc16: * should fix your issue, * was pushed to the Fedora 16 testing repository, * should be available at your local mirror within two days. Update it with: # su -c 'yum update --enablerepo=updates-testing python3-3.2.1-4.fc16' as soon as you are able to. Please go to the following url: https://admin.fedoraproject.org/updates/FEDORA-2012-1538/python3-3.2.1-4.fc16 then log in and leave karma (feedback).
(In reply to comment #3) > > So I don't see another possibility than reinventing the brp-python-bytecompile > wheel in the spec file... It looks to me like brp-python-bytecompile is broken. The script defines two environment variables: default_python and python_binary. The default_python variable respects the argument passed in as $1, but python_binary throws it out. It seems to me that if an argument is passed in, it should be used everywhere. Perhaps the definition of python_binary should be: python_binary="${1:-/usr/bin/$(basename $python_libdir)}" where it is currently: python_binary=/usr/bin/$(basename $python_libdir)
python3-3.2.3-1.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/python3-3.2.3-1.fc16
python3-3.2.3-2.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/python3-3.2.3-2.fc16
python3-3.2.3-2.fc16 has been pushed to the Fedora 16 stable repository. If problems still persist, please make note of it in this bug report.