anderslanglands / bbl-oiio

0 stars 0 forks source link

Failure to translate `ProgressCallback` #5

Open virtualritz opened 2 months ago

virtualritz commented 2 months ago

It would be cool to get some pointer on how to resolve the one below. :grin:

  [1/5] Generating oiio-c.cpp
  FAILED: oiio-c.cpp /home/moritz/code/crates/bbl-oiio/target/debug/build/oiio-a1fa2d5a9feb0f32/out/build/oiio-c.cpp 
  cd /home/moritz/code/crates/bbl-oiio/target/debug/build/oiio-a1fa2d5a9feb0f32/out/build && /usr/local/bin/bbl-translate /home/moritz/code/crates/bbl-oiio/bbl-oiio/bind/bbl-misc.cpp /home/moritz/code/crates/bbl-oiio/bbl-oiio/bind/attrdelegate.cpp /home/moritz/code/crates/bbl-oiio/bbl-oiio/bind/deepdata.cpp /home/moritz/code/crates/bbl-oiio/bbl-oiio/bind/imagebuf.cpp /home/moritz/code/crates/bbl-oiio/bbl-oiio/bind/imagebufalgo.cpp /home/moritz/code/crates/bbl-oiio/bbl-oiio/bind/imagecache.cpp /home/moritz/code/crates/bbl-oiio/bbl-oiio/bind/imageio.cpp /home/moritz/code/crates/bbl-oiio/bbl-oiio/bind/paramlist.cpp /home/moritz/code/crates/bbl-oiio/bbl-oiio/bind/typedesc.cpp /home/moritz/code/crates/bbl-oiio/bbl-oiio/bind/ustring.cpp -- -std=c++17 -fsyntax-only -fno-spell-checking -isystem/usr/include/c++/13 -isystem/usr/include/x86_64-linux-gnu/c++/13 -isystem/usr/include/c++/13/backward -isystem/usr/lib/gcc/x86_64-linux-gnu/13/include -isystem/usr/local/include -isystem/usr/include/x86_64-linux-gnu -isystem/usr/include -I/usr/local/lib/resource/include -I/usr/local/include -I/usr/local/include -I/home/moritz/code/crates/bbl-oiio/bbl-oiio -I/usr/include -I/usr/include -I/usr/include/opencv4 -I/usr/include -I/usr/include -I/usr/include -I/usr/include -I/usr/include/Imath NOMINMAX -DNOMINMAX -D_MT -Wno-macro-redefined -- oiio -o /home/moritz/code/crates/bbl-oiio/target/debug/build/oiio-a1fa2d5a9feb0f32/out/build -l rust
  FunctionProtoType 0x577bda37b900 '_Bool (void *, float)' cdecl
  |-BuiltinType 0x577bd33f8760 '_Bool'
  |-PointerType 0x577bd33f8ea0 'void *'
  | `-BuiltinType 0x577bd33f8740 'void'
  `-BuiltinType 0x577bd33f88e0 'float'
  [2024-06-30 21:06:48.728] [error] [api_cpp_context.cpp:45] /home/moritz/code/babble/bbl/src/cpp_context.cpp:2307 could not bind method OpenImageIO_v2_4::ImageBuf::write
    /home/moritz/code/babble/bbl/src/cpp_context.cpp:744 could not extract type of param progress_callback on function OpenImageIO_v2_4::ImageBuf::write
    /home/moritz/code/babble/bbl/src/cpp_context.cpp:346 failed to extract pointee type from pointer type ProgressCallback
    /home/moritz/code/babble/bbl/src/cpp_context.cpp:471 unhandled qtype _Bool (void *, float)
  [2024-06-30 21:06:48.728] [error] [bbl-translate.cpp:489] extraction failed after 25.091274951s
  ninja: build stopped: subcommand failed.
anderslanglands commented 2 months ago

That because I didn’t add support for function pointers yet. I can take a look over the next couple of weeks.

virtualritz commented 2 months ago

I guess I just write a wrapper for those methods taking optional function pointers on the C++ side to work around this. I don't need this atm.

anderslanglands commented 2 months ago

Cool. I just hadn’t gotten around to it yet as I concentrated on std::function first since that’s harder