Bug 2291930 - F41FailsToInstall: Multiple packages built from python-sqlalchemy1.4
Summary: F41FailsToInstall: Multiple packages built from python-sqlalchemy1.4
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-sqlalchemy1.4
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Ben Beasley
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks: F41FailsToInstall PYTHON3.13 2291495 2291629 2291929 2291940
TreeView+ depends on / blocked
 
Reported: 2024-06-12 11:30 UTC by Fedora Fails To Install
Modified: 2024-06-19 17:19 UTC (History)
3 users (show)

Fixed In Version: python-sqlalchemy1.4-1.4.52-6.fc41
Clone Of:
Environment:
Last Closed: 2024-06-19 17:19:32 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Github python cpython issues 110964 0 None closed [C API] Move undocumented private _PyArg C API to pycore_modsupport.h internal C API 2024-06-16 12:18:59 UTC
Github sqlalchemy sqlalchemy issues 11499 0 None open The SQLAlchemy 1.4 C extension fails to compile on Python 3.13 2024-06-16 12:36:50 UTC

Description Fedora Fails To Install 2024-06-12 11:30:20 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/

Your package (python-sqlalchemy1.4) Fails To Install in Fedora 41:

can't install python3-sqlalchemy1.4+aiomysql:
  - nothing provides python(abi) = 3.12 needed by python3-sqlalchemy1.4+aiomysql-1.4.52-1.fc41.x86_64
  - nothing provides (python3.12dist(greenlet) < 0.4.17 or python3.12dist(greenlet) > 0.4.17) needed by python3-sqlalchemy1.4+aiomysql-1.4.52-1.fc41.x86_64
  - nothing provides python3.12dist(aiomysql) >= 0.2 needed by python3-sqlalchemy1.4+aiomysql-1.4.52-1.fc41.x86_64
  
can't install python3-sqlalchemy1.4+aiosqlite:
  - nothing provides python3.12dist(aiosqlite) needed by python3-sqlalchemy1.4+aiosqlite-1.4.52-1.fc41.x86_64
  - nothing provides python(abi) = 3.12 needed by python3-sqlalchemy1.4+aiosqlite-1.4.52-1.fc41.x86_64
  - nothing provides (python3.12dist(greenlet) < 0.4.17 or python3.12dist(greenlet) > 0.4.17) needed by python3-sqlalchemy1.4+aiosqlite-1.4.52-1.fc41.x86_64
  - nothing provides (python3.12dist(typing-extensions) < 3.10.0.1 or python3.12dist(typing-extensions) > 3.10.0.1) needed by python3-sqlalchemy1.4+aiosqlite-1.4.52-1.fc41.x86_64
  
can't install python3-sqlalchemy1.4+asyncio:
  - nothing provides python(abi) = 3.12 needed by python3-sqlalchemy1.4+asyncio-1.4.52-1.fc41.x86_64
  - nothing provides (python3.12dist(greenlet) < 0.4.17 or python3.12dist(greenlet) > 0.4.17) needed by python3-sqlalchemy1.4+asyncio-1.4.52-1.fc41.x86_64
  
can't install python3-sqlalchemy1.4+mssql_pymssql:
  - nothing provides python3.12dist(pymssql) needed by python3-sqlalchemy1.4+mssql_pymssql-1.4.52-1.fc41.x86_64
  - nothing provides python(abi) = 3.12 needed by python3-sqlalchemy1.4+mssql_pymssql-1.4.52-1.fc41.x86_64
  
can't install python3-sqlalchemy1.4+mssql_pyodbc:
  - nothing provides python(abi) = 3.12 needed by python3-sqlalchemy1.4+mssql_pyodbc-1.4.52-1.fc41.x86_64
  
can't install python3-sqlalchemy1.4+mysql:
  - nothing provides python(abi) = 3.12 needed by python3-sqlalchemy1.4+mysql-1.4.52-1.fc41.x86_64
  - nothing provides python3.12dist(mysqlclient) >= 1.4 needed by python3-sqlalchemy1.4+mysql-1.4.52-1.fc41.x86_64
  
can't install python3-sqlalchemy1.4+postgresql:
  - nothing provides python(abi) = 3.12 needed by python3-sqlalchemy1.4+postgresql-1.4.52-1.fc41.x86_64
  - nothing provides python3.12dist(psycopg2) >= 2.7 needed by python3-sqlalchemy1.4+postgresql-1.4.52-1.fc41.x86_64
  
can't install python3-sqlalchemy1.4+postgresql_asyncpg:
  - nothing provides python3.12dist(asyncpg) needed by python3-sqlalchemy1.4+postgresql_asyncpg-1.4.52-1.fc41.x86_64
  - nothing provides python(abi) = 3.12 needed by python3-sqlalchemy1.4+postgresql_asyncpg-1.4.52-1.fc41.x86_64
  - nothing provides (python3.12dist(greenlet) < 0.4.17 or python3.12dist(greenlet) > 0.4.17) needed by python3-sqlalchemy1.4+postgresql_asyncpg-1.4.52-1.fc41.x86_64
  
can't install python3-sqlalchemy1.4+postgresql_pg8000:
  - nothing provides python(abi) = 3.12 needed by python3-sqlalchemy1.4+postgresql_pg8000-1.4.52-1.fc41.x86_64
  
can't install python3-sqlalchemy1.4+pymysql:
  - nothing provides python3.12dist(pymysql) needed by python3-sqlalchemy1.4+pymysql-1.4.52-1.fc41.x86_64
  - nothing provides python(abi) = 3.12 needed by python3-sqlalchemy1.4+pymysql-1.4.52-1.fc41.x86_64
  
can't install python3-sqlalchemy1.4:
  - nothing provides python(abi) = 3.12 needed by python3-sqlalchemy1.4-1.4.52-1.fc41.x86_64
  - nothing provides (python3.12dist(greenlet) < 0.4.17 or python3.12dist(greenlet) > 0.4.17) needed by python3-sqlalchemy1.4-1.4.52-1.fc41.x86_64
  
If you know about this problem and are planning on fixing it, please acknowledge so by setting the bug status to ASSIGNED. If you don't have time to maintain this package, consider orphaning it, so maintainers of dependent packages realize the problem.


If you don't react accordingly to the policy for FTBFS/FTI bugs (https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/), your package may be orphaned in 8+ weeks.


P.S. The data was generated solely from koji buildroot, so it might be newer than the latest compose or the content on mirrors. To reproduce, use the koji/local repo only, e.g. in mock:

    $ mock -r fedora-41-x86_64 --config-opts mirrored=False install python3-sqlalchemy1.4+aiomysql python3-sqlalchemy1.4+aiosqlite python3-sqlalchemy1.4+asyncio python3-sqlalchemy1.4+mssql_pymssql python3-sqlalchemy1.4+mssql_pyodbc python3-sqlalchemy1.4+mysql python3-sqlalchemy1.4+postgresql python3-sqlalchemy1.4+postgresql_asyncpg python3-sqlalchemy1.4+postgresql_pg8000 python3-sqlalchemy1.4+pymysql python3-sqlalchemy1.4


P.P.S. If this bug has been reported in the middle of upgrading multiple dependent packages, please consider using side tags: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/#updating-inter-dependent-packages

Thanks!

Comment 1 Ben Beasley 2024-06-16 12:18:59 UTC
Building the compiled extension failed:

  lib/sqlalchemy/cextension/resultproxy.c: In function ‘tuplegetter_new’:
  lib/sqlalchemy/cextension/resultproxy.c:831:10: error: implicit declaration of function ‘_PyArg_NoKeywords’ [-Wimplicit-function-declaration]
    831 |     if (!_PyArg_NoKeywords("tuplegetter", kwds))
        |          ^~~~~~~~~~~~~~~~~
  ***************************************************************************
  command '/usr/bin/gcc' failed with exit code 1
  WARNING: The C extension could not be compiled, speedups are not enabled.
  Failure information, if any, is above.
  Retrying the build without the C extension now.
  ***************************************************************************

For this, see: https://github.com/python/cpython/issues/110964

The build system just keeps going after this, and we end up without a compiled extension. Most of the tests pass, but there are a handful of failures:

FAILED test/orm/test_mapper.py::MapperTest::test_synonym_nonexistent_attr - A...
FAILED test/ext/test_serializer.py::ColumnPropertyWParamTest::test_deserailize_colprop
FAILED test/ext/test_serializer.py::SerializeTest::test_aliases - AttributeEr...
FAILED test/ext/test_serializer.py::SerializeTest::test_annotated_one - Attri...
FAILED test/ext/test_serializer.py::SerializeTest::test_any - AttributeError:...
FAILED test/ext/test_serializer.py::SerializeTest::test_attribute - Attribute...
FAILED test/ext/test_serializer.py::SerializeTest::test_columns - AttributeEr...
FAILED test/ext/test_serializer.py::SerializeTest::test_expression - Attribut...
FAILED test/ext/test_serializer.py::SerializeTest::test_mapper - AttributeErr...
FAILED test/ext/test_serializer.py::SerializeTest::test_orm_join - AttributeE...
FAILED test/ext/test_serializer.py::SerializeTest::test_query_one - Attribute...
FAILED test/ext/test_serializer.py::SerializeTest::test_query_three - Attribu...
FAILED test/ext/test_serializer.py::SerializeTest::test_query_two - Attribute...
FAILED test/ext/test_serializer.py::SerializeTest::test_tables - AttributeErr...
FAILED test/ext/test_serializer.py::SerializeTest::test_unicode - AttributeEr...
========= 15 failed, 15198 passed, 2407 skipped in 1355.79s (0:22:35) ==========

It looks like these are all due to something like:

  […]
  File "/builddir/build/BUILD/python-sqlalchemy1.4-1.4.52-build/SQLAlchemy-1.4.52/lib/sqlalchemy/ext/serializer.py", line 174, in dumps
    pickler = Serializer(buf, protocol)
  File "/builddir/build/BUILD/python-sqlalchemy1.4-1.4.52-build/SQLAlchemy-1.4.52/lib/sqlalchemy/ext/serializer.py", line 113, in Serializer
    pickler.persistent_id = persistent_id
    ^^^^^^^^^^^^^^^^^^^^^
AttributeError: '_pickle.Pickler' object attribute 'persistent_id' is read-only

Comment 2 Ben Beasley 2024-06-16 12:36:51 UTC
If we don’t want the build to keep going after building the C extension fails, we can set the environment variable REQUIRE_SQLALCHEMY_CEXT.

> export REQUIRE_SQLALCHEMY_CEXT=1

This seems wise to me.

Comment 3 Ben Beasley 2024-06-16 14:01:40 UTC
I’m almost ready to open a PR for this.

Comment 5 Nils Philippsen 2024-06-19 16:12:49 UTC
(In reply to Ben Beasley from comment #4)
> https://src.fedoraproject.org/rpms/python-sqlalchemy1.4/pull-request/1

Many thanks for fixing this!

Comment 6 Nils Philippsen 2024-06-19 17:19:32 UTC
Miro built the fixed package. This leaves python-pg8000 which isn’t yet available for Python 3.13 (and a whole chain of its deps):

--- 8< ---
Failed to resolve the transaction:
Problem: conflicting requests
  - nothing provides ((python3.13dist(pg8000) < 1.29 or python3.13dist(pg8000) > 1.29) with python3.13dist(pg8000) >= 1.16.6) needed by python3-sqlalchemy1.4+postgresql_pg8000-1.4.52-6.fc41.x86_64 from @commandline
--- >8 ---

I’ll close the bug, again many thanks!


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