Bug#1066340: t4kcommon: FTBFS: linebreak.c:163:19: error: implicit declaration of function ‘u8_mbtouc_unsafe’ [-Werror=implicit-function-declaration]
On Sun, 17 Mar 2024 20:50:57 +0500 Andrey Rakhmatullin wrote: On Wed, Mar 13, 2024 at 12:45:32PM +0100, Lucas Nussbaum wrote: > > linebreak.c:163:19: error: implicit declaration of function ‘u8_mbtouc_unsafe’ [-Werror=implicit-function-declaration] > > 163 | int count = u8_mbtouc_unsafe (, s, s_end - s); The prototype, in src/linebreak/unistr.h, is under #ifdef GNULIB_UNISTR_U8_MBTOUC_UNSAFE, but nothing sets that. -- WBR, wRAR A quick and dirty hacky fix I did in Ubuntu is: --- t4kcommon-0.1.1/debian/rules2022-07-09 18:24:26.0 +0200 +++ t4kcommon-0.1.1/debian/rules2024-03-23 10:13:25.0 +0100 @@ -19,7 +19,7 @@ symlinks -rsc doxygen override_dh_installdocs: doxygen/html - dh_installdocs -p$(PKG)-dev --link-doc=$(PKG) + dh_installdocs -p$(PKG)-dev --link-doc=$(PKG)t64 dh_installdocs override_dh_strip: diff -Nru t4kcommon-0.1.1/debian/patches/series t4kcommon-0.1.1/debian/patches/series --- t4kcommon-0.1.1/debian/patches/series 2022-07-09 18:24:26.0 +0200 +++ t4kcommon-0.1.1/debian/patches/series 2024-03-22 14:06:56.0 +0100 @@ -2,3 +2,4 @@ 916060_bugfix.patch 0001-Fix-wrapped_lines-variable-declaration-extern.patch 1011684_bugfix.patch +time64.patch diff -Nru t4kcommon-0.1.1/debian/patches/time64.patch t4kcommon-0.1.1/debian/patches/time64.patch --- t4kcommon-0.1.1/debian/patches/time64.patch 1970-01-01 01:00:00.0 +0100 +++ t4kcommon-0.1.1/debian/patches/time64.patch 2024-03-22 14:08:19.0 +0100 @@ -0,0 +1,25 @@ +Description: Fixup missing method definition. + This should be probably removed from symbols file, but it would require a transition. +Author: Gianfranco Costamagna +Last-Update: 2024-03-22 + +--- t4kcommon-0.1.1.orig/src/linebreak/unistr.h t4kcommon-0.1.1/src/linebreak/unistr.h +@@ -131,7 +131,7 @@ extern int + /* The variants with _safe suffix are safe, even if the library is compiled +without --enable-safety. */ + +-#ifdef GNULIB_UNISTR_U8_MBTOUC_UNSAFE ++#if GNULIB_UNISTR_U8_MBTOUC_UNSAFE || __arm__ + # if !HAVE_INLINE + extern int +u8_mbtouc_unsafe (ucs4_t *puc, const uint8_t *s, size_t n); +@@ -154,7 +154,7 @@ u8_mbtouc_unsafe (ucs4_t *puc, const uin + # endif + #endif + +-#ifdef GNULIB_UNISTR_U16_MBTOUC_UNSAFE ++#if GNULIB_UNISTR_U16_MBTOUC_UNSAFE || __arm__ + # if !HAVE_INLINE + extern int +u16_mbtouc_unsafe (ucs4_t *puc, const uint16_t *s, size_t n); Of course some more general solution is needed for Debian. People fixed in different ways https://github.com/macports/macports-ports/commit/3dc0f189db4438b39f60d45bc477f2ed2834e7da Also using libunistring-dev should be probably the best way to move forward https://lists.gnu.org/archive/html/bug-libunistring/2010-09/msg3.html G. OpenPGP_signature.asc Description: OpenPGP digital signature
Bug#1066340: t4kcommon: FTBFS: linebreak.c:163:19: error: implicit declaration of function ‘u8_mbtouc_unsafe’ [-Werror=implicit-function-declaration]
On Wed, Mar 13, 2024 at 12:45:32PM +0100, Lucas Nussbaum wrote: > > linebreak.c:163:19: error: implicit declaration of function > > ‘u8_mbtouc_unsafe’ [-Werror=implicit-function-declaration] > > 163 | int count = u8_mbtouc_unsafe (, s, s_end - s); The prototype, in src/linebreak/unistr.h, is under #ifdef GNULIB_UNISTR_U8_MBTOUC_UNSAFE, but nothing sets that. -- WBR, wRAR signature.asc Description: PGP signature
Bug#1066340: t4kcommon: FTBFS: linebreak.c:163:19: error: implicit declaration of function ‘u8_mbtouc_unsafe’ [-Werror=implicit-function-declaration]
Source: t4kcommon Version: 0.1.1-11.1 Severity: serious Justification: FTBFS Tags: trixie sid ftbfs User: lu...@debian.org Usertags: ftbfs-20240313 ftbfs-trixie ftbfs-impfuncdef Hi, During a rebuild of all packages in sid, your package failed to build on amd64. This is most likely caused by a change in dpkg 1.22.6, that enabled -Werror=implicit-function-declaration. For more information, see https://wiki.debian.org/qa.debian.org/FTBFS#A2024-03-13_-Werror.3Dimplicit-function-declaration Relevant part (hopefully): > /bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. > -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 > -Werror=implicit-function-declaration -ffile-prefix-map=/<>=. > -fstack-protector-strong -fstack-clash-protection -Wformat > -Werror=format-security -fcf-protection -I/usr/include/SDL -D_GNU_SOURCE=1 > -D_REENTRANT -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT > -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 > -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz > -I/usr/include/freetype2 -I/usr/include/libpng16 -pthread > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi > -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/SDL > -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/librsvg-2.0 > -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 > -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp > -pthread -I/usr/include/cairo -I/usr/include/freetype2 > -I/usr/include/pixman-1 -I/usr/include/cairo -I/usr/include/libpng16 > -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng16 > -I/usr/include/libxml2 -c -o u8-uctomb.lo `test -f 'unistr/u8-uctomb.c' || > echo './'`unistr/u8-uctomb.c > linebreak.c: In function ‘u8_possible_linebreaks’: > linebreak.c:163:19: error: implicit declaration of function > ‘u8_mbtouc_unsafe’ [-Werror=implicit-function-declaration] > 163 | int count = u8_mbtouc_unsafe (, s, s_end - s); > | ^~~~ > /bin/bash ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. > -I../.. -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 > -Werror=implicit-function-declaration -ffile-prefix-map=/<>=. > -fstack-protector-strong -fstack-clash-protection -Wformat > -Werror=format-security -fcf-protection -I/usr/include/SDL -D_GNU_SOURCE=1 > -D_REENTRANT -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT > -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 > -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz > -I/usr/include/freetype2 -I/usr/include/libpng16 -pthread > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi > -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/SDL > -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/librsvg-2.0 > -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 > -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp > -pthread -I/usr/include/cairo -I/usr/include/freetype2 > -I/usr/include/pixman-1 -I/usr/include/cairo -I/usr/include/libpng16 > -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng16 > -I/usr/include/libxml2 -c -o width.lo `test -f 'uniwidth/width.c' || echo > './'`uniwidth/width.c > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -Wdate-time > -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration > -ffile-prefix-map=/<>=. -fstack-protector-strong > -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection > -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/SDL > -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 > -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/harfbuzz > -I/usr/include/freetype2 -I/usr/include/libpng16 -pthread > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/fribidi > -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/SDL > -D_GNU_SOURCE=1 -D_REENTRANT -I/usr/include/librsvg-2.0 > -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gdk-pixbuf-2.0 > -I/usr/include/libpng16 -I/usr/include/x86_64-linux-gnu -I/usr/include/webp > -pthread -I/usr/include/cairo -I/usr/include/freetype2 > -I/usr/include/pixman-1 -I/usr/include/cairo -I/usr/include/libpng16 > -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng16 > -I/usr/include/libxml2 -c unistr/u16-mbtouc-unsafe.c -o u16-mbtouc-unsafe.o > >/dev/null 2>&1 > libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../.. -Wdate-time > -D_FORTIFY_SOURCE=2 -g -O2 -Werror=implicit-function-declaration > -ffile-prefix-map=/<>=. -fstack-protector-strong > -fstack-clash-protection -Wformat -Werror=format-security