Bug 243659

Summary: multimedia/wlrobs: fix build on powerpc64
Product: Ports & Packages Reporter: Piotr Kubaj <pkubaj>
Component: Individual Port(s)Assignee: Jan Beich <jbeich>
Status: New ---    
Severity: Affects Only Me CC: jbeich, powerpc
Priority: --- Keywords: buildisok
Version: LatestFlags: pkubaj: maintainer-feedback? (jbeich)
pkubaj: merge-quarterly?
Hardware: powerpc   
OS: Any   
Attachments:
Description Flags
patch jbeich: maintainer-approval+

Description Piotr Kubaj freebsd_committer 2020-01-27 22:29:30 UTC
Created attachment 211116 [details]
patch

This port tries to use SSE and fails on powerpc64. Use GCC's translation layer to AltiVec to fix it:
In file included from /usr/local/include/obs/graphics/vec4.h:21,
                 from /usr/local/include/obs/graphics/vec3.h:21,
                 from /usr/local/include/obs/obs.h:26,
                 from /usr/local/include/obs/obs-module.h:20,
                 from ../inc/scpy_source.h:29,
                 from ../src/scpy_source.c:18:
/usr/local/lib/gcc9/gcc/powerpc64-portbld-freebsd12.1/9.2.0/include/xmmintrin.h:54:2: error: #error "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
   54 | #error "Please read comment above.  Use -DNO_WARN_X86_INTRINSICS to disable this error."
      |  ^~~~~
In file included from /usr/local/lib/gcc9/gcc/powerpc64-portbld-freebsd12.1/9.2.0/include/xmmintrin.h:63,
                 from /usr/local/include/obs/graphics/vec4.h:21,
                 from /usr/local/include/obs/graphics/vec3.h:21,
                 from /usr/local/include/obs/obs.h:26,
                 from /usr/local/include/obs/obs-module.h:20,
                 from ../inc/scpy_source.h:29,
                 from ../src/scpy_source.c:18:
/usr/local/lib/gcc9/gcc/powerpc64-portbld-freebsd12.1/9.2.0/include/altivec.h:34:2: error: #error Use the "-maltivec" flag to enable PowerPC AltiVec support
   34 | #error Use the "-maltivec" flag to enable PowerPC AltiVec support
      |  ^~~~~
In file included from /usr/local/lib/gcc9/gcc/powerpc64-portbld-freebsd12.1/9.2.0/include/xmmintrin.h:79,
                 from /usr/local/include/obs/graphics/vec4.h:21,
                 from /usr/local/include/obs/graphics/vec3.h:21,
                 from /usr/local/include/obs/obs.h:26,
                 from /usr/local/include/obs/obs-module.h:20,
                 from ../inc/scpy_source.h:29,
                 from ../src/scpy_source.c:18:
Comment 1 Jan Beich freebsd_committer 2020-01-27 23:11:27 UTC
multimedia/obs-studio -DNO_WARN_X86_INTRINSICS + -mvsx during build but the flags are not propagated to `pkg-config libobs`. multimedia/obs-qtwebkit uses <obs/obs-module.h> as well, so it maybe affected. Can you patch libobs/libobs.pc.in preprocessing in multimedia/obs-studio instead or file a bug upstream?
Comment 2 Jan Beich freebsd_committer 2020-01-27 23:12:44 UTC
To put it another way, I don't see why wlrobs should hardcode implementation detail of the library it depends on.
Comment 3 Jan Beich freebsd_committer 2020-01-27 23:19:55 UTC
Comment on attachment 211116 [details]
patch

-maltivec is probably not required on powerpc64 (unlike powerpc).
Comment 4 Automation User 2020-02-11 02:00:28 UTC
Build info is available at https://gitlab.com/swills/freebsd-ports/pipelines/116714259