OpenCV 4.4.0 build errors with Yocto

Viewed 599

I am trying to include OpenCV 4.4.0 in my Yocto build using the opencv_4.4.0.bb recipe I found at http://cgit.openembedded.org/meta-openembedded/tree/meta-oe/recipes-support/opencv My Yocto version is 2.2.0 (Morty).

I don't see any issues when building opencv_3.4.3. However, I am running into errors when building 4.4.0 with bitbake: bitbake opencv. Here's a part of the error log:

/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp: In function 'cv::Mat cv::intensity_transform::solveLinearEquation(const cv::Mat_<float>&, cv::Mat_<float>&, cv::Mat_<float>&, float)':
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:136:10: error: 'Index' is not a member of 'Eigen'
     for (Eigen::Index i = 0; i < tempx.rows(); i++)
          ^~~~~
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:136:30: error: 'i' was not declared in this scope
     for (Eigen::Index i = 0; i < tempx.rows(); i++)
                              ^
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:145:10: error: 'Index' is not a member of 'Eigen'
     for (Eigen::Index j = 0; j < tempy.cols(); j++)
          ^~~~~
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:145:30: error: 'j' was not declared in this scope
     for (Eigen::Index j = 0; j < tempy.cols(); j++)
                              ^
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:158:10: error: 'Index' is not a member of 'Eigen'
     for (Eigen::Index j = 0; j < W_h.cols(); j++)
          ^~~~~
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:158:30: error: 'j' was not declared in this scope
     for (Eigen::Index j = 0; j < W_h.cols(); j++)
                              ^
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:160:14: error: 'Index' is not a member of 'Eigen'
         for (Eigen::Index i = 0; i < W_h.rows(); i++)
              ^~~~~
/media/phyvm/dubuk/yocto/build/tmp/work/cortexa7hf-neon-vfpv4-phytec-linux-gnueabi/opencv/4.4.0-r0/contrib/modules/intensity_transform/src/bimef.cpp:160:34: error: 'i' was not declared in this scope
         for (Eigen::Index i = 0; i < W_h.rows(); i++)

I've tried to search for these errors online but I can't find anything similar. It appears that a header file might be missing or not up to date, but I'm not sure. Has anyone had these issues with Opencv4?

0 Answers
Related