I copied and pasted your line:
EXTRA_LIBS=" -lOpenCL -lSvtAv1Enc -lvpl -ldav1d -lxvidcore -lass
-lbluray -lsnappy -lzimg -lplacebo -lshaderc_shared"
strange, it was working with those TWO lines in Slackbuild:
EXTRA_LIBS=" -lOpenCL -lSvtAv1Enc -lvpl -ldav1d -lxvidcore -lass -lbluray -lsnappy -lzimg -lplacebo -lshaderc_shared" \ FFMPEG_EXTRA_CFG=" --enable-libvpl --disable-doc --enable-opencl --enable-libsvtav1 --enable-frei0r --enable-libdav1d --enable-libzimg --enable-libxvid --enable-libass --enable-libbluray --enable-libsnappy --enable-libshaderc --enable-libplacebo --enable-vulkan --disable-debug --extra-cflags=-I/usr/local/include/vpl --extra-cflags=-I/usr/include/svt-av1" \
be sure to export both?
I have also tried just “-lzimg”.
I have also tried several variations (along with or without your line) of:
You can't use something.pc in -L statement directly, it sets directory where linker looks for libraries.
pkg-config is basically program (from system - I saw it on Linux distros and NetBSD's pkgsrc) that checks those *.pc files and helps to construct include and libs lines.
-I is also sets include search *directory* and not a file, as far as I understand.
But yeah, for example cmake sometimes mis-set those, so I tend to try and fix this on my slightly non-standart system. Or just give up and symlink few things into /usr
export EXTRA_LDFLAGS=' -L/usr/lib/libzimg.so /usr/lib/libzimg.so.2
/usr/lib/libzimg.so.2.0.0 -L/usr/lib/pkgconfig/zimg.pc'
export EXTRA_CFLAGS=' -I/usr/include/zimg++.hpp /usr/include/zimg.h'