AcademySoftwareFoundation / AcademySoftwareFoundation/openvdb
[BUG] SOP_OpenVDB_Activate.cc doesn't compile successfully with Houdini 21
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 3.4k
- Forks
- 777
- Avg merge
- 3d 9h
- Merged PRs (30d)
- 34
Description
Environment
Operating System: Linux Rocky 9.5
Commit SHA: 584b2b5a1b43641d54f942d981d7b50887b27d92
Describe the bug
When SOP_OpenVDB_Activate.cc was updated for Houdini 21.0's API changes, the function prototypes for inputLabel() and isRefInput() were updated to take an OP_InputIdx instead of an unsigned int, but the implementations at the bottom of the file still take unsigned int, giving a compiler error.
To Reproduce
Steps to reproduce the behavior:
Build the Houdini plugin SOP_OpenVDB_Activate.cc with Houdini 21.0.440
See the compiler error:
openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:1297:1: error: no declaration matches ‘const char* SOP_VDBActivate::inputLabel(unsigned int) const’
1297 | SOP_VDBActivate::inputLabel(unsigned index) const
| ^~~~~~~~~~~~~~~
openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:63:18: note: candidate is: ‘virtual const char* SOP_VDBActivate::inputLabel(OP_InputIdx) const’
63 | const char *inputLabel(OP_InputIdx idx) const override;
| ^~~~~~~~~~
openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:60:7: note: ‘class SOP_VDBActivate’ defined here
60 | class SOP_VDBActivate : public hvdb::SOP_NodeVDB
| ^~~~~~~~~~~~~~~
openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:1310:1: error: no declaration matches ‘int SOP_VDBActivate::isRefInput(unsigned int) const’
1310 | SOP_VDBActivate::isRefInput(unsigned i) const
| ^~~~~~~~~~~~~~~
openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:64:18: note: candidate is: ‘virtual int SOP_VDBActivate::isRefInput(OP_InputIdx) const’
64 | int isRefInput(OP_InputIdx i) const override;
| ^~~~~~~~~~
openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc:60:7: note: ‘class SOP_VDBActivate’ defined here
60 | class SOP_VDBActivate : public hvdb::SOP_NodeVDB
| ^~~~~~~~~~~~~~~
gmake[2]: *** [openvdb_houdini/openvdb_houdini/CMakeFiles/SOP_OpenVDB_Activate.dir/build.make:79: openvdb_houdini/openvdb_houdini/CMakeFiles/SOP_OpenVDB_Activate.dir/SOP_OpenVDB_Activate.cc.o] Error 1
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in openvdb/openvdb_houdini/openvdb_houdini/SOP_OpenVDB_Activate.cc, comparing the inputLabel() and isRefInput() declarations near lines 63–64 with their implementations near lines 1297 and 1310. Build the Houdini plugin with Houdini 21.0.440 and confirm that the compiler errors are gone.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- build-system
- Issue type
- Bug
- Difficulty
- 1/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 52/100