-
-
Notifications
You must be signed in to change notification settings - Fork 56.5k
Error compiling with newer Eigen on PPC64LE #19647
Copy link
Copy link
Closed
Description
System information (version)
- OpenCV => 4.3.0 and 4.5.1
- Operating System / Platform => CentOS 7 / PPC64LE
- Compiler => GCC 9.3.0
Detailed description
I am trying to build OpenCV 4.3.0 ( also tried 4.5.1) with newer Eigen ( https://gitlab.com/libeigen/eigen/-/commit/011e0db31d1bed8b7f73662be6d57d9f30fa457a ). It builds/run fine for amd64 and aarch64 but for ppc64le it failed to build with error message
In file included from eigen/011e0db31d1bed8b7f73662be6d57d9f30fa457a/include/eigen3/Eigen/Core:203,
from opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core/private.hpp:70,
from opencv/4.5.1-cms/opencv-4.5.1/modules/core/src/precomp.hpp:55,
from opencv/4.5.1-cms/opencv-4.5.1/modules/core/src/check.cpp:5:
eigen/011e0db31d1bed8b7f73662be6d57d9f30fa457a/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h: In function 'TgtPacket Eigen::internal::pcast(const SrcPacket
&) [with SrcPacket = __vector(4) float; TgtPacket = __vector(4) unsigned int]':
eigen/011e0db31d1bed8b7f73662be6d57d9f30fa457a/include/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h:2126:21: error: no matching function for call to 'vec_ctu(cons
t Packet4f&, int)'
2126 | return vec_ctu(a,0);
| ^
In file included from opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core/base.hpp:651,
from opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core.hpp:54,
from opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core/utility.hpp:56,
from opencv/4.5.1-cms/opencv-4.5.1/modules/core/src/precomp.hpp:49,
from opencv/4.5.1-cms/opencv-4.5.1/modules/core/src/check.cpp:5:
opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core/vsx_utils.hpp:285:50: note: candidate: 'vec_uint4 vec_ctu(const vec_float4&)'
285 | VSX_IMPL_1RG(vec_uint4, vec_float4, xvcvspuxws, vec_ctu)
| ^~~~~~~
opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core/vsx_utils.hpp:114:17: note: in definition of macro 'VSX_IMPL_1RG'
114 | VSX_FINLINE(rt) fnm(const rg& a) \
| ^~~
opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core/vsx_utils.hpp:285:50: note: candidate expects 1 argument, 2 provided
285 | VSX_IMPL_1RG(vec_uint4, vec_float4, xvcvspuxws, vec_ctu)
| ^~~~~~~
opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core/vsx_utils.hpp:114:17: note: in definition of macro 'VSX_IMPL_1RG'
114 | VSX_FINLINE(rt) fnm(const rg& a) \
| ^~~
opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core/vsx_utils.hpp:487:49: note: candidate: 'vec_uint4 vec_ctu(const vec_double2&)'
487 | VSX_IMPL_CONV_EVEN_2_4(vec_uint4, vec_double2, vec_ctu, vec_ctuo)
| ^~~~~~~
opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core/vsx_utils.hpp:476:17: note: in definition of macro 'VSX_IMPL_CONV_EVEN_2_4'
476 | VSX_FINLINE(rt) fnm(const rg& a) \
| ^~~
opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core/vsx_utils.hpp:487:49: note: candidate expects 1 argument, 2 provided
487 | VSX_IMPL_CONV_EVEN_2_4(vec_uint4, vec_double2, vec_ctu, vec_ctuo)
| ^~~~~~~
opencv/4.5.1-cms/opencv-4.5.1/modules/core/include/opencv2/core/vsx_utils.hpp:476:17: note: in definition of macro 'VSX_IMPL_CONV_EVEN_2_4'
476 | VSX_FINLINE(rt) fnm(const rg& a) \
| ^~~
any idea how to fix/avoid this issue? Thanks
Reactions are currently unavailable