AcademySoftwareFoundation / AcademySoftwareFoundation/openvdb

[Regression in 12.x.x] A lot of TBB-related errors on 32-bit powerpc when comiling openvdb_cmd/vdb_tool

Open
#2,172 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
C++
Stars
3.4k
Forks
777
Avg merge
3d 9h
Merged PRs (30d)
34

Description

Environment

Operating System: macOS 10.6.8
Version / Commit SHA: 12.1.1
Other: gcc 14.3.0

Describe the bug
make[2]: Entering directory `/opt/local/var/macports/build/openvdb-f5d6937d/work/build'
[ 86%] Building CXX object nanovdb/nanovdb/cmd/CMakeFiles/nanovdb_convert.dir/convert/nanovdb_convert.cc.o
cd /opt/local/var/macports/build/openvdb-f5d6937d/work/build/nanovdb/nanovdb/cmd && /opt/local/bin/g++-mp-14 -DBOOST_IOSTREAMS_DYN_LINK -DBOOST_IOSTREAMS_NO_LIB -DBOOST_RANDOM_DYN_LINK -DBOOST_RANDOM_NO_LIB -DBOOST_REGEX_DYN_LINK -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DNANOVDB_USE_BLOSC -DNANOVDB_USE_INTRINSICS -DNANOVDB_USE_OPENVDB -DNANOVDB_USE_TBB -DNANOVDB_USE_ZIP -DOPENVDB_DLL -DOPENVDB_USE_DELAYED_LOADING -I/opt/local/var/macports/build/openvdb-f5d6937d/work/openvdb-12.1.1/nanovdb/nanovdb/.. -I/opt/local/var/macports/build/openvdb-f5d6937d/work/openvdb-12.1.1/openvdb/openvdb/.. -I/opt/local/var/macports/build/openvdb-f5d6937d/work/build/openvdb/openvdb -I/opt/local/var/macports/build/openvdb-f5d6937d/work/build/openvdb/openvdb/openvdb -isystem /opt/local/include -isystem /opt/local/include/Imath -isystem /opt/local/libexec/onetbb/include -isystem /opt/local/libexec/boost/1.87/include -pipe -I/opt/local/libexec/boost/1.87/include -Os -DNDEBUG -I/opt/local/libexec/boost/1.87/include -I/opt/local/include -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17 -arch ppc -mmacosx-version-min=10.6 -Wno-invalid-offsetof -MD -MT nanovdb/nanovdb/cmd/CMakeFiles/nanovdb_convert.dir/convert/nanovdb_convert.cc.o -MF CMakeFiles/nanovdb_convert.dir/convert/nanovdb_convert.cc.o.d -o CMakeFiles/nanovdb_convert.dir/convert/nanovdb_convert.cc.o -c /opt/local/var/macports/build/openvdb-f5d6937d/work/openvdb-12.1.1/nanovdb/nanovdb/cmd/convert/nanovdb_convert.cc
virtual memory exhausted: Cannot allocate memory
{standard input}:1122060:non-relocatable subtraction expression, "L__ZTVN3tbb6detail2d19start_forINS1_13blocked_rangeIyEEZN7openvdb5v12_14tree8NodeListIKNS7_8LeafNodeINS6_4math4Vec4IdEELj3EEEE16initNodeChildrenINS8_IKNS7_12InternalNodeISD_Lj4EEEEENS7_14ReduceFilterOpINS6_5tools14count_internal20InactiveVoxelCountOpINS7_4TreeINS7_8RootNodeINSH_ISI_Lj5EEEEEEEEEEEEEbRT_RKT0_bEUlRS4_E0_KNS1_16auto_partitionerEEE$non_lazy_ptr" minus "L3554$pb"
{standard input}:1122060:symbol: "L__ZTVN3tbb6detail2d19start_forINS1_13blocked_rangeIyEEZN7openvdb5v12_14tree8NodeListIKNS7_8LeafNodeINS6_4math4Vec4IdEELj3EEEE16initNodeChildrenINS8_IKNS7_12InternalNodeISD_Lj4EEEEENS7_14ReduceFilterOpINS6_5tools14count_internal20InactiveVoxelCountOpINS7_4TreeINS7_8RootNodeINSH_ISI_Lj5EEEEEEEEEEEEEbRT_RKT0_bEUlRS4_E0_KNS1_16auto_partitionerEEE$non_lazy_ptr" can't be undefined in a subtraction expression
{standard input}:1122001:non-relocatable subtraction expression, "L__ZTVN3tbb6detail2d19start_forINS1_13blocked_rangeIyEEZN7openvdb5v12_14tree8NodeListIKNS7_8LeafNodeINS6_4math4Vec4IdEELj3EEEE16initNodeChildrenINS8_IKNS7_12InternalNodeISD_Lj4EEEEENS7_14ReduceFilterOpINS6_5tools14count_internal20InactiveVoxelCountOpINS7_4TreeINS7_8RootNodeINSH_ISI_Lj5EEEEEEEEEEEEEbRT_RKT0_bEUlRS4_E0_KNS1_16auto_partitionerEEE$non_lazy_ptr" minus "L3554$pb"
{standard input}:1122001:symbol: "L__ZTVN3tbb6detail2d19start_forINS1_13blocked_rangeIyEEZN7openvdb5v12_14tree8NodeListIKNS7_8LeafNodeINS6_4math4Vec4IdEELj3EEEE16initNodeChildrenINS8_IKNS7_12InternalNodeISD_Lj4EEEEENS7_14ReduceFilterOpINS6_5tools14count_internal20InactiveVoxelCountOpINS7_4TreeINS7_8RootNodeINSH_ISI_Lj5EEEEEEEEEEEEEbRT_RKT0_bEUlRS4_E0_KNS1_16auto_partitionerEEE$non_lazy_ptr" can't be undefined in a subtraction expression
{standard input}:1121816:non-relocatable subtraction expression, "L__ZTVN3tbb6detail2d19start_forINS1_13blocked_rangeIyEEZN7openvdb5v12_14tree8NodeListIKNS7_12InternalNodeINS7_8LeafNodeINS6_4math4Vec4IdEELj3EEELj4EEEE16initNodeChildrenINS8_IKNS9_ISF_Lj5EEEEENS7_14ReduceFilterOpINS6_5tools14count_internal17ActiveTileCountOpINS7_4TreeINS7_8RootNodeISJ_EEEEEEEEEEbRT_RKT0_bEUlRS4_E_KNS1_16auto_partitionerEEE$non_lazy_ptr" minus "L3553$pb"
{standard input}:1121816:symbol: "L__ZTVN3tbb6detail2d19start_forINS1_13blocked_rangeIyEEZN7openvdb5v12_14tree8NodeListIKNS7_12InternalNodeINS7_8LeafNodeINS6_4math4Vec4IdEELj3EEELj4EEEE16initNodeChildrenINS8_IKNS9_ISF_Lj5EEEEENS7_14ReduceFilterOpINS6_5tools14count_internal17ActiveTileCountOpINS7_4TreeINS7_8RootNodeISJ_EEEEEEEEEEbRT_RKT0_bEUlRS4_E_KNS1_16auto_partitionerEEE$non_lazy_ptr" can't be undefined in a subtraction expression
{standard input}:1121802:non-relocatable subtraction expression, "L__ZTVN3tbb6detail2d19start_forINS1_13blocked_rangeIyEEZN7openvdb5v12_14tree8NodeListIKNS7_12InternalNodeINS7_8LeafNodeINS6_4math4Vec4IdEELj3EEELj4EEEE16initNodeChildrenINS8_IKNS9_ISF_Lj5EEEEENS7_14ReduceFilterOpINS6_5tools14count_internal17ActiveTileCountOpINS7_4TreeINS7_8RootNodeISJ_EEEEEEEEEEbRT_RKT0_bEUlRS4_E_KNS1_16auto_partitionerEEE$non_lazy_ptr" minus "L3553$pb"
. . .
{standard input}:unknown:Undefined local symbol L__ZTVN7openvdb5v12_14tree17ValueAccessorBaseIKNS1_4TreeINS1_8RootNodeINS1_12InternalNodeINS5_INS1_8LeafNodeIbLj3EEELj4EEELj5EEEEEEELb1EEE$non_lazy_ptr
{standard input}:unknown:Undefined local symbol L__ZTVN7openvdb5v12_14tree17ValueAccessorImplIKNS1_4TreeINS1_8RootNodeINS1_12InternalNodeINS5_INS1_8LeafNodeIbLj3EEELj4EEELj5EEEEEEELb1EvNS0_14index_sequenceIJLm0ELm1ELm2EEEEEE$non_lazy_ptr
{standard input}:unknown:Undefined local symbol L__ZTVN7openvdb5v12_14tree17ValueAccessorBaseIKNS1_4TreeINS1_8RootNodeINS1_12InternalNodeINS5_INS1_8LeafNodeIsLj3EEELj4EEELj5EEEEEEELb1EEE$non_lazy_ptr
{standard input}:unknown:Undefined local symbol L__ZTVN7openvdb5v12_14tree17ValueAccessorImplIKNS1_4TreeINS1_8RootNodeINS1_12InternalNodeINS5_INS1_8LeafNodeIsLj3EEELj4EEELj5EEEEEEELb1EvNS0_14index_sequenceIJLm0ELm1ELm2EEEEEE$non_lazy_ptr
{standard input}:unknown:Undefined local symbol L__ZTVN7openvdb5v12_14tree17ValueAccessorBaseIKNS1_4TreeINS1_8RootNodeINS1_12InternalNodeINS5_INS1_8LeafNodeIjLj3EEELj4EEELj5EEEEEEELb1EEE$non_lazy_ptr
{standard input}:unknown:Undefined local symbol L__ZTVN7openvdb5v12_14tree17ValueAccessorImplIKNS1_4TreeINS1_8RootNodeINS1_12InternalNodeINS5_INS1_8LeafNodeIjLj3EEELj4EEELj5EEEEEEELb1EvNS0_14index_sequenceIJLm0ELm1ELm2EEEEEE$non_lazy_ptr
make[2]: *** [openvdb_cmd/vdb_tool/CMakeFiles/vdb_tool.dir/src/main.cpp.o] Error 1
make[2]: Leaving directory `/opt/local/var/macports/build/openvdb-f5d6937d/work/build'
make[1]: *** [openvdb_cmd/vdb_tool/CMakeFiles/vdb_tool.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
To Reproduce

Steps to reproduce the behavior:

  1. Build with '...'
  2. Run function '....'
  3. See error
Expected behavior

It should either build with OneTBB normally, or disable TBB at configure time at least.

Additional context

MacPorts

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the 12.1.1 build on 32-bit PowerPC with GCC 14.3.0 and OneTBB, focusing on openvdb_cmd/vdb_tool/src/main.cpp and nanovdb/nanovdb/cmd/convert/nanovdb_convert.cc. Check the CMake configuration path for TBB handling; done means vdb_tool builds with OneTBB or TBB is disabled cleanly when unsupported.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.