Bug 243659 - multimedia/wlrobs: fix build on powerpc64
Summary: multimedia/wlrobs: fix build on powerpc64
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: powerpc Any
: --- Affects Only Me
Assignee: Jan Beich
URL:
Keywords: buildisok
Depends on:
Blocks:
 
Reported: 2020-01-27 22:29 UTC by Piotr Kubaj
Modified: 2020-02-11 02:00 UTC (History)
2 users (show)

See Also:
pkubaj: maintainer-feedback? (jbeich)
pkubaj: merge-quarterly?


Attachments
patch (388 bytes, patch)
2020-01-27 22:29 UTC, Piotr Kubaj
jbeich: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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