#55800 closed defect (fixed)
libvpx @1.7.0_0 build fails: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int'
Reported by: | laughingtiger | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.4.2 |
Keywords: | yosemite elcapitan | Cc: | Schamschula (Marius Schamschula), ryandesign (Ryan Carsten Schmidt), Ionic (Mihai Moldovan) |
Port: | libvpx |
Description
when upgrading ffmpeg 3.4.1_3 < 3.4.1_4 the upgrade libvpx 1.6.1_1 < 1.7.0_0 fails with Error: Failed to build libvpx: command execution failed. See attached log file.
Attachments (4)
Change History (19)
Changed 7 years ago by laughingtiger
comment:1 Changed 7 years ago by kencu (Ken)
Cc: | dbevans added |
---|---|
Summary: | libvpx 1.7.0_0 build fails → libvpx 1.7.0_0 build fails: error: passing 'int' to parameter of incompatible type '__m256i' (vector of 4 'long long' values) |
comment:2 Changed 7 years ago by kencu (Ken)
looks like the version of clang included with darwin 15 is too old to understand the new avx512 instructions in libvpx.
It builds with clang-3.9 without any trouble.
comment:3 Changed 7 years ago by kencu (Ken)
Summary: | libvpx 1.7.0_0 build fails: error: passing 'int' to parameter of incompatible type '__m256i' (vector of 4 'long long' values) → libvpx 1.7.0_0 build fails: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int' |
---|
Changed 7 years ago by audionuma
Attachment: | main.2.log added |
---|
log for failed build of libvpx on mac OS 10.10.5
comment:5 Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
I see the same failure on El Capitan, OS X 10.11.6. Here I see one more report:
vpx_dsp/x86/sad4d_avx512.c:27:14: warning: implicit declaration of function '_mm512_set1_epi16' is invalid in C99 [-Wimplicit-function-declaration] sum_ref0 = _mm512_set1_epi16(0); ^
The code is:
23 ref0 = ref[0]; 24 ref1 = ref[1]; 25 ref2 = ref[2]; 26 ref3 = ref[3]; 27 sum_ref0 = _mm512_set1_epi16(0); 28 sum_ref1 = _mm512_set1_epi16(0); 29 sum_ref2 = _mm512_set1_epi16(0); 30 sum_ref3 = _mm512_set1_epi16(0);
Either someone mixed up brackets or this function _mm512_set1_epi16()
does not exist. The latter sounds more plausible: find only finds the string _mm512_set1_epi16
*used* on these four mentioned lines. This looks like the actual cause for the failure.
Changed 7 years ago by ballapete (Peter "Pete" Dyballa)
Attachment: | main.3.log added |
---|
main.log from El Capitan, OS X 10.11.6
comment:6 Changed 7 years ago by mf2k (Frank Schima)
Cc: | dbevans removed |
---|---|
Owner: | set to dbevans |
Status: | new → assigned |
comment:7 Changed 7 years ago by kencu (Ken)
there is no failure if you build with a newer compiler Pete. It builds through perfectly fine with clang 3.9 and newer, at least on this MacBook Pro I use day to day (and on 10.6.8, at that). Assuming configure is not mistaking avx512 support on your processor, a newer clang should fix it.
Buildbots likely tell Dave where the cutoff is.
comment:8 Changed 7 years ago by Schamschula (Marius Schamschula)
Cc: | Schamschula added |
---|
comment:9 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | yosemite elcapitan added |
---|---|
Summary: | libvpx 1.7.0_0 build fails: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int' → libvpx @1.7.0_0 build fails: error: assigning to '__m512i' (vector of 8 'long long' values) from incompatible type 'int' |
Support for _mm512_set1_epi16
was committed to clang trunk on May 24, 2016 so we need a version of clang released after that; looks like Xcode 8 was the first release after that so we need to blacklist {clang < 800}
.
comment:10 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
comment:11 Changed 7 years ago by Ionic (Mihai Moldovan)
Resolution: | fixed |
---|---|
Status: | closed → reopened |
... and MP-clang < 3.9.
Changed 7 years ago by Ionic (Mihai Moldovan)
Attachment: | libvpx.diff added |
---|
Blacklist mp-clang as well, add explicit fallback to mp-clang-3.9.
comment:12 Changed 7 years ago by Ionic (Mihai Moldovan)
Cc: | ryandesign Ionic added |
---|
How about something like this?
comment:14 Changed 7 years ago by Mihai Moldovan <ionic@…>
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
comment:15 Changed 7 years ago by Skippern (Aun Johnsen)
I have the same issue on macOS 10.11.6
doesn't seem the blacklist/fallback works as intended, tried forced updating with no result.
log