#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 assembler in 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 6 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