The github actions bot updated the version of libheif yesterday to 1.16.1in this commit. This has broken heic support, because version 1.16.1 of libheif now uses "CMake instead of autotools", as per the libheif docs.
If you run imei.sh, it'll say libheif installed correctly, but if you check /var/log/imei.log you'll see it failed with an error that "autogen.sh" cannot be found.
Replacing this bit of code here:
tar -xf "libheif-$LIBHEIF_VER.tar.gz" &&
cd "libheif-$LIBHEIF_VER" &&
./autogen.sh &&
./configure &&
make
with
tar -xf "libheif-$LIBHEIF_VER.tar.gz" &&
cd "libheif-$LIBHEIF_VER" &&
mkdir build &&
cd build &&
cmake --preset=release ..
make
Seems to fix it. However, the log does show some warnings, such as:
WARNING: MISSING PACKAGE
We could not find development headers for DAV1D. Do you have the necessary
dev package installed? This package is NOT REQUIRED and you may ignore this
warning but by doing so you may miss some functionality of libheif.
Relevant CMake configuration variables:
DAV1D_INCLUDE_DIR=<not found>
DAV1D_LIBRARY=<not found>
I'm not familiar with libheif itself & haven't done any further testing - just sharing my findings so far.
Note: The fix above is not safe to merge as is because it will break cases where people supply a custom version of libheif using --libheif-version. If libheif <= 1.15.2, it should use the old build command. Anything higher should use CMake.
The github actions bot updated the version of libheif yesterday to
1.16.1
in this commit. This has broken heic support, because version1.16.1
of libheif now uses "CMake instead of autotools", as per the libheif docs.If you run imei.sh, it'll say libheif installed correctly, but if you check
/var/log/imei.log
you'll see it failed with an error that "autogen.sh" cannot be found.Replacing this bit of code here:
with
Seems to fix it. However, the log does show some warnings, such as:
I'm not familiar with libheif itself & haven't done any further testing - just sharing my findings so far.
Note: The fix above is not safe to merge as is because it will break cases where people supply a custom version of libheif using
--libheif-version
. If libheif <= 1.15.2, it should use the old build command. Anything higher should use CMake.