Bug 264688 - misc/openvdb: build fails 'CMake Error at openvdb/openvdb/CMakeLists.txt:132 (if): if given arguments: "VERSION_LESS" "FUTURE_MINIMUM_TBB_VERSION" Unknown arguments specified'
Summary: misc/openvdb: build fails 'CMake Error at openvdb/openvdb/CMakeLists.txt:132 ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Yuri Victorovich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-06-15 12:56 UTC by Vladimir Druzenko
Modified: 2022-06-16 03:35 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (yuri)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladimir Druzenko freebsd_committer freebsd_triage 2022-06-15 12:56:48 UTC
Tested on 13.1 and 12.3 amd64.

From 13.1:
[/usr/ports/misc/openvdb]# make
===>  License MPL20 accepted by the user
===>   openvdb-9.1.0 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by openvdb-9.1.0 for building
===>  Extracting for openvdb-9.1.0
=> SHA256 Checksum OK for AcademySoftwareFoundation-openvdb-v9.1.0_GH0.tar.gz.
===>  Patching for openvdb-9.1.0
===>  Applying FreeBSD patches for openvdb-9.1.0 from /usr/ports/misc/openvdb/files
===>   openvdb-9.1.0 depends on package: py310-numpy>=1.16,1<1.23,1 - found
===>   openvdb-9.1.0 depends on file: /usr/local/bin/cmake - found
===>   openvdb-9.1.0 depends on executable: ninja - found
===>   openvdb-9.1.0 depends on package: pkgconf>=1.3.0_1 - found
===>   openvdb-9.1.0 depends on file: /usr/local/bin/python3.10 - found
===>   openvdb-9.1.0 depends on package: xorgproto>=0 - found
===>   openvdb-9.1.0 depends on package: xorgproto>=0 - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/ice.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/sm.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/x11.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xcursor.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xext.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xi.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xinerama.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xrandr.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xxf86vm.pc - found
===>   openvdb-9.1.0 depends on shared library: libblosc.so - found (/usr/local/lib/libblosc.so)
===>   openvdb-9.1.0 depends on shared library: libboost_system.so - found (/usr/local/lib/libboost_system.so)
===>   openvdb-9.1.0 depends on shared library: libImath.so - found (/usr/local/lib/libImath.so)
===>   openvdb-9.1.0 depends on shared library: libtbb.so - found (/usr/local/lib/libtbb.so)
===>   openvdb-9.1.0 depends on shared library: libboost_python310.so - found (/usr/local/lib/libboost_python310.so)
===>   openvdb-9.1.0 depends on shared library: libglfw.so - found (/usr/local/lib/libglfw.so)
===>   openvdb-9.1.0 depends on shared library: libOpenEXR.so - found (/usr/local/lib/libOpenEXR.so)
===>   openvdb-9.1.0 depends on shared library: libGL.so - found (/usr/local/lib/libGL.so)
===>   openvdb-9.1.0 depends on shared library: libGLU.so - found (/usr/local/lib/libGLU.so)
===>  Configuring for openvdb-9.1.0
===>  Performing out-of-source build
/bin/mkdir -p /tmp/work/usr/ports/misc/openvdb/work/.build
-- The CXX compiler identification is Clang 13.0.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at cmake/config/OpenVDBCXX.cmake:32 (message):
  C++ < 17 is deprecated and will be removed.
Call Stack (most recent call first):
  CMakeLists.txt:355 (include)


-- CMake Build Type: Release
-- Configuring for OpenVDB Version 9.1.0
-- Configuring for OpenVDB ABI Version 9
-- ----------------------------------------------------
-- ------------- Configuring OpenVDBCore --------------
-- ----------------------------------------------------
-- Found Boost: /usr/local/include (found suitable version "1.79.0", minimum required is "1.70") found components: iostreams regex 
-- Found PkgConfig: /usr/local/bin/pkgconf (found version "1.8.0") 
-- Found TBB: /usr/local/include (Required is at least version "2019.0") found components: tbb 
CMake Error at openvdb/openvdb/CMakeLists.txt:132 (if):
  if given arguments:

    "VERSION_LESS" "FUTURE_MINIMUM_TBB_VERSION"

  Unknown arguments specified


-- Configuring incomplete, errors occurred!
See also "/tmp/work/usr/ports/misc/openvdb/work/.build/CMakeFiles/CMakeOutput.log".
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/misc/openvdb
*** Error code 1

Stop.
make: stopped in /usr/ports/misc/openvdb

From 12.3:
[/usr/ports/misc/openvdb]# make
===>  License MPL20 accepted by the user
===>   openvdb-9.1.0 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by openvdb-9.1.0 for building
===>  Extracting for openvdb-9.1.0
=> SHA256 Checksum OK for AcademySoftwareFoundation-openvdb-v9.1.0_GH0.tar.gz.
===>  Patching for openvdb-9.1.0
===>  Applying FreeBSD patches for openvdb-9.1.0 from /usr/ports/misc/openvdb/files
===>   openvdb-9.1.0 depends on package: py39-numpy>=1.16,1<1.23,1 - found
===>   openvdb-9.1.0 depends on file: /usr/local/bin/cmake - found
===>   openvdb-9.1.0 depends on executable: ninja - found
===>   openvdb-9.1.0 depends on package: pkgconf>=1.3.0_1 - found
===>   openvdb-9.1.0 depends on file: /usr/local/bin/python3.9 - found
===>   openvdb-9.1.0 depends on package: xorgproto>=0 - found
===>   openvdb-9.1.0 depends on package: xorgproto>=0 - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/ice.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/sm.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/x11.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xcursor.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xext.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xi.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xinerama.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xrandr.pc - found
===>   openvdb-9.1.0 depends on file: /usr/local/libdata/pkgconfig/xxf86vm.pc - found
===>   openvdb-9.1.0 depends on shared library: libblosc.so - found (/usr/local/lib/libblosc.so)
===>   openvdb-9.1.0 depends on shared library: libboost_system.so - found (/usr/local/lib/libboost_system.so)
===>   openvdb-9.1.0 depends on shared library: libImath.so - found (/usr/local/lib/libImath.so)
===>   openvdb-9.1.0 depends on shared library: libtbb.so - found (/usr/local/lib/libtbb.so)
===>   openvdb-9.1.0 depends on shared library: libboost_python39.so - found (/usr/local/lib/libboost_python39.so)
===>   openvdb-9.1.0 depends on shared library: libglfw.so - found (/usr/local/lib/libglfw.so)
===>   openvdb-9.1.0 depends on shared library: libOpenEXR.so - found (/usr/local/lib/libOpenEXR.so)
===>   openvdb-9.1.0 depends on shared library: libGL.so - found (/usr/local/lib/libGL.so)
===>   openvdb-9.1.0 depends on shared library: libGLU.so - found (/usr/local/lib/libGLU.so)
===>  Configuring for openvdb-9.1.0
===>  Performing out-of-source build
/bin/mkdir -p /tmp/work/usr/ports/misc/openvdb/work/.build
-- The CXX compiler identification is Clang 10.0.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Deprecation Warning at cmake/config/OpenVDBCXX.cmake:32 (message):
  C++ < 17 is deprecated and will be removed.
Call Stack (most recent call first):
  CMakeLists.txt:355 (include)


-- CMake Build Type: Release
-- Configuring for OpenVDB Version 9.1.0
-- Configuring for OpenVDB ABI Version 9
-- ----------------------------------------------------
-- ------------- Configuring OpenVDBCore --------------
-- ----------------------------------------------------
-- Found Boost: /usr/local/include (found suitable version "1.79.0", minimum required is "1.70") found components: iostreams regex
-- Found PkgConfig: /usr/local/bin/pkgconf (found version "1.8.0")
-- Found TBB: /usr/local/include (Required is at least version "2019.0") found components: tbb
CMake Error at openvdb/openvdb/CMakeLists.txt:132 (if):
  if given arguments:

    "VERSION_LESS" "FUTURE_MINIMUM_TBB_VERSION"

  Unknown arguments specified


-- Configuring incomplete, errors occurred!
See also "/tmp/work/usr/ports/misc/openvdb/work/.build/CMakeFiles/CMakeOutput.log".
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/misc/openvdb
*** Error code 1

Stop.
make: stopped in /usr/ports/misc/openvdb
Comment 1 Yuri Victorovich freebsd_committer freebsd_triage 2022-06-15 15:40:50 UTC
Hi VDD,


Is your ports tree updated? Is it different from the repository?

It found an old TBB:
> -- Found TBB: /usr/local/include (Required is at least version "2019.0") found 

Current versions are:
> $ pkg search tbb
> onetbb-2021.5.0                Library that provides thread building blocks
> tbb-2020.3_4                   Library that provides thread building blocks (legacy version)

The first one should have been used.

Central builds all succeed for openvdb. There haven't been any recent failures.


Yuri
Comment 2 Vladimir Druzenko freebsd_committer freebsd_triage 2022-06-15 16:29:12 UTC
> Is your ports tree updated? Is it different from the repository?
Yes.

$ pkg info | grep tbb
tbb-2020.3_4    Library that provides thread building blocks (legacy version)

> It found an old TBB:
>> -- Found TBB: /usr/local/include (Required is at least version "2019.0") found
It found TBB and require at least 2019.0.

> Current versions are:
>> $ pkg search tbb
>> onetbb-2021.5.0                Library that provides thread building blocks
>> tbb-2020.3_4                   Library that provides thread building blocks (legacy version)
> The first one should have been used.
Hm.
$ pkg info -r tbb-2020.3_4
tbb-2020.3_4:
        opensubdiv-3.4.4_1
        opencv-4.5.5_6
        embree-3.13.3
        openimageio-2.3.15.0
        blender-3.0.0_2
        oidn-1.4.3

I'll try to remove it and build with onetbb.
Comment 3 Yuri Victorovich freebsd_committer freebsd_triage 2022-06-15 16:59:10 UTC
The poudrire build succeeds for me with the current ports tree.
Comment 4 Vladimir Druzenko freebsd_committer freebsd_triage 2022-06-15 23:23:28 UTC
All build fine with onetbb!
But opencv-4.5.5_6 by default install tbb instead of onetbb (if both are not installed). This is the root cause I had tbb.
Maybe change this?
graphics/opencv/Makefile:
-TBB_LIB_DEPENDS=        libtbb.so:devel/tbb
+TBB_LIB_DEPENDS=        libtbb.so:devel/onetbb
Comment 5 Yuri Victorovich freebsd_committer freebsd_triage 2022-06-16 03:35:10 UTC
(In reply to VVD from comment #4)

The suggested patch is committed.

Thanks, VDD.
Comment 6 commit-hook freebsd_committer freebsd_triage 2022-06-16 03:35:18 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=5496dad943a9138dcf529ca475a4e07288ca4b57

commit 5496dad943a9138dcf529ca475a4e07288ca4b57
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2022-06-16 03:21:51 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2022-06-16 03:34:31 +0000

    graphics/opencv: Change to devel/onetbb

    opencv builds with onetbb, which is a new-gen of TBB.
    Also devel/tbb causes conflicts dependent packages using opentbb,
    particularly misc/openvdb.

    PR:             264688
    Reported by & Suggested by:     VVD <vvd@unislabs.com>

 graphics/opencv/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)