Bug 2055414 - usd-devel is missing pxrTargets.cmake
Summary: usd-devel is missing pxrTargets.cmake
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: usd
Version: 35
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Luya Tshimbalanga
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-02-16 21:06 UTC by Nikita Musatov
Modified: 2022-05-07 04:16 UTC (History)
3 users (show)

Fixed In Version: usd-21.11-10.fc35 usd-22.03-8.fc36
Clone Of:
Environment:
Last Closed: 2022-04-20 19:09:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Nikita Musatov 2022-02-16 21:06:20 UTC
Description of problem:
Package is missing /usr/lib64/cmake/pxr/cmake/pxrTargets.cmake


Version-Release number of selected component (if applicable):
usd-devel-21.11-4.fc35.x86_64

How reproducible:
In CMake you need to add:
find_package(pxr REQUIRED)


Actual results:
[build] Starting build
[build] [1/1   0% :: 0.000] Re-running CMake...
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:19 (include):
[build]   include could not find requested file:
[build] 
[build]     /usr/lib64/cmake/pxr/cmake/pxrTargets.cmake
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "arch".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "tf".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "gf".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "js".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "trace".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "work".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "plug".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "vt".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "ar".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "kind".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "sdf".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "ndr".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "sdr".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "pcp".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usd".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdGeom".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdVol".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdMedia".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdShade".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdLux".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdRender".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdHydra".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdRi".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdSkel".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdUI".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdUtils".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdPhysics".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "garch".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "hf".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "hio".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "cameraUtil".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "pxOsd".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "glf".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "hgi".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "hgiGL".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "hgiInterop".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "hd".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "hdSt".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "hdx".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdImaging".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdImagingGL".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdRiImaging".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdSkelImaging".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdVolImaging".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdAppUtils".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] CMake Error at /usr/lib64/cmake/pxr/pxrConfig.cmake:25 (get_target_property):
[build]   get_target_property() called with non-existent target "usdviewq".
[build] Call Stack (most recent call first):
[build]   CMakeLists.txt:27 (find_package)
[build] 
[build] 
[build] -- Configuring incomplete, errors occurred!

Expected results:


Additional info:

Comment 1 Ben Beasley 2022-02-16 21:48:57 UTC
This seems to be “intentional” in USD-21.11/pxr/CMakeLists.txt:

> if (NOT PXR_BUILD_MONOLITHIC)
>     install(EXPORT pxrTargets DESTINATION "cmake")
> endif()

Here is the PR that introduced that behavior: https://github.com/PixarAnimationStudios/USD/pull/252

A monolithic build is one with a single shared library instead of many separate ones. We currently do a monolithic build in Fedora.

There is a relevant upstream issue: https://github.com/PixarAnimationStudios/USD/issues/1088

I found another issue that isn’t exactly about this, but may be relevant to what you are trying to do: https://github.com/PixarAnimationStudios/USD/issues/1025

----

It seems like the only way we could resolve this in Fedora is to stop setting PXR_BUILD_MONOLITHIC=ON. Because that would change the libraries that need to be linked, it would be an ABI break, so it couldn’t happen in a stable release. It would also require a new downstream .so versioning patch, since the current one applies only to the monolithic library (https://bugzilla.redhat.com/show_bug.cgi?id=2019440#c8).

Luya, what do you think?

Comment 2 Luya Tshimbalanga 2022-02-21 19:58:22 UTC
(In reply to Ben Beasley from comment #1)
> 
> It seems like the only way we could resolve this in Fedora is to stop
> setting PXR_BUILD_MONOLITHIC=ON. Because that would change the libraries
> that need to be linked, it would be an ABI break, so it couldn’t happen in a
> stable release. It would also require a new downstream .so versioning patch,
> since the current one applies only to the monolithic library
> (https://bugzilla.redhat.com/show_bug.cgi?id=2019440#c8).
> 
> Luya, what do you think?

I recently pushed USD 22.03 update in both Rawhide and Fedora 36. You can try the suggestion and see if that will fix the issue.

Comment 3 Ben Beasley 2022-02-27 17:37:24 UTC
> I recently pushed USD 22.03 update in both Rawhide and Fedora 36. You can
> try the suggestion and see if that will fix the issue.

Are you suggesting that 22.03 should fix this? (I don’t believe anything has changed upstream.)

Or are you suggesting that someone should make a PR that disables the monolithic build?

Comment 4 Ben Beasley 2022-03-09 14:50:06 UTC
(In reply to Ben Beasley from comment #3)
> > I recently pushed USD 22.03 update in both Rawhide and Fedora 36. You can
> > try the suggestion and see if that will fix the issue.
> 
> Are you suggesting that 22.03 should fix this? (I don’t believe anything has
> changed upstream.)
> 
> Or are you suggesting that someone should make a PR that disables the
> monolithic build?

Luya, could you please clarify when you have a chance? Thanks!

Comment 5 Luya Tshimbalanga 2022-03-09 16:30:52 UTC
I suggest the latter i.e. disable the monolithic build.

Comment 6 Ben Beasley 2022-03-31 15:39:36 UTC
Upon closer investigation, Blender’s build system is designed to designed to work only with a monolithic build of USD, so I think we’re going to have to stick with a monolithic build in Fedora.

It seems like the `pxrConfig.cmake` that is currently installed with the package isn’t usable, because it is designed to work with the targets for the non-monolithic libraries. I’m not expert enough in CMake to offer a PR to USD upstream that would fix this properly. Would it be helpful if we at least removed the `pxrConfig.cmake` file from the RPM package, since it seems not to be usable?

Other than that, all I can suggest is working with upstream to provide better CMake support for monolithic builds.

Comment 7 Nikita Musatov 2022-04-01 06:44:39 UTC
(In reply to Ben Beasley from comment #6)
> Upon closer investigation, Blender’s build system is designed to designed to
> work only with a monolithic build of USD, so I think we’re going to have to
> stick with a monolithic build in Fedora.
> 
> It seems like the `pxrConfig.cmake` that is currently installed with the
> package isn’t usable, because it is designed to work with the targets for
> the non-monolithic libraries. I’m not expert enough in CMake to offer a PR
> to USD upstream that would fix this properly. Would it be helpful if we at
> least removed the `pxrConfig.cmake` file from the RPM package, since it
> seems not to be usable?
> 
> Other than that, all I can suggest is working with upstream to provide
> better CMake support for monolithic builds.

That sounds like a good idea and if they will change USD something and pxrConfig.cmake will work with the monolithic build you can return this file.

Comment 8 Fedora Update System 2022-04-04 13:54:15 UTC
FEDORA-2022-c87bba6546 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-c87bba6546

Comment 9 Fedora Update System 2022-04-04 23:56:09 UTC
FEDORA-2022-ae41947c20 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2022-ae41947c20

Comment 10 Fedora Update System 2022-04-05 12:40:54 UTC
FEDORA-2022-c87bba6546 has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-c87bba6546`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-c87bba6546

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Fedora Update System 2022-04-05 16:07:28 UTC
FEDORA-2022-ae41947c20 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-ae41947c20`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-ae41947c20

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 12 Fedora Update System 2022-04-12 14:45:27 UTC
FEDORA-2022-c87bba6546 has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-c87bba6546`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-c87bba6546

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 13 Fedora Update System 2022-04-13 15:18:13 UTC
FEDORA-2022-ae41947c20 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-ae41947c20`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-ae41947c20

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 14 Fedora Update System 2022-04-20 19:09:40 UTC
FEDORA-2022-ae41947c20 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 15 Fedora Update System 2022-04-23 17:13:10 UTC
FEDORA-2022-c87bba6546 has been pushed to the Fedora 36 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2022-c87bba6546`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-c87bba6546

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 16 Fedora Update System 2022-05-07 04:16:31 UTC
FEDORA-2022-c87bba6546 has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.


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