Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#2384 closed defect (fixed)

libavutil/cpu_internal.h: 'HAVE_AVX512ICL_EXTERNAL' undeclared (compiling with GCC 11.3)

Reported by: LigH Owned by: beastd
Priority: normal Component: libavcodec
Version: HEAD Severity: blocker
Keywords: Cc: LigH
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Summary of the bug:

Compiling in media-autobuild suite (MSYS2/MinGW on Windows with GCC 11.3) fails. It looks for an ICL related symbol while compiling with GCC.

In file included from ./libavutil/x86/cpu.h:23,
                 from libavcodec/x86/hevcdsp_init.c:27:
libavcodec/x86/hevcdsp_init.c: In function 'ff_hevc_dsp_init_x86':
./libavutil/cpu_internal.h:27:6: error: 'HAVE_AVX512ICL_EXTERNAL' undeclared (first use in this function); did you mean 'HAVE_AVX512_EXTERNAL'?
   27 |     (HAVE_ ## cpuext ## suffix && ((flags) & AV_CPU_FLAG_ ## cpuext))
      |      ^~~~~
./libavutil/x86/cpu.h:83:37: note: in expansion of macro 'CPUEXT_SUFFIX'
   83 | #define EXTERNAL_AVX512ICL(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, AVX512ICL)
      |                                     ^~~~~~~~~~~~~
libavcodec/x86/hevcdsp_init.c:881:13: note: in expansion of macro 'EXTERNAL_AVX512ICL'
  881 |         if (EXTERNAL_AVX512ICL(cpu_flags) && ARCH_X86_64) {
      |             ^~~~~~~~~~~~~~~~~~
./libavutil/cpu_internal.h:27:6: note: each undeclared identifier is reported only once for each function it appears in
   27 |     (HAVE_ ## cpuext ## suffix && ((flags) & AV_CPU_FLAG_ ## cpuext))
      |      ^~~~~
./libavutil/x86/cpu.h:83:37: note: in expansion of macro 'CPUEXT_SUFFIX'
   83 | #define EXTERNAL_AVX512ICL(flags)   CPUEXT_SUFFIX(flags, _EXTERNAL, AVX512ICL)
      |                                     ^~~~~~~~~~~~~
libavcodec/x86/hevcdsp_init.c:881:13: note: in expansion of macro 'EXTERNAL_AVX512ICL'
  881 |         if (EXTERNAL_AVX512ICL(cpu_flags) && ARCH_X86_64) {
      |             ^~~~~~~~~~~~~~~~~~

How to reproduce:

Run media-autobuild suite with compilation of mplayer/mencoder enabled.

CPPFLAGS: -D_FORTIFY_SOURCE=0 -D__USE_MINGW_ANSI_STDIO=1
CFLAGS: -mthreads -mtune=generic -O2 -pipe
CXXFLAGS: -mthreads -mtune=generic -O2 -pipe
LDFLAGS: -pipe -static-libgcc -static-libstdc++
make -j1 install
help/help_create.sh help/help_mp-en.h UTF-8
ccache gcc -MMD -MP -Wundef -Wstrict-prototypes -Wmissing-prototypes -Wdisabled-optimization -Wno-pointer-sign -Wdeclaration-after-statement -std=gnu99 -D_ISOC99_SOURCE -I. -Iffmpeg -mthreads -mtune=generic -O2 -pipe -fno-tree-vectorize -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -fpermissive -DPTW32_STATIC_LIB -O3 -DMODPLUG_STATIC -fno-common -D_FORTIFY_SOURCE=0 -D__USE_MINGW_ANSI_STDIO=1 -D_WIN32_WINNT=0x0600 -IE:/MABS/local32/include -IE:/MABS/local32/include/freetype2 -IE:/MABS/local32/include/freetype2 -IE:/MABS/local32/include/libxml2 -DLIBXML_STATIC -IE:/MABS/local32/include/fribidi -DFRIBIDI_LIB_STATIC -DZLIB_CONST -IE:/MABS/local32/include/opus -IE:/MABS/local32/include/bs2b -IE:/MABS/local32/include/libxml2 -DLIBXML_STATIC -IE:/MABS/local32/include -c -o mencoder.o mencoder.c

Attachments (1)

ab-suite.install.log (893.8 KB ) - added by LigH 2 years ago.
make install log

Download all attachments as: .zip

Change History (3)

by LigH, 2 years ago

Attachment: ab-suite.install.log added

make install log

comment:1 by beastd, 2 years ago

Resolution: fixed
Status: newclosed

Thanks for the report.

I can confirm this is fixed by Reimar's commit (MPlayer SVN r38366) yesterday.

Just re-open this ticket if it's somehow still not working for you.

Last edited 2 years ago by beastd (previous) (diff)

comment:2 by LigH, 2 years ago

Yes, this is fixed. But there is another issue with "undeclared" codec configurations in matroskaenc.c (CONFIG_LIBOPUS_ENCODER and CONFIG_LIBVPX_VP9_ENCODER). Will create this one later, need to extract the logs before the suite finishes as this is not considered a "breaker" for the suite.

Note: See TracTickets for help on using tickets.