Intel oneAPI tbb (formerly known as Intel tbb) 2021.1 has been released and has deprecated several interfaces over tbb 2020, see: https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-threading-building-blocks-release-notes.html and: https://software.intel.com/content/www/us/en/develop/articles/tbb-revamp.html As a consequence, updating devel/tbb in-place is not possible because most of our dependent ports break. Instead, we will introduce a new port called devel/onetbb (the new name of the library) that will hold new versions of the library. Find attached to that PR expected patches for devel/tbb and devel/onetbb. The old port, devel/tbb will be kept for a certain amount of time and removed in the future. We will have to migrate and patch each dependent port before committing the changes alltogether. That PR will help synchronize the migration by attaching a blocking PR for each failing port. See also this thread on ports@: https://lists.freebsd.org/pipermail/freebsd-ports/2021-January/120010.html Stay tuned!
Created attachment 221542 [details] Patch to existing devel/tbb
Created attachment 221543 [details] New devel/onetbb port
The upstream needs to fix this.
Sorry, wrong bug#. -)
On my system I have devel/hwloc installed (there is also devel/hwloc2) so when I build from ports tree I get extra libs built - ===> Checking for items in STAGEDIR missing from pkg-plist Error: Orphaned: lib/libtbbbind.so Error: Orphaned: lib/libtbbbind.so.3 Error: Orphaned: lib/libtbbbind.so.3.1
Hello Shane, Good catch, thanks! The port has picked up legacy hwloc and built additional libtbbbind. I've updated the patch to depend on newer devel/hwloc2 and disabled detection of devel/hwloc. Can you check again please ?
Created attachment 221708 [details] New devel/onetbb port (v2)
Created attachment 221709 [details] New devel/onetbb port (v2)
The build is fine, but I would change the lib name for the hwloc. If hwloc is installed the lib matches for dependencies but the configure fails. Both ports have libhwloc.so, while hwloc has libhwloc.so.5 and hwloc2 has libhwloc.so.15
Right, I'll fix that, thanks!
Please remove ONLY_FOR_ARCHS, :noninja, and MAKE_JOBS_UNSAFE. And add CMAKE_ARGS+=-DTBB_STRICT:BOOL=FALSE to disable Werror, because there's e.g. an unused argument warning for '-MD' on aarch64. With these changes, builds fine on aarch64.
Created attachment 221772 [details] New devel/onetbb port (v3) Patch updated, thanks!
To handle PR 252870, I tried to build devel/onetbb and it failed on -CURRENT (clang 11): [97/308] /usr/local/libexec/ccache/c++ -I/usr/ports/devel/onetbb/work/oneTBB-2021.1.1/test/.. -I/usr/ports/devel/onetbb/work/oneTBB-2021.1.1/test -I/usr/ports/devel/onetbb/work/oneTBB-2021.1.1/src/tbb/../../include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Wextra -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor -Wno-parentheses -pthread -std=c++11 -MD -MT test/CMakeFiles/conformance_blocked_rangeNd.dir/conformance/conformance_blocked_rangeNd.cpp.o -MF test/CMakeFiles/conformance_blocked_rangeNd.dir/conformance/conformance_blocked_rangeNd.cpp.o.d -o test/CMakeFiles/conformance_blocked_rangeNd.dir/conformance/conformance_blocked_rangeNd.cpp.o -c /usr/ports/devel/onetbb/work/oneTBB-2021.1.1/test/conformance/conformance_blocked_rangeNd.cpp FAILED: test/CMakeFiles/conformance_blocked_rangeNd.dir/conformance/conformance_blocked_rangeNd.cpp.o /usr/local/libexec/ccache/c++ -I/usr/ports/devel/onetbb/work/oneTBB-2021.1.1/test/.. -I/usr/ports/devel/onetbb/work/oneTBB-2021.1.1/test -I/usr/ports/devel/onetbb/work/oneTBB-2021.1.1/src/tbb/../../include -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Wextra -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor -Wno-parentheses -pthread -std=c++11 -MD -MT test/CMakeFiles/conformance_blocked_rangeNd.dir/conformance/conformance_blocked_rangeNd.cpp.o -MF test/CMakeFiles/conformance_blocked_rangeNd.dir/conformance/conformance_blocked_rangeNd.cpp.o.d -o test/CMakeFiles/conformance_blocked_rangeNd.dir/conformance/conformance_blocked_rangeNd.cpp.o -c /usr/ports/devel/onetbb/work/oneTBB-2021.1.1/test/conformance/conformance_blocked_rangeNd.cpp Assertion failed: (isa<X>(Val) && "cast<Ty>() argument of incompatible type!"), function cast, file /usr/src/contrib/llvm-project/llvm/include/llvm/Support/Casting.h, line 269. PLEASE submit a bug report to https://bugs.freebsd.org/submit/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump: 0. Program arguments: /usr/bin/c++ -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -Wextra -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor -Wno-parentheses -pthread -std=c++11 -I/usr/ports/devel/onetbb/work/oneTBB-2021.1.1/test/.. -I/usr/ports/devel/onetbb/work/oneTBB-2021.1.1/test -I/usr/ports/devel/onetbb/work/oneTBB-2021.1.1/src/tbb/../../include -c -o test/CMakeFiles/conformance_blocked_rangeNd.dir/conformance/conformance_blocked_rangeNd.cpp.o /usr/ports/devel/onetbb/work/oneTBB-2021.1.1/test/conformance/conformance_blocked_rangeNd.cpp 1. /usr/ports/devel/onetbb/work/oneTBB-2021.1.1/src/tbb/../../include/oneapi/tbb/blocked_rangeNd.h:69:62: current parser token ':' 2. /usr/ports/devel/onetbb/work/oneTBB-2021.1.1/src/tbb/../../include/oneapi/tbb/blocked_rangeNd.h:34:1: parsing namespace 'tbb' 3. /usr/ports/devel/onetbb/work/oneTBB-2021.1.1/src/tbb/../../include/oneapi/tbb/blocked_rangeNd.h:35:1: parsing namespace 'tbb::detail' 4. /usr/ports/devel/onetbb/work/oneTBB-2021.1.1/src/tbb/../../include/oneapi/tbb/blocked_rangeNd.h:36:1: parsing namespace 'tbb::detail::d1' 5. /usr/ports/devel/onetbb/work/oneTBB-2021.1.1/src/tbb/../../include/oneapi/tbb/blocked_rangeNd.h:55:1: parsing struct/union/class body 'tbb::detail::d1::blocked_rangeNd_impl<Value, N, detail::index_sequence<Is...>>' #0 0x00000000041d495e PrintStackTrace /usr/src/contrib/llvm-project/llvm/lib/Support/Unix/Signals.inc:564:13 #1 0x00000000041d2bb5 RunSignalHandlers /usr/src/contrib/llvm-project/llvm/lib/Support/Signals.cpp:69:18 #2 0x000000000417209e HandleCrash /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:77:5 #3 0x0000000004172221 CrashRecoverySignalHandler /usr/src/contrib/llvm-project/llvm/lib/Support/CrashRecoveryContext.cpp:0:51 #4 0x0000000805690bd0 handle_signal /usr/src/lib/libthr/thread/thr_sig.c:0:3 c++: error: clang frontend command failed due to signal (use -v to see invocation) FreeBSD clang version 11.0.0 (git@github.com:llvm/llvm-project.git llvmorg-11.0.0-0-g176249bd673) Target: x86_64-unknown-freebsd13.0 Thread model: posix InstalledDir: /usr/bin c++: note: diagnostic msg: ******************** PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: Preprocessed source(s) and associated run script(s) are located at: c++: note: diagnostic msg: /tmp/conformance_blocked_rangeNd-c82975.cpp c++: note: diagnostic msg: /tmp/conformance_blocked_rangeNd-c82975.sh c++: note: diagnostic msg:
Created attachment 221792 [details] /tmp/conformance_blocked_rangeNd-c82975.cpp.bz2 Compressed file /tmp/conformance_blocked_rangeNd-c82975.cpp as requested by the error message
Created attachment 221793 [details] /tmp/conformance_blocked_rangeNd-c82975.sh File /tmp/conformance_blocked_rangeNd-c82975.sh as requested by the error message.
Switching to PR #252892 for that problem. I could reproduce it and have re-attached build logs. Thanks again Thierry!
A commit references this bug: Author: martymac Date: Fri Feb 19 15:14:54 UTC 2021 New revision: 566074 URL: https://svnweb.freebsd.org/changeset/ports/566074 Log: Introduce devel/onetbb and mark devel/tbb as legacy Intel oneAPI tbb 2021.1 (onetbb) has been released[1][2] and has deprecated several interfaces over tbb 2020, breaking most dependent ports. Old tbb 2020 will be kept for a certain time to allow transition but will be removed in a near future as it CONFLICTS with devel/onetbb. New ports should now use devel/onetbb instead of devel/tbb. We tried to move a maximum number of dependent ports to devel/onetbb (or disable dependency when not possible), but some of them still remain stuck to devel/tbb. Remaining ones have not been identified as major dependencies themselves and will be fixed as soon as updates are available from upstream. PR: 252648, 252688 [3], 252683 [4], 252651 [5], 252690 [3], 252693 [3], 252695 [3], 252696 [3], 252786 [3], 252649, 252868 [6], 252870 [5], 252684 [7], 252785 [7] Approved by: yuri [3], jwb [4], thierry [5], FreeBSD@Shaneware.biz [6], maintainer timeout [7] [1] https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-threading-building-blocks-release-notes.html [2] https://software.intel.com/content/www/us/en/develop/articles/tbb-revamp.html Changes: head/archivers/par2cmdline-tbb/Makefile head/biology/bowtie2/Makefile head/cad/opencascade/Makefile head/devel/Makefile head/devel/onetbb/ head/devel/onetbb/Makefile head/devel/onetbb/distinfo head/devel/onetbb/files/ head/devel/onetbb/files/onetbb.pc.in head/devel/onetbb/files/patch-src-tbbbind-CMakeLists.txt head/devel/onetbb/files/patch-test-common-memory_usage.h head/devel/onetbb/files/patch-test-tbbmalloc-test_malloc_compliance.cpp head/devel/onetbb/pkg-descr head/devel/onetbb/pkg-plist head/devel/tbb/Makefile head/devel/tbb/pkg-descr head/graphics/blender/Makefile head/graphics/blender/Makefile.options head/graphics/blender/files/patch-intern_cycles_device_device__cpu.cpp head/graphics/blender/files/patch-intern_cycles_util_util__task.cpp head/graphics/blender/files/patch-intern_cycles_util_util__task.h head/graphics/blender/files/patch-intern_cycles_util_util__tbb.h head/graphics/blender/files/patch-source_blender_blenlib_BLI__index__range.hh head/graphics/blender/files/patch-source_blender_blenlib_BLI__task.h head/graphics/blender/files/patch-source_blender_blenlib_intern_task__pool.cc head/graphics/embree/Makefile head/graphics/oidn/Makefile head/graphics/opencv/Makefile head/graphics/openimageio/Makefile head/math/dune-common/Makefile head/math/dune-geometry/Makefile head/math/dune-grid/Makefile head/math/dune-pdelab/Makefile head/math/dune-uggrid/Makefile head/math/openturns/Makefile head/math/saga/Makefile head/math/suitesparse/Makefile head/misc/ngraph/Makefile
^Triage: bugmeister note: this was committed back in 2021 but dependent PR 252790 still seems to be pending as of 20231230.
As an update, 4 ports using devel/tbb remain in the tree : - devel/blitz => seems to be abandoned upstream - misc/openmvg => seems to be maintained but I could not find any clue of onetbb support. Re-test ? - misc/usd => oneTbb support has been added since https://github.com/PixarAnimationStudios/OpenUSD/commit/9010646b9f1b49edabc7c59b9a917b9e513ef162 (v24.08) => update port ? - science/madness => the code seems to support oneTbb. Re-test ?