[FFmpeg-user] d4cd8830bd breaks build on AMD Ryzen
Chema Gonzalez
chema at berkeley.edu
Wed Apr 27 20:26:23 EEST 2022
I have an AMD Ryzen Threadripper PRO 3975WX (32-Cores). I tried to
build HEAD (4fc806bbe612784286f123af92a0d5d0da333064), but it fails:
```
$ git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
$ cd ffmpeg
$ PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig
./configure --enable-bzlib --enable-zlib --enable-postproc
--enable-runtime-cpudetect --enable-gray --enable-gpl --enable-nonfree
--enable-libzimg --enable-libx264 --enable-libx265 --enable-libtheora
--enable-libvpx --enable-libaom --enable-libdav1d --enable-libopenh264
--enable-libkvazaar --enable-libvmaf --enable-libvorbis
--enable-libmp3lame --enable-libass --enable-libspeex
--enable-libvo-amrwbenc --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopus --enable-libsoxr
--enable-libpulse --enable-libfreetype --enable-libopenjpeg
--enable-version3 --enable-libsvtav1 # ffmpeg configure
$ make -j
...
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
make: *** [ffbuild/common.mak:100: libavcodec/x86/hevc_mc.o] Error 1
make: *** Waiting for unfinished jobs....
```
I bisected the build, and can see:
```
$ git reset --hard d4cd8830bda
$ PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig
./configure --enable-bzlib --enable-zlib --enable-postproc
--enable-runtime-cpudetect --enable-gray --enable-gpl --enable-nonfree
--enable-libzimg --enable-libx264 --enable-libx265 --enable-libtheora
--enable-libvpx --enable-libaom --enable-libdav1d --enable-libopenh264
--enable-libkvazaar --enable-libvmaf --enable-libvorbis
--enable-libmp3lame --enable-libass --enable-libspeex
--enable-libvo-amrwbenc --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libopus --enable-libsoxr
--enable-libpulse --enable-libfreetype --enable-libopenjpeg
--enable-version3 --enable-libsvtav1 # ffmpeg configure
$ make -j
...
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
libavcodec/x86/hevc_mc.asm:1806: error: symbol `.. at 88236.table' not defined
libavcodec/x86/hevc_mc.asm:1761: ... from macro
`HEVC_PUT_HEVC_QPEL_HV_AVX512ICL' defined here
libavcodec/x86/hevc_mc.asm:1710: ... from macro `QPEL_FILTER_V' defined here
make: *** [ffbuild/common.mak:100: libavcodec/x86/hevc_mc.o] Error 1
make: *** Waiting for unfinished jobs....
```
but:
```
$ git reset --hard d4cd8830bda~
$ make -j
...
STRIP ffprobe
STRIP ffplay
STRIP ffmpeg
```
In case it helps, this is my CPU:
```
$ cat /proc/cpuinfo
...
processor : 63
vendor_id : AuthenticAMD
cpu family : 23
model : 49
model name : AMD Ryzen Threadripper PRO 3975WX 32-Cores
stepping : 0
microcode : 0x830104d
cpu MHz : 2200.000
cache size : 512 KB
physical id : 0
siblings : 64
core id : 31
cpu cores : 32
apicid : 63
initial apicid : 63
fpu : yes
fpu_exception : yes
cpuid level : 16
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt
pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid
extd_apicid aperfmperf rapl pni pclmulqdq monitor ssse3 fma cx16
sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm
cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch
osvw ibs skinit wdt tce topoext perfctr_core perfctr_nb bpext
perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibpb stibp
vmmcall fsgsbase bmi1 avx2 smep bmi2 cqm rdt_a rdseed adx smap
clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves cqm_llc
cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr
rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean
flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload
vgif v_spec_ctrl umip rdpid overflow_recov succor smca sme sev sev_es
bugs : sysret_ss_attrs spectre_v1 spectre_v2 spec_store_bypass
bogomips : 6987.44
TLB size : 3072 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 43 bits physical, 48 bits virtual
power management: ts ttp tm hwpstate cpb eff_freq_ro [13] [14]
```
Thanks!
-Chema
More information about the ffmpeg-user
mailing list