Source: jpeg-xl Severity: serious Version: 0.7.0-10 X-Debbugs-CC: ma...@debian.org Control: tags -1 +patch
Dear Debian jpeg-xl packager, Unfortunately jpeg-xl in Sid now FTBFS more due to a corner case in searching of its build-dependency libwebp. In jpeg-xl CMakeLists.txt, it searches libwebp in order to build some test binaries. Unfortunately the CMakeList.txt is hardcoding the logic to prefer static library if present, and fall back to using shared library. However, with libwebp 1.3.x series, the static library of libwebp also depends on symbols in libsharpyuv (which is built together with libwebp). The building of jpeg-xl will unfortunately FTBFS if the static libsharpyuv is not linked together with libwebp explicitly. I am preparing a patch to solve this problem, which adds the logic of static libsharpyuv linkage. Unfortunately this patch will be incompatible with libwebp (<< 1.3). The alternative solution is to enforce dynamic linking at all time, which will be compatible with all libwebp versions. Thanks, Boyuan Yang
From: Boyuan Yang <by...@debian.org> Date: Fri, 22 Sep 2023 17:12:33 -0400 Subject: tools/CMakeLists.txt: Fix compatibility with static libwebp 1.3.x --- tools/CMakeLists.txt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 934ed89..6556845 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -249,7 +249,12 @@ if(JPEGXL_ENABLE_BENCHMARK AND JPEGXL_ENABLE_TOOLS) message(WARNING "Using dynamic libwebp") target_link_libraries(benchmark_xl PkgConfig::WebP) else() + # Debian-specific patch + # libwebp 1.3.x: libsharpyuv static library must be linked as well + find_library(SHARPYUV_STATIC_LINK_LIBRARY NAMES libsharpyuv.a + PATHS "${WebP_LIBDIR}" REQUIRED) target_link_libraries(benchmark_xl "${WebP_STATIC_LINK_LIBRARY}") + target_link_libraries(benchmark_xl "${SHARPYUV_STATIC_LINK_LIBRARY}") target_include_directories(benchmark_xl PRIVATE ${WebP_STATIC_INCLUDE_DIRS}) target_compile_options(benchmark_xl PRIVATE ${WebP_STATIC_CFLAGS_OTHER})
signature.asc
Description: This is a digitally signed message part