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

Reply via email to