[BUG] typo: vdb_tool: OPENVDB_TOOL_USE_PDAL=ON cannot configure on Windows — find_package(libdpal …) typo

Open Beginner friendly
#2,344 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
90/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
cmake, cpp
Domain
build-system

Research direction

Open openvdb_cmd/vdb_tool/CMakeLists.txt around lines 98–108 and compare the Windows and non-Windows PDAL package discovery paths. Configure vdb_tool on Windows with OPENVDB_TOOL_USE_PDAL=ON, or OPENVDB_TOOL_USE_ALL=ON, and confirm configuration succeeds and the existing PDAL library and include variables are consumed.

Written by the indexing model from the issue text.

Description

bug

File: openvdb_cmd/vdb_tool/CMakeLists.txt, lines 98–108 on master:

if(OPENVDB_TOOL_USE_PDAL)
target_compile_definitions(vdb_tool_common INTERFACE "VDB_TOOL_USE_PDAL")
if(WIN32)
find_package(libdpal CONFIG REQUIRED) # <-- line 101
else()
find_package(PDAL REQUIRED)
endif()
message(STATUS "PDAL: ${PDAL_LIBRARIES} ${PDAL_INCLUDE_DIRS}")
target_link_libraries(vdb_tool_common INTERFACE ${PDAL_LIBRARIES})
target_include_directories(vdb_tool_common INTERFACE ${PDAL_INCLUDE_DIRS})
endif()

Problem: The Windows branch asks for a CMake package named libdpal — a transposition of libpdal. No such package exists, so on Windows OPENVDB_TOOL_USE_PDAL=ON (and therefore OPENVDB_TOOL_USE_ALL=ON) always fails at configure time with Could not find a package configuration file provided by "libdpal".

Fixing the spelling alone is not enough. The variables consumed afterwards — PDAL_LIBRARIES, PDAL_INCLUDE_DIRS — are set by PDAL's own PDALConfig.cmake, whose package name is PDAL on every
platform (PDAL's documented usage is find_package(PDAL REQUIRED CONFIG); the vcpkg port installs that same config). A libpdal package config would not define them either. The WIN32 special case appears to have no purpose.

Suggested fix: collapse the branch to a single find_package(PDAL CONFIG REQUIRED), or find_package(PDAL REQUIRED) matching the existing non-Windows line.

Introduced: f04f2f68 (2024-05-20, "Added feature to read points into vdb_tool using Point Data Abstraction Library (PDAL)"). Present in every release since, including v13.1.0.

Why unnoticed: CI never builds vdb_tool with PDAL on any platform (grep -ri pdal ci/ .github/workflows/ is empty), and no existing issue or PR mentions libdpal.

Severity: low — it blocks one optional feature on one platform, loudly, at configure time. No effect on the default build.

Dominant language
C++
Stars
3.4k
Forks
777
Avg merge
3d 1h
Merged PRs (30d)
33

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.

More from AcademySoftwareFoundation/openvdb

All issues in AcademySoftwareFoundation/openvdb

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.