Bug 1930389

Summary: Provide TBBConfig.cmake
Product: [Fedora] Fedora Reporter: Ben Boeckel <fedora>
Component: tbbAssignee: Jiri Kastner <cz172638>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 32CC: cz172638, loganjerry, me
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tbb-2020.2-3.fc32 tbb-2020.3-5.fc33 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-03 23:24:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ben Boeckel 2021-02-18 19:16:42 UTC
Description of problem:
The tbb-devel package does not provide `TBBConfig.cmake`. It looks like, from Arch, that this command needs added to the %install section:

https://github.com/archlinux/svntogit-packages/blob/packages/tbb/trunk/PKGBUILD#L32

  cmake \
    -DINSTALL_DIR="$pkgdir"/usr/lib/cmake/TBB \
    -DSYSTEM_NAME=Linux -DTBB_VERSION_FILE="$pkgdir"/usr/include/tbb/tbb_stddef.h \
    -P cmake/tbb_config_installer.cmake

Comment 1 Jerry James 2021-02-18 23:43:38 UTC
Thanks for the report, Ben.  I had to tweak the cmake invocation slightly (the one above just makes cmake complain that there is no CMakeLists.txt file).  A Rawhide build is now running.  If that doesn't break anything, I'll build for Fedora 32 - 34 next.

Comment 2 Ben Boeckel 2021-02-19 00:24:55 UTC
Hmm. The `-P` is "script mode", so it shouldn't need that. Or did you try to use `%cmake`?

The key file to look for is `/usr/lib64/cmake/tbb/TBBConfig.cmake`. If that is new, then it (probably) worked. I'll test out the F33 package here locally once it lands in updates-testing. Thanks!

Comment 3 Fedora Update System 2021-02-19 23:49:55 UTC
FEDORA-2021-c9be5cceb5 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-c9be5cceb5

Comment 4 Fedora Update System 2021-02-19 23:49:56 UTC
FEDORA-2021-865cc5a09e has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-865cc5a09e

Comment 5 Fedora Update System 2021-02-20 01:31:03 UTC
FEDORA-2021-865cc5a09e has been pushed to the Fedora 33 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-865cc5a09e`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-865cc5a09e

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

Comment 6 Fedora Update System 2021-02-20 02:09:59 UTC
FEDORA-2021-c9be5cceb5 has been pushed to the Fedora 32 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-c9be5cceb5`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-c9be5cceb5

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

Comment 7 Ben Boeckel 2021-02-22 14:08:42 UTC
The CMake package isn't working properly. The problem is that it does this:

/usr/lib64/cmake/TBB/TBBConfig.cmake(45):  get_filename_component(_tbb_root /usr/lib64/cmake/TBB/TBBConfig.cmake PATH )
/usr/lib64/cmake/TBB/TBBConfig.cmake(46):  get_filename_component(_tbb_root /usr/lib64/cmake/TBB PATH )

which means it is looking in `/usr/lib64/cmake/TBB/lib/…` for its libraries. Looking into that config generator script to see what needs to happen.

Comment 8 Ben Boeckel 2021-02-22 14:34:45 UTC
Hmm. Seems like https://github.com/oneapi-src/oneTBB has it correct during a normal `install` process (at least when using its CMake build). No idea if that's a plausible switch for Rawhide? Seems upstream is moving to a turn-key solution eventually.

Playing around with the tarball directly, it looks like what is actually wanted is:

cmake -DSYSTEM_NAME=Linux -DINSTALL_DIR=$RPM_BUILD_ROOT%{_libdir}/cmake/TBB -P cmake/tbb_config_installer.cmake

Comment 9 Jerry James 2021-02-22 16:33:28 UTC
That didn't quite do it either, because TBBConfig.cmake wound up looking in /usr/lib for the shared libraries, which of course doesn't work if %{_libdir} == /usr/lib64.  This seems to produce the right output:

cmake -DSYSTEM_NAME=Linux -DINSTALL_DIR=$RPM_BUILD_ROOT%{_libdir}/cmake/TBB -DLIB_REL_PATH=../.. -P cmake/tbb_config_installer.cmake

I have started a Rawhide build with that invocation.  If it looks good, I'll push builds for F32-F34 next.

Comment 10 Ben Boeckel 2021-02-22 17:35:48 UTC
I'm not able to install it on Fedora 33 due to libstdc++ symbol versions, but it looks good to me at a glance. Thanks!

Comment 11 Fedora Update System 2021-02-22 21:55:47 UTC
FEDORA-2021-865cc5a09e has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-865cc5a09e

Comment 12 Fedora Update System 2021-02-22 21:56:26 UTC
FEDORA-2021-c9be5cceb5 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2021-c9be5cceb5

Comment 13 Fedora Update System 2021-02-24 21:39:39 UTC
FEDORA-2021-c9be5cceb5 has been pushed to the Fedora 32 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-c9be5cceb5`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-c9be5cceb5

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

Comment 14 Fedora Update System 2021-02-24 21:54:54 UTC
FEDORA-2021-865cc5a09e has been pushed to the Fedora 33 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2021-865cc5a09e`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-865cc5a09e

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

Comment 15 Fedora Update System 2021-03-03 23:24:41 UTC
FEDORA-2021-c9be5cceb5 has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 16 Fedora Update System 2021-03-04 20:06:57 UTC
FEDORA-2021-865cc5a09e has been pushed to the Fedora 33 stable repository.
If problem still persists, please make note of it in this bug report.