On Wed, Sep 24, 2025 at 2:51 PM Patrick Franz <[email protected]> wrote: > > Source: opencv > Version: 4.10.0+dfsg-5 > Severity: serious > X-Debbugs-Cc: [email protected], [email protected] > User: [email protected] > Usertags: ppc64el > > Dear Maintainer, > > opencv fails to build on ppc64el with the following error: > > --- > /usr/bin/c++ -DCVAPI_EXPORTS -DOPENCV_ALLOCATOR_STATS_COUNTER_TYPE=int > -D_USE_MATH_DEFINES -D__OPENCV_BUILD=1 -D__STDC_CONSTANT_MACROS > -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS > -I/home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/obj-powerpc64le-linux-gnu > -I/home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/include > -I/home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/obj-powerpc64le-linux-gnu/modules/core > -I/usr/include/CL -isystem /usr/include/gdal -isystem /usr/include/eigen3 -g > -O2 -ffile-prefix-map=/home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg=. > -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time > -D_FORTIFY_SOURCE=2 -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor > -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations > -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized > -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment > -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option > -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections > -mcpu=power8 -fvisibility=hidden -fvisibility-inlines-hidden -g -O2 > -ffile-prefix-map=/home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg=. > -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG > -std=c++11 -fPIC -MD -MT > modules/core/CMakeFiles/opencv_core.dir/src/arithm.cpp.o -MF > modules/core/CMakeFiles/opencv_core.dir/src/arithm.cpp.o.d -o > modules/core/CMakeFiles/opencv_core.dir/src/arithm.cpp.o -c > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/src/arithm.cpp > In file included from > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/include/opencv2/core/base.hpp:661, > from > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/include/opencv2/core.hpp:53, > from > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/include/opencv2/core/utility.hpp:56, > from > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/src/precomp.hpp:53, > from > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/src/arithm.cpp:50: > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/include/opencv2/core/vsx_utils.hpp: > In function ‘vec_float4 vec_cvfo(const vec_double2&)’: > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/include/opencv2/core/vsx_utils.hpp:260:54: > error: ‘__builtin_vsx_xvcvdpsp’ was not declared in this scope; did you mean > ‘__builtin_vsx_xscvdpsp’? > 260 | VSX_REDIRECT_1RG(vec_float4, vec_double2, vec_cvfo, > __builtin_vsx_xvcvdpsp) > | > ^~~~~~~~~~~~~~~~~~~~~~ > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/include/opencv2/core/vsx_utils.hpp:102:43: > note: in definition of macro ‘VSX_REDIRECT_1RG’ > 102 | VSX_FINLINE(rt) fnm(const rg& a) { return fn2(a); } > | ^~~ > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/include/opencv2/core/vsx_utils.hpp: > In function ‘vec_double2 vec_cvfo(const vec_float4&)’: > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/include/opencv2/core/vsx_utils.hpp:261:54: > error: ‘__builtin_vsx_xvcvspdp’ was not declared in this scope; did you mean > ‘__builtin_vsx_xscvspdp’? > 261 | VSX_REDIRECT_1RG(vec_double2, vec_float4, vec_cvfo, > __builtin_vsx_xvcvspdp) > | > ^~~~~~~~~~~~~~~~~~~~~~ > /home/deltaone/opencv_sid_ppc64el/opencv-4.10.0+dfsg/modules/core/include/opencv2/core/vsx_utils.hpp:102:43: > note: in definition of macro ‘VSX_REDIRECT_1RG’ > 102 | VSX_FINLINE(rt) fnm(const rg& a) { return fn2(a); } > --- > > This affects reverse dependencies as they cannot be built either.
If I recall correctly, VSX is an extension to POWER7. To use the extensions, the command line should include -mcpu=power7 -mvsx. Or you could use -mcpu=power8 (or above). It has been a while since I targeted PowerPC with VSX. When I used VSX, it was for the unaligned loads and stores. Jeff

