Bug 2098787 - F37FailsToInstall: python3-py4j
Summary: F37FailsToInstall: python3-py4j
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: py4j
Version: 37
Hardware: Unspecified
OS: Unspecified
unspecified
urgent
Target Milestone: ---
Assignee: Raphael Groner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 2113610 (view as bug list)
Depends On: 2051203
Blocks: F38FTBFS PYTHON3.11 F37FTBFS F37FailsToInstall 2105380
TreeView+ depends on / blocked
 
Reported: 2022-06-20 09:32 UTC by Miro Hrončok
Modified: 2022-10-04 13:45 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-10-04 13:45:11 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Miro Hrončok 2022-06-20 09:32:47 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok).

Your package (py4j) Fails To Install in Fedora 37:

can't install python3-py4j:
  - nothing provides python(abi) = 3.10 needed by python3-py4j-0.10.9-9.fc36.noarch
  
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-37-x86_64 --disablerepo='*' --enablerepo=local install python3-py4j


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 Miro Hrončok 2022-06-20 10:06:03 UTC
This bugzilla is likely a fallout from the Python 3.11 rebuild.

If your package (or some of the dependencies it has) failed to rebuild during the Python 3.11 rebuild, they now fail to install. To fix this, packages need to be rebuilt in Rawhide.

We will slowly triage the bugzillas, but we'd appreciate your help.

If you know this is blocked by an existing reported build failure or another package not yet rebuilt with Python 3.11, please mark it as such by using the "Depends On"/"Blocks" bugzilla fields. That will help us determine what failures to prioritize.

If this is not Python 3.11 related, please remove the PYTHON3.11 blocking tracker.

Thank you and sorry for the inconvenience. Let me know if you need any help.

Comment 2 Miro Hrončok 2022-06-27 14:56:18 UTC
Hello,

This is the first reminder (step 3 from https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/#_package_removal_for_long_standing_ftbfs_and_fti_bugs).

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.

Comment 3 Raphael Groner 2022-06-27 16:21:00 UTC
No free time available to look into this actually, sorry.

Comment 4 Ben Cotton 2022-08-09 13:39:27 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 37 development cycle.
Changing version to 37.

Comment 5 Miro Hrončok 2022-08-25 09:47:52 UTC
(In reply to Raphael Groner from comment #3)
> No free time available to look into this actually, sorry.

We are past Fedora 37 Beta Freeze and this package does not even install. What is the plan wrt this package? Can it please be removed from the distribution until this is solved?

Comment 6 Raphael Groner 2022-09-10 12:37:27 UTC
What happens if you do dnf install python3.10 in prior? Maybe dnf can not resolve versioned dependency of python(abi).

Comment 7 Miro Hrončok 2022-09-10 14:56:47 UTC
python3.10 does not provide python(abi). It's not for other packages to depend on, only for Python developers to install and test with. Packages in Fedora 37 use Python 3.11.

Comment 8 Raphael Groner 2022-09-12 19:34:30 UTC
> Packages in Fedora 37 use Python 3.11.

This violates PEP 619. Python 3.10 is in maintanance status "bugfix" till expected 2023-02 and has officially promised support even with "security" till at least 2026-10.

Comment 9 Miro Hrončok 2022-09-12 20:11:31 UTC
Raphael, what are you trying to say? Python 3.10 is obviously still supported. But Fedora packages in Fedora 37 use Python 3.11 -- see https://fedoraproject.org/wiki/Changes/Python3.11 and https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_python_version_support

Comment 10 Raphael Groner 2022-09-12 22:28:11 UTC
*** Bug 2113610 has been marked as a duplicate of this bug. ***

Comment 11 Raphael Groner 2022-09-12 23:02:05 UTC
Upstream does not support python 3.11 yet. Please feel free to ask there for a separate test.
https://github.com/py4j/py4j/actions/runs/2864866120

Comment 12 Miro Hrončok 2022-09-13 09:06:08 UTC
That's no reason to close this Bugzilla without any action. The package still does not install in Fedora 37 and 38.

Should we remove it from Fedora 37/38 before it is fixed?

Comment 13 Raphael Groner 2022-09-14 23:02:07 UTC
As said, PEP 619 is violated. 
Another reason is misleading package name, it should be python-py4j or python3.11-py4j? Please consider as obsolete.
Hopefully upstream can provide support for python 3.11 soonish, so we can re-review a package with new name.
EPEL propably.

Comment 14 Miro Hrončok 2022-09-14 23:40:51 UTC
> As said, PEP 619 is violated. 

I still don't understand what you mean by that. Who violates PEP 619 and how exactly?

About naming: https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_naming (don't name the package python3.11-py4j)

Comment 15 Raphael Groner 2022-09-15 05:53:58 UTC
PEP 619 …

> Expected:

    3.10.8: Monday, 2022-10-03
    3.10.9: Monday, 2022-12-05
    3.10.10: Monday, 2023-02-06

> Final regular bugfix release with binary installers:

    3.10.11: Monday, 2023-04-03

About naming, py4j.spec without explicit python3 inside would be more accurate but use python3-py4j as subpackage. No?

Comment 16 Miro Hrončok 2022-09-15 09:20:53 UTC
I know what PEP 619 says. Python 3.10 is still supported upstream. I don't understand who is in violation of the PEPE here. Is it me? Is it you? Is it Fedora 37? Is it py4j?

py4j is already named py4j. It has a python3-py4j subpackage. Let's keep it that way please.

Comment 17 Raphael Groner 2022-09-16 18:45:33 UTC
Well, I don't get the point why packaging of additional libraries intentionally for compatibility development is not possible for older but still supported python in F37+. Maybe backporting of applications is propably something else and could indeed confuse users.

Comment 18 Miro Hrončok 2022-09-17 09:25:42 UTC
> Well, I don't get the point why packaging of additional libraries intentionally for compatibility development is not possible for older but still supported python in F37+.

Because in Fedora, we only have resources to maintain one Python stack. Maintaining stacks for multiple different Python versions is not impossible, but currently not done. Maintaining a handful of libraries for the older versions while the rest of the distribution was updated does not make much sense to me. Also, once the FTBFS would be fixed the library would get updated from Python 3.10 to 3.11 potentially mid-release.

Comment 19 Raphael Groner 2022-09-18 06:51:45 UTC
Okay, back to original issue.

> This bugzilla is likely a fallout from the Python 3.11 rebuild.

Can you provide another rebuild? Well, mass rebuild was already 3 monthes ago. We'd see other error now due to java part, too.

Comment 20 Miro Hrončok 2022-09-18 14:09:43 UTC
> Can you provide another rebuild?

I have no idea what you mean by that. This package fails to build.

Comment 21 Raphael Groner 2022-09-21 10:03:45 UTC
(In reply to Miro Hrončok from comment #20)
> > Can you provide another rebuild?
> 
> I have no idea what you mean by that. This package fails to build.

What error message? Please provide current build.log etc. Original issue was due to FTI.

Comment 23 Miro Hrončok 2022-09-21 13:39:18 UTC
...
+ ant -f py4j-java/build.xml java-test
Buildfile: /builddir/build/BUILD/py4j-0.10.9/py4j-java/build.xml
init:
build:
     [echo] py4j: /builddir/build/BUILD/py4j-0.10.9/py4j-java/build.xml
java-test:
    [junit] Testsuite: py4j.BufferGatewayTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.092 sec
    [junit] 
    [junit] Testsuite: py4j.ClientServerTest
    [junit] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.811 sec
    [junit] 
    [junit] Testsuite: py4j.EchoClientTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.061 sec
    [junit] 
    [junit] ------------- Standard Output ---------------
    [junit] EchoServer started...
    [junit] Waiting for echo input.
    [junit] Echo received: yi7
    [junit] Waiting for echo input.
    [junit] Echo received: x
    [junit] Waiting for echo input.
    [junit] Echo received: null
    [junit] Reading commands
    [junit] Received temp: c
    [junit] Received temp: g
    [junit] Received temp: getExample
    [junit] Received temp: e
    [junit] yi7
    [junit] Reading commands
    [junit] Received temp: c
    [junit] Received temp: o1
    [junit] Received temp: method1
    [junit] Received temp: i1
    [junit] Received temp: btrue
    [junit] Received temp: e
    [junit] x
    [junit] Reading commands
    [junit] Received temp: null
    [junit] ------------- ---------------- ---------------
    [junit] Testsuite: py4j.EchoServerTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.534 sec
    [junit] 
    [junit] ------------- Standard Output ---------------
    [junit] EchoServer started...
    [junit] Waiting for echo input.
    [junit] Echo received: yi7
    [junit] Waiting for echo input.
    [junit] Echo received: x
    [junit] Waiting for echo input.
    [junit] Echo received: null
    [junit] Reading commands
    [junit] Received temp: c
    [junit] Received temp: t
    [junit] Received temp: getExample
    [junit] Received temp: e
    [junit] yi7
    [junit] Reading commands
    [junit] Received temp: c
    [junit] Received temp: o0
    [junit] Received temp: method1
    [junit] Received temp: i1
    [junit] Received temp: btrue
    [junit] Received temp: e
    [junit] x
    [junit] Reading commands
    [junit] Received temp: null
    [junit] ------------- ---------------- ---------------
    [junit] Testsuite: py4j.GatewayServerTest
    [junit] Tests run: 5, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.36 sec
    [junit] 
    [junit] Testcase: testAuthentication(py4j.GatewayServerTest):	FAILED
    [junit] null
    [junit] junit.framework.AssertionFailedError
    [junit] 	at py4j.GatewayServerTest.testServerAccess(GatewayServerTest.java:201)
    [junit] 	at py4j.GatewayServerTest.testAuthentication(GatewayServerTest.java:156)
    [junit] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    [junit] 	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    [junit] 	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    [junit] 
    [junit] 
BUILD FAILED
/builddir/build/BUILD/py4j-0.10.9/py4j-java/build.xml:141: Test py4j.GatewayServerTest failed
Total time: 7 seconds

Comment 24 Raphael Groner 2022-09-21 16:42:33 UTC
Thanks. So one test fails, we could disable execution and report to upstream in hope for a fix.

Comment 25 Raphael Groner 2022-09-27 16:13:23 UTC
Well, build for F37 got cancelled intentionally and build for rawhide done on ppc64le, so I assume snippet from build.log in comment #23 taken from rawhide. Is ppc64le still a valid platform for java? About java part see bug #2105380 & bug #2051203 .

Comment 26 Miro Hrončok 2022-09-28 22:31:36 UTC
> Is ppc64le still a valid platform for java?

Yes, it is.

------

Is it realistic to have this fixed in time for Fedora 37 GA, or can I retire the package to avoid blocked upgrades to Fedora 37? It can be unretired and shipped via an update after the GA.

Comment 27 Miro Hrončok 2022-09-29 18:17:56 UTC
The Fedora Engineering Steering Committee has approved [1] to retire the remaining non-installable packages still depending on Python 3.10 from Fedora 37 and Rawhide 1-2 days before the final freeze. We plan to retire this package this Sunday: 2022-10-02. If you wish to fix this package for time for Fedora 37 GA, please request a freeze exception [2].

[1] https://pagure.io/fesco/issue/2876
[2] https://qa.fedoraproject.org/blockerbugs/propose_bug

Comment 28 Raphael Groner 2022-10-01 14:29:31 UTC
Well, my intention is definitely not to prevent a final freeze with my b0rken packages. Please feel free to exclude this package and retire temporarily till mentioned issues with java get hopefully sorted out.

Comment 29 Miro Hrončok 2022-10-03 09:31:04 UTC
Retired in dist-git.

Comment 30 Miro Hrončok 2022-10-04 13:32:39 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok).

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

Thanks for taking care of it!

Comment 31 Miro Hrončok 2022-10-04 13:45:11 UTC
Hello,

Please note that this comment was generated automatically. If you feel that this output has mistakes, please contact me via email (mhroncok).

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

Thanks for taking care of it!


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