Bug#1066340: t4kcommon: FTBFS: linebreak.c:163:19: error: implicit declaration of function ‘u8_mbtouc_unsafe’ [-Werror=implicit-function-declaration]

2024-03-23 Thread Gianfranco Costamagna

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]

2024-03-17 Thread Andrey Rakhmatullin
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]

2024-03-13 Thread Lucas Nussbaum
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