On Thu, Aug 29, 2024 at 12:08:20PM +0100, Stuart Henderson wrote:
> On 2024/08/27 01:54, Stuart Henderson wrote:
> > CVSROOT: /cvs
> > Module name: ports
> > Changes by: [email protected] 2024/08/27 01:54:17
> >
> > Modified files:
> > graphics/libavif: Makefile distinfo
> > graphics/libavif/pkg: PLIST
> >
> > Log message:
> > update to libavif-1.1.0, from Brad (maintainer)
>
> This breaks kf5 and kf6 kimageformats:
>
> https://exopi.bsdfrog.org/logs/latest/paths/devel/kf6/kimageformats.log
> | [23/69] : && /exopi-obj/pobj/kimageformats-5.116.0/bin/c++ -fPIC
> -I/usr/local/include -fno-operator-names
> -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align
> -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef
> -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self
> -Werror=undef -Wvla -Wdate-time -pedantic -Wzero-as-null-pointer-constant
> -fdiagnostics-color=always -fexceptions -DNDEBUG -Wl,--fatal-warnings
> -Wl,--enable-new-dtags -Wl,-Bsymbolic-functions -shared -o
> bin/imageformats/kimg_avif.so
> src/imageformats/CMakeFiles/kimg_avif.dir/kimg_avif_autogen/mocs_compilation.cpp.o
> src/imageformats/CMakeFiles/kimg_avif.dir/avif.cpp.o
> -Wl,-z,origin,-rpath,/usr/local/lib/qt5/.:/usr/local/lib:/usr/X11R6/lib:
> /usr/local/lib/qt5/./libQt5Gui.so.4.2 /usr/local/lib/libavif.so.7.1
> /usr/local/lib/qt5/./libQt5Core.so.6.0 -lsharpyuv -ldav1d -laom
> -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib && :
> | FAILED: bin/imageformats/kimg_avif.so
> | : && /exopi-obj/pobj/kimageformats-5.116.0/bin/c++ -fPIC
> -I/usr/local/include -fno-operator-names
> -Wno-gnu-zero-variadic-macro-arguments -Wall -Wextra -Wcast-align
> -Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef
> -Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -Werror=init-self
> -Werror=undef -Wvla -Wdate-time -pedantic -Wzero-as-null-pointer-constant
> -fdiagnostics-color=always -fexceptions -DNDEBUG -Wl,--fatal-warnings
> -Wl,--enable-new-dtags -Wl,-Bsymbolic-functions -shared -o
> bin/imageformats/kimg_avif.so
> src/imageformats/CMakeFiles/kimg_avif.dir/kimg_avif_autogen/mocs_compilation.cpp.o
> src/imageformats/CMakeFiles/kimg_avif.dir/avif.cpp.o
> -Wl,-z,origin,-rpath,/usr/local/lib/qt5/.:/usr/local/lib:/usr/X11R6/lib:
> /usr/local/lib/qt5/./libQt5Gui.so.4.2 /usr/local/lib/libavif.so.7.1
> /usr/local/lib/qt5/./libQt5Core.so.6.0 -lsharpyuv -ldav1d -laom
> -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib && :
> | ld: error: unable to find library -lsharpyuv
> | ld: error: unable to find library -ldav1d
> | ld: error: unable to find library -laom
> | c++: error: linker command failed with exit code 1 (use -v to see
> invocation)
> | ninja: build stopped: subcommand failed.
>
> Any ideas? The linker command changed which is obviously why it's
> failing (no -L/usr/local/lib) :
>
> -[...snip...]
> -Wl,-z,origin,-rpath,/usr/local/lib/qt5/.:/usr/local/lib:/usr/X11R6/lib:
> /usr/local/lib/qt5/./libQt5Gui.so.4.2 /usr/local/lib/libavif.so.7.0
> /usr/local/lib/qt5/./libQt5Core.so.6.0
> -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib && :
> +[...snip...]
> -Wl,-z,origin,-rpath,/usr/local/lib/qt5/.:/usr/local/lib:/usr/X11R6/lib:
> /usr/local/lib/qt5/./libQt5Gui.so.4.2 /usr/local/lib/libavif.so.7.1
> /usr/local/lib/qt5/./libQt5Core.so.6.0 -lsharpyuv -ldav1d -laom
> -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib && :
>
> The pc file did change, ...
>
> Name: libavif
> Description: Library for encoding and decoding .avif files
> -Version: 1.0.4
> +Version: 1.1.0
> Libs: -L${libdir} -lavif
> +Libs.private: -lyuv
> Cflags: -I${includedir} -DAVIF_DLL
> +Cflags.private: -UAVIF_DLL
> +Requires.private: libsharpyuv dav1d aom
>
> ... but "pkg-config --libs libavif" looks ok (has -L/usr/local/lib in
> both old and new versions). Not sure why kimageformats would be wanting
> to pull things in from Requires.private at all (and then, if it's doing
> that, why would it use shared libs, and why would it use them without
> using the linker flag from "pkg-config --libs libsharpyuv"?)
>
> ...
>
> https://exopi.bsdfrog.org/logs/latest/paths/devel/kf5/kimageformats.log
>
> The version in kf5 has the same failure as above, plus additional
> warnings which are probably worth fixing by backporting an upstream
> commit
>
> |
> /exopi-obj/pobj/kimageformats-5.116.0/kimageformats-5.116.0/src/imageformats/avif.cpp:622:9:
> warning: ignoring return value of function declared with 'nodiscard'
> attribute [-Wunused-result]
> | avifImageAllocatePlanes(avif, AVIF_PLANES_YUV);
> | ^~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~
> |
> /exopi-obj/pobj/kimageformats-5.116.0/kimageformats-5.116.0/src/imageformats/avif.cpp:809:13:
> warning: ignoring return value of function declared with 'nodiscard'
> attribute [-Wunused-result]
> | avifImageSetProfileICC(avif, reinterpret_cast<const uint8_t
> *>(iccprofile.constData()), iccprofile.size());
> | ^~~~~~~~~~~~~~~~~~~~~~
> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> |
> /exopi-obj/pobj/kimageformats-5.116.0/kimageformats-5.116.0/src/imageformats/avif.cpp:981:13:
> warning: ignoring return value of function declared with 'nodiscard'
> attribute [-Wunused-result]
> | avifDecoderReset(m_decoder);
> | ^~~~~~~~~~~~~~~~ ~~~~~~~~~
> | 3 warnings generated.
I thought I had pinged the 1.1.1 update but I had done so for 1.1.0.
There was a bug in the CMake bits that was reported for this very issue.
Index: Makefile
===================================================================
RCS file: /cvs/ports/graphics/libavif/Makefile,v
retrieving revision 1.23
diff -u -p -u -p -r1.23 Makefile
--- Makefile 27 Aug 2024 07:54:17 -0000 1.23
+++ Makefile 30 Aug 2024 06:55:02 -0000
@@ -1,6 +1,6 @@
COMMENT= library for encoding and decoding .avif files
-DIST_TUPLE+= github AOMediaCodec libavif v1.1.0 .
+DIST_TUPLE+= github AOMediaCodec libavif v1.1.1 .
DIST_TUPLE+= github lemenkov libyuv \
a6a2ec654b1be1166b376476a7555c89eca0c275 ext/libyuv
CATEGORIES= graphics
Index: distinfo
===================================================================
RCS file: /cvs/ports/graphics/libavif/distinfo,v
retrieving revision 1.17
diff -u -p -u -p -r1.17 distinfo
--- distinfo 27 Aug 2024 07:54:17 -0000 1.17
+++ distinfo 30 Aug 2024 06:55:02 -0000
@@ -1,4 +1,4 @@
-SHA256 (AOMediaCodec-libavif-v1.1.0.tar.gz) =
7bMZUQBdehQ74XJPJIJYCVmaSDIHOt1Q6vmHcz3vtcg=
+SHA256 (AOMediaCodec-libavif-v1.1.1.tar.gz) =
kUZi4WJF4GLtc/kBEvu0VIJBMAhDp3ctjUQbtoWd5Fs=
SHA256 (lemenkov-libyuv-a6a2ec654b1be1166b376476a7555c89eca0c275.tar.gz) =
+5dXKi3B2Ok3bmGzPrSHCMzPs0Egb8m02atl9Asyb7M=
-SIZE (AOMediaCodec-libavif-v1.1.0.tar.gz) = 13642536
+SIZE (AOMediaCodec-libavif-v1.1.1.tar.gz) = 13644189
SIZE (lemenkov-libyuv-a6a2ec654b1be1166b376476a7555c89eca0c275.tar.gz) = 570482