[FFmpeg-devel] [PATCH] lavu: always provide symbols from hwcontext_vulkan.h

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Tue Jul 5 20:16:44 EEST 2022


Michael Niedermayer:
> On Tue, Jul 05, 2022 at 02:11:01AM +0200, Niklas Haas wrote:
>> From: Niklas Haas <git at haasn.dev>
>>
>> This header is unconditionally installed, even though the utility
>> functions defined by it may be missing from the built library.
>>
>> A precedent set by e.g. libavcodec/qsv.h (and others) is to always
>> provide these functions by compiling stub functions in the absence of
>> CONFIG_*. Make hwcontext_vulkan.h match this convention.
>>
>> Fixes downstream issues, e.g.
>> https://github.com/haasn/libplacebo/issues/120
>>
>> Signed-off-by: Niklas Haas <git at haasn.dev>
>> ---
>>  libavutil/Makefile           |  2 +-
>>  libavutil/hwcontext_vulkan.c | 26 ++++++++++++++++++++++++--
>>  2 files changed, 25 insertions(+), 3 deletions(-)
> 
> breaks build with shared libs
> 
> LD	libavutil/libavutil.so.57
> libavutil/hwcontext_vulkan.o: In function `av_vk_frame_alloc':
> ffmpeg/linux64shared/src/libavutil/hwcontext_vulkan.c:4177: multiple definition of `av_vk_frame_alloc'
> libavutil/hwcontext_stub.o:ffmpeg/linux64shared/src/libavutil/hwcontext_stub.c:37: first defined here
> libavutil/hwcontext_vulkan.o: In function `av_vkfmt_from_pixfmt':
> ffmpeg/linux64shared/src/libavutil/hwcontext_vulkan.c:4182: multiple definition of `av_vkfmt_from_pixfmt'
> libavutil/hwcontext_stub.o:ffmpeg/linux64shared/src/libavutil/hwcontext_stub.c:32: first defined here
> clang: error: linker command failed with exit code 1 (use -v to see invocation)
> ffmpeg/ffbuild/library.mak:118: recipe for target 'libavutil/libavutil.so.57' failed
> make: *** [libavutil/libavutil.so.57] Error 1
> 
> 

This commit has been superseded by
f9dd8fcf9b87e757096de993dd32571c4a85a2cb (which fixes the issue in a
different way and together with this patch causes the issue you
encountered).

- Andreas


More information about the ffmpeg-devel mailing list