Skip to content

Build fails on compilation of Julia bindings -- Mirrored types (marked with IsMirroredType) can't be added #3531

Open
@dfenn

Description

@dfenn

System Information

OpenCV version: 4.8.0
Operating System / Platform: Ubuntu 22.04.2 LTS (WSL2)
Compiler & compiler version: GCC 11.3.0

Detailed description

Error while compiling Julia bindings (using CxxWrap version 0.9.7):

In file included from <path>/libcxxwrap-julia/include/jlcxx/jlcxx.hpp:15,
                 from <path>/opencv-4.8.0/build/modules/julia/gen/autogen_cpp/cv_core.cpp:7:
<path>/libcxxwrap-julia/include/jlcxx/module.hpp: In instantiation of ‘jlcxx::TypeWrapper<T> jlcxx::Module::add_type_internal(const string&, JLSuperT*) [with T = cv::RotatedRect; SuperParametersT = jlcxx::ParameterList<>; JLSuperT = _jl_datatype_t; std::string = std::__cxx11::basic_string<char>]’:
<path>/libcxxwrap-julia/include/jlcxx/module.hpp:1222:48:   required from ‘jlcxx::TypeWrapper<T> jlcxx::Module::add_type(const string&, JLSuperT*) [with T = cv::RotatedRect; SuperParametersT = jlcxx::ParameterList<>; JLSuperT = _jl_datatype_t; std::string = std::__cxx11::basic_string<char>]’
<path>/opencv-4.8.0/build/modules/julia/gen/autogen_cpp/cv_core.cpp:246:30:   required from here
<path>/libcxxwrap-julia/include/jlcxx/module.hpp:1144:17: error: static assertion failed: Mirrored types (marked with IsMirroredType) can't be added using add_type, map them directly to a struct instead and use map_type or explicitly disable mirroring for this type, e.g. define template<> struct IsMirroredType<Foo> : std::false_type { };

Could possibly be related to this CxxWrap issue, but I'm not familiar enough with the code to say: JuliaInterop/CxxWrap.jl#271

Steps to reproduce

I built CxxWrap following the instructions here: https://docs.opencv.org/4.x/d8/da4/tutorial_julia.html. That all completed successfully.

I configured OpenCV using -D WITH_JULIA=ON.

The build failed.

Issue submission checklist

  • I report the issue, it's not a question
  • I checked the problem with documentation, FAQ, open issues, forum.opencv.org, Stack Overflow, etc and have not found any solution
  • I updated to the latest OpenCV version and the issue is still there
  • There is reproducer code and related data files (videos, images, onnx, etc)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions