Trying to update my system (amd64) using portage emerge, but getting this complaint from package media-video/ffmpeg-3.3.6: The following REQUIRED_USE flag constraints are unsatisfied: cpu_flags_x86_popcnt? ( cpu_flags_x86_sse4_1 ) However, I have set the CPU_X86_USE flags as suggested by the cpuid2cpuflags tool (version 5). That tool says that I should set as follows: $ cpuid2cpuflags CPU_FLAGS_X86: 3dnow 3dnowext mmx mmxext popcnt sse sse2 sse3 sse4a Note: popcnt is in the list, but sse4_1 is not. Here is the flag output from cat /proc/cpuinfo, the CPU is "AMD Athlon(tm) II X2 250 Processor". 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 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt hw_pstate vmmcall npt lbrv svm_lock nrip_save I don't know if this is a but in ffmpeg package (i.e., popcnt can exist without sse4_1) or in the cpu id tool (i.e., the tool fails to write that the cpu also supports sse4_1). But this should be fixed either in ffmpeg or in that cpuid tool.
cpuid2cpuflags is behaving correctly here. There is a subset of AMD CPUs that support only SSE4a but not SSE4.1.
I re-synced the portage tree and somehow the problem disappeared... maybe because a similar bug 663956 has been fixed in media-libs/opencv-3.4.1-r4 ?