libavformat/avformat.h reported missing even if specified in spec-file

Hey there I tried to fix build errors for vcmiin order to get a working version for Tumbleweed because neither the 0.99 release nor the git package do run on Tumbleweed right now and is reporting missing libboost dependencies and also missing libavformat dependencies even if installed.

The exact error is:


Problem: nothing provides 'libavcodec.so.58()(64bit)' needed by the to be installed vcmi-0.99.20190108+git.f0492ffa5-1.7.x86_64

However I have those installed from multimedia:libs:


i+ | libavcodec58_134                 | FFmpeg codec library                           | package
i+ | libavcodec58_134-32bit           | FFmpeg codec library                           | package

When ignoring the av dependency it installes but will not start due to:


vcmiclient: error while loading shared libraries: libboost_filesystem.so.1.68.0: cannot open shared object file: No such file or directory

I assume the issue is that TW does no longer ship version 1.68 but instead 1.76

So my attempt was to fix possible build errors with the package since it seems to be compiled towards outdated packages.
Since there is no new release I tried to clean up vcmi-git but now I face the following error:


/home/abuild/rpmbuild/SOURCES/vcmi-git.1624212624.2669aa446/client/battle/../CVideoHandler.h:61:10: fatal error: libavformat/avformat.h: No such file or directory
  273s]    61 | #include <libavformat/avformat.h>
  273s]       |          ^~~~~~~~~~~~~~~~~~~~~~~~

Even that:


BuildRequires:  pkgconfig(libavformat)

is specified in the spec file and also no “Nothing provides …” was mentioned by osc build.
I even tried to use ffmpeg4-libavformat-devel instead of pkgbuild but do no avail.

What could cause this issue?
I am out of ideas :confused:

The current state of my attempt can be found here.

Thank you in advance and kind regards,
V.

This include file is under /usr/include/ffmpeg so you need -I/usr/include/ffmpeg. This option is present in some compiler commands but not in the one that fails.