Bug 2367786 - awscli2 fails to build with Python 3.14: various test failures
Summary: awscli2 fails to build with Python 3.14: various test failures
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: awscli2
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Nikola Forró
QA Contact:
URL:
Whiteboard:
: 2371678 (view as bug list)
Depends On:
Blocks: PYTHON3.14 F43FTBFS, RAWHIDEFTBFS F43FailsToInstall, RAWHIDEFailsToInstall
TreeView+ depends on / blocked
 
Reported: 2025-05-21 13:01 UTC by Karolina Surma
Modified: 2025-06-13 20:21 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-06-13 20:21:43 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Fedora Package Sources awscli2 pull-request 159 0 None None None 2025-06-13 12:03:24 UTC

Description Karolina Surma 2025-05-21 13:01:21 UTC
awscli2 fails to build with Python 3.14.0b1.

____________________________ test_lru_cache_weakref ____________________________
[gw0] linux -- Python 3.14.0 /usr/bin/python3

    def test_lru_cache_weakref():
        class ClassWithCachedMethod:
            @lru_cache_weakref(maxsize=10)
            def cached_fn(self, a, b):
                return a + b
    
        cls1 = ClassWithCachedMethod()
        cls2 = ClassWithCachedMethod()
    
        assert cls1.cached_fn.cache_info().currsize == 0
>       assert getrefcount(cls1) == 2
E       assert 1 == 2
E        +  where 1 = getrefcount(<tests.unit.botocore.test_utils.test_lru_cache_weakref.<locals>.ClassWithCachedMethod object at 0x7f7d7cee1940>)

tests/unit/botocore/test_utils.py:3649: AssertionError
________________ TestEMRutils.test_which_with_existing_command _________________
[gw0] linux -- Python 3.14.0 /usr/bin/python3

self = <tests.unit.customizations.emr.test_emr_utils.TestEMRutils object at 0x7f7e0d177110>

    def test_which_with_existing_command(self):
>       pythonPath = which('python') or which('python.exe')

tests/unit/customizations/emr/test_emr_utils.py:19: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

program = 'python'

    def which(program):
>       for path in os.environ["PATH"].split(os.pathsep):
E       KeyError: 'PATH'

../BUILDROOT/usr/lib/python3.14/site-packages/awscli/customizations/emr/emrutils.py:220: KeyError
______________ TestEMRutils.test_which_with_non_existing_command _______________
[gw0] linux -- Python 3.14.0 /usr/bin/python3

self = <tests.unit.customizations.emr.test_emr_utils.TestEMRutils object at 0x7f7e0d177250>

    def test_which_with_non_existing_command(self):
>       path = which('klajsflklj')

tests/unit/customizations/emr/test_emr_utils.py:23: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

program = 'klajsflklj'

    def which(program):
>       for path in os.environ["PATH"].split(os.pathsep):
E       KeyError: 'PATH'

../BUILDROOT/usr/lib/python3.14/site-packages/awscli/customizations/emr/emrutils.py:220: KeyError
___________________ TestWriteException.test_write_exception ____________________
[gw0] linux -- Python 3.14.0 /usr/bin/python3

self = <tests.functional.test_utils.TestWriteException testMethod=test_write_exception>

    def test_write_exception(self):
        error_message = "Some error message."
        ex = Exception(error_message)
>       with codecs.open(self.outfile, 'w+', encoding='utf-8') as outfile:

tests/functional/test_utils.py:21: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

filename = '/tmp/tmpmri5h0su/stdout', mode = 'w+', encoding = 'utf-8'
errors = 'strict', buffering = -1

>   ???
E   DeprecationWarning: codecs.open() is deprecated. Use open() instead.

https://docs.python.org/3.14/whatsnew/3.14.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.14-b1/fedora-rawhide-x86_64/09066399-awscli2/

For all our attempts to build awscli2 with Python 3.14, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.14-b1/package/awscli2/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package builds with Python 3.14:
https://copr.fedorainfracloud.org/coprs/g/python/python3.14-b1/

Let us know here if you have any questions.

Python 3.14 is planned to be included in Fedora 43.
To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.14.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires),
so if this package is required a lot, it's important for us to get it fixed soon.

We'd appreciate help from the people who know this package best,
but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Karolina Surma 2025-06-11 15:52:13 UTC
*** Bug 2371678 has been marked as a duplicate of this bug. ***

Comment 2 Fedora Fails To Install 2025-06-13 20:21:43 UTC
Hello,

Please note that this comment was generated automatically by https://pagure.io/releng/blob/main/f/scripts/ftbfs-fti/follow-policy.py
If you feel that this output has mistakes, please open an issue at https://pagure.io/releng/

All subpackages of a package against which this bug was filled are now installable or removed from Fedora 43.

Thanks for taking care of it!


Note You need to log in before you can comment on or make changes to this bug.