Fedora Account System
Red Hat Associate
Red Hat Customer
usd fails to build with Python 3.15.0a5. /builddir/build/BUILD/usd-25.11-build/OpenUSD-25.11/pxr/base/tf/pyIdentity.cpp: In member function ‘PyObject* pxrInternal_v0_25_11__pxrReserved__::Tf_PyIdHandle::Ptr() const’: /builddir/build/BUILD/usd-25.11-build/OpenUSD-25.11/pxr/base/tf/pyIdentity.cpp:139:16: error: ‘PyWeakref_GetObject’ was not declared in this scope; did you mean ‘PyWeakref_GetRef’? 139 | return PyWeakref_GetObject(_weakRef); | ^~~~~~~~~~~~~~~~~~~ | PyWeakref_GetRef https://docs.python.org/3.15/whatsnew/3.15.html For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.15/fedora-rawhide-x86_64/10071420-usd/ For all our attempts to build usd with Python 3.15, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.15/package/usd/ 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.15: https://copr.fedorainfracloud.org/coprs/g/python/python3.15/ Let us know here if you have any questions. Python 3.15 is planned to be included in Fedora 45. To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.15. 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.
Reported upstream in https://github.com/PixarAnimationStudios/OpenUSD/issues/3966.
*** Bug 2486005 has been marked as a duplicate of this bug. ***
I’m personally not currently planning to attempt a patch for this. What would otherwise be a rather straightforward change to switch from PyWeakref_GetrRef to PyWeakref_GetRef and adjust the reference counting to deal with a strong refereence rather than a borrowed one is clouded by the involvement of (a fork of) boost::python. I would have to read a lot of undocumented Boost code to make sure I got the reference-counting right, and I’m just not up for it. (There is more compatibility trouble down the road, particularly https://github.com/PixarAnimationStudios/OpenUSD/issues/4078 with OneTBB 2023.)
Hello, Please note that this comment was generated automatically by https://forge.fedoraproject.org/releng/tooling/src/branch/main/release-process/bug-filing/follow-policy/follow_policy.py If you feel that this output has mistakes, please open an issue at https://forge.fedoraproject.org/releng/tickets/issues This package fails to install and maintainers are advised to take one of the following actions: - Fix this bug and close this bugzilla once the update makes it to the repository. (The same script that posted this comment will eventually close this bugzilla when the fixed package reaches the repository, so you don't have to worry about it.) or - Move this bug to ASSIGNED if you plan on fixing this, but simply haven't done so yet. or - Orphan the package if you no longer plan to maintain it. If you do not take one of these actions, the process at https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/#_package_removal_for_long_standing_ftbfs_and_fti_bugs will continue. This package may be orphaned in 7+ weeks. This is the first reminder (step 3) from the policy. Don't hesitate to ask for help on https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/ if you are unsure how to fix this bug.
Hello, Please note that this comment was generated automatically by https://forge.fedoraproject.org/releng/tooling/src/branch/main/release-process/bug-filing/follow-policy/follow_policy.py If you feel that this output has mistakes, please open an issue at https://forge.fedoraproject.org/releng/tickets/issues This package fails to install and maintainers are advised to take one of the following actions: - Fix this bug and close this bugzilla once the update makes it to the repository. (The same script that posted this comment will eventually close this bugzilla when the fixed package reaches the repository, so you don't have to worry about it.) or - Move this bug to ASSIGNED if you plan on fixing this, but simply haven't done so yet. or - Orphan the package if you no longer plan to maintain it. If you do not take one of these actions, the process at https://docs.fedoraproject.org/en-US/fesco/Fails_to_build_from_source_Fails_to_install/#_package_removal_for_long_standing_ftbfs_and_fti_bugs will continue. This package may be orphaned in 4+ weeks. This is the second reminder (step 4) from the policy. Don't hesitate to ask for help on https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/ if you are unsure how to fix this bug.
In this case, it will be great for Python team addressing this complex issue which is very much outside on my skills. Let's set to assign for now.
Version 26.08 is expected to come on July 20. We will test it when released.
Add a blocker. Patch welcome for this package.
Sorry for the confusion. The bz2506751 tracker is for packages that were rebuilt with previous Python 3.15 versions and now need to be rebuilt for the ABI change. This package still needs to be built with Python 3.15 and is tracked in bz2412434.
So, I was able to make this build with 2 patches I am going to attach. The patches were LLM-generated, and I do not currently have the capacity to thoroughly review them or perform some real tests. From a real shallow point of view, they seem plausible. The package builds with them (except for occasional OOM). However, I am not confident enough to offer the Python 3.15 patch upstream as is (the other is a backport of sorts), nor to send this as a Fedora downstream PR. If you review the patches, feel free to use them at your own risk.
Created attachment 2152808 [details] Replace PyWeakref_GetObject with PyWeakref_GetRef
Created attachment 2152809 [details] Fix TBB version detection (for tbb 2023)
(In reply to Miro Hrončok from comment #12) > Created attachment 2152809 [details] > Fix TBB version detection (for tbb 2023) This patch is unnecessary as upstream fixed with version 26.08. The new updated package is under evaluation with patch from #11.
@(In reply to Ben Beasley from comment #3) > I’m personally not currently planning to attempt a patch for this. What > would otherwise be a rather straightforward change to switch from > PyWeakref_GetrRef to PyWeakref_GetRef and adjust the reference counting to > deal with a strong refereence rather than a borrowed one is clouded by the > involvement of (a fork of) boost::python. I would have to read a lot of > undocumented Boost code to make sure I got the reference-counting right, and > I’m just not up for it. > > (There is more compatibility trouble down the road, particularly > https://github.com/PixarAnimationStudios/OpenUSD/issues/4078 with OneTBB > 2023.) Version 26.08 rcently got released addressing the fix related to OneTBB 2023. With some modifications of the provided patch from comment#11, the build is successful. Would you mind reviewing the modified patch assisted with DeepSeek tool from this scratch build: https://copr.fedorainfracloud.org/coprs/g/designsuite/blender/build/10785508/ ? If everything is well, we can send the patch to upstream while pushing only for Rawhide and the incoming Fedora 45 branch.
Created attachment 2153004 [details] Revised patch For review, here is the updated patch keeping the original behaviour in pxr/base/tf/pyIdentity.cpp (Tf_PyIdHandle::Ptr)
(In reply to Luya Tshimbalanga from comment #15) > Created attachment 2153004 [details] > Revised patch > > For review, here is the updated patch keeping the original behaviour in > pxr/base/tf/pyIdentity.cpp (Tf_PyIdHandle::Ptr) Hmm, I find that this doesn’t apply directly (the patch is allegedly corrupt or ill-formed), but I was able to manually rebase it on the v26.08 tag in a git checkout. I’ll attach the modified version below, and I’m testing it in a local mock build. I don’t have the capacity to do meaningful interactive testing of this package, and I don’t have the intimate familiarity with Boost Python and with this package’s source code that would be required to do a proper review. Assuming my build finishes successfully, I suppose we can apply this patch as a stopgap since the alternative is not having usd at all until upstream ships a version with Python 3.15 support, but I can’t vouch for the patch’s correctness.
Created attachment 2153030 [details] Version of the suggested patch that actually applies to v26.08
As a compromise, given the caveats in https://bugzilla.redhat.com/show_bug.cgi?id=2433881#c10, I mentioned the existence of a patch upstream in https://github.com/PixarAnimationStudios/OpenUSD/issues/3966#issuecomment-5128542913 and linked this discussion, but I didn’t attach the patch to the issue or open a PR.
https://src.fedoraproject.org/rpms/usd/pull-request/42
The build was successful and the pull request is merged. You can build when ready.
FEDORA-2026-d2b0ab9a73 (usd-26.08-2.fc45) has been submitted as an update to Fedora 45. https://bodhi.fedoraproject.org/updates/FEDORA-2026-d2b0ab9a73
FEDORA-2026-d2b0ab9a73 (usd-26.08-2.fc45) has been pushed to the Fedora 45 stable repository. If problem still persists, please make note of it in this bug report.