Debian Bug report logs - #1060951
gobject-introspection: multiarch g-ir-scanner doesn't find recursive library dependencies

version graph

Package: src:gobject-introspection; Maintainer for src:gobject-introspection is Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>;

Affects: src:libkkc, src:ibus-anthy

Reported by: Lucas Nussbaum <lucas@debian.org>

Date: Tue, 16 Jan 2024 19:49:09 UTC

Severity: grave

Tags: ftbfs

Found in versions gobject-introspection/1.78.1-17, gobject-introspection/1.78.1-15

Fixed in version gobject-introspection/1.80.1-3

Done: Simon McVittie <smcv@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Input Method Team <debian-input-method@lists.debian.org>:
Bug#1060951; Package src:libkkc. (Tue, 16 Jan 2024 19:49:11 GMT) (full text, mbox, link).


Acknowledgement sent to Lucas Nussbaum <lucas@debian.org>:
New Bug report received and forwarded. Copy sent to Debian Input Method Team <debian-input-method@lists.debian.org>. (Tue, 16 Jan 2024 19:49:11 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Lucas Nussbaum <lucas@debian.org>
To: submit@bugs.debian.org
Subject: libkkc: FTBFS: make[3]: *** [/usr/share/gobject-introspection-1.0/Makefile.introspection:156: Marisa.gir] Error 1
Date: Tue, 16 Jan 2024 20:44:13 +0100
Source: libkkc
Version: 0.3.5-8
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lucas@debian.org
Usertags: ftbfs-20240115 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> make[3]: Entering directory '/<<PKGBUILDDIR>>/marisa-glib'
> /bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid   -I.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o libmarisa_glib_la-marisa-key.lo `test -f 'marisa-key.cc' || echo './'`marisa-key.cc
> /bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid   -I.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o libmarisa_glib_la-marisa-keyset.lo `test -f 'marisa-keyset.cc' || echo './'`marisa-keyset.cc
> /bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid   -I.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o libmarisa_glib_la-marisa-agent.lo `test -f 'marisa-agent.cc' || echo './'`marisa-agent.cc
> /bin/bash ../libtool  --tag=CXX   --mode=compile g++ -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid   -I.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c -o libmarisa_glib_la-marisa-trie.lo `test -f 'marisa-trie.cc' || echo './'`marisa-trie.cc
> \
> { \
> 	if test "x" = x -o "x" = x; then :; else \
> 		for x in \
> 			-decl-list.txt \
> 			-decl.txt \
> 			tmpl/-unused.sgml \
> 			"tmpl/*.bak" \
> 			xml html \
> 		; do echo /$x; done; \
> 	fi; \
> 	if test "x" = x -o "x" = x; then :; else \
> 		for lc in ; do \
> 			for x in \
> 				 \
> 				 \
> 				 \
> 			; do echo /$lc/$x; done; \
> 		done; \
> 		for x in \
> 			 \
> 			 \
> 			 \
> 			 \
> 			 \
> 			"*/.xml2po.mo" \
> 			"*/*.omf.out" \
> 		; do echo /$x; done; \
> 	fi; \
> 	if test "x" = x -o "x" = x; then :; else \
> 		for lc in ; do \
> 			for x in \
> 				 \
> 				"$lc.stamp" \
> 				"$lc.mo" \
> 			; do echo /$lc/$x; done; \
> 		done; \
> 	fi; \
> 	if test "x" = x; then :; else \
> 		for x in \
> 			 \
> 			 \
> 		; do echo /$x; done; \
> 	fi; \
> 	if test -f ./po/Makefile.in.in; then \
> 		for x in \
> 			po/Makefile.in.in \
> 			po/Makefile.in \
> 			po/Makefile \
> 			po/POTFILES \
> 			po/stamp-it \
> 			po/.intltool-merge-cache \
> 			"po/*.gmo" \
> 			"po/*.mo" \
> 			po/libkkc.pot \
> 			intltool-extract.in \
> 			intltool-merge.in \
> 			intltool-update.in \
> 		; do echo /$x; done; \
> 	fi; \
> 	if test -f ./configure; then \
> 		for x in \
> 			autom4te.cache \
> 			configure \
> 			config.h \
> 			stamp-h1 \
> 			libtool \
> 			config.lt \
> 		; do echo /$x; done; \
> 	fi; \
> 	if test "x" = x; then :; else \
> 		for x in \
> 			 \
> 		; do echo /$x.sum; echo /$x.log; done; \
> 		echo /site.exp; \
> 	fi; \
> 	for x in \
> 		.gitignore \
> 		 \
> 		Marisa.gir \
> 		   \
> 		   \
> 		libmarisa-glib.la   \
> 		so_locations \
> 		.libs _libs \
> 		 \
> 		"*.o" \
> 		"*.lo" \
> 		marisa-glib.vapi \
> 		 \
> 		 \
> 		TAGS ID GTAGS GRTAGS GSYMS GPATH tags \
> 		"*.tab.c" \
> 		 \
> 		 \
> 		.deps \
> 		Makefile \
> 		Makefile.in \
> 		"*.orig" \
> 		"*.rej" \
> 		"*.bak" \
> 		"*~" \
> 		".*.sw[nop]" \
> 		".dirstamp" \
> 	; do echo /$x; done; \
> } | \
> sed "s@^/`echo "." | sed 's/\(.\)/[\1]/g'`/@/@" | \
> sed 's@/[.]/@/@g' | \
> LC_ALL=C sort | uniq > .gitignore.tmp && \
> mv .gitignore.tmp .gitignore;
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -I.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c marisa-trie.cc  -fPIC -DPIC -o .libs/libmarisa_glib_la-marisa-trie.o
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -I.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c marisa-key.cc  -fPIC -DPIC -o .libs/libmarisa_glib_la-marisa-key.o
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -I.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c marisa-agent.cc  -fPIC -DPIC -o .libs/libmarisa_glib_la-marisa-agent.o
> libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid -I.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -c marisa-keyset.cc  -fPIC -DPIC -o .libs/libmarisa_glib_la-marisa-keyset.o
> /bin/bash ../libtool  --tag=CXX   --mode=link g++ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid   -I.. -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -Wl,-z,relro -Wl,--as-needed -o libmarisa-glib.la  libmarisa_glib_la-marisa-key.lo libmarisa_glib_la-marisa-keyset.lo libmarisa_glib_la-marisa-agent.lo libmarisa_glib_la-marisa-trie.lo -lgio-2.0 -lgobject-2.0 -lglib-2.0  -lmarisa  
> libtool: link: ar cr .libs/libmarisa-glib.a .libs/libmarisa_glib_la-marisa-key.o .libs/libmarisa_glib_la-marisa-keyset.o .libs/libmarisa_glib_la-marisa-agent.o .libs/libmarisa_glib_la-marisa-trie.o 
> libtool: link: ranlib .libs/libmarisa-glib.a
> libtool: link: ( cd ".libs" && rm -f "libmarisa-glib.la" && ln -s "../libmarisa-glib.la" "libmarisa-glib.la" )
> CPPFLAGS="-Wdate-time -D_FORTIFY_SOURCE=2" CFLAGS="-g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic" LDFLAGS="-Wl,-z,relro -Wl,--as-needed" CC="gcc" PKG_CONFIG="/usr/bin/pkg-config" GI_HOST_OS="" DLLTOOL="false"  /usr/bin/x86_64-linux-gnu-g-ir-scanner  --add-include-path=. --namespace=Marisa.gir --nsversion=Marisa --libtool="/bin/bash ../libtool"  --include=GLib-2.0 --include=GObject-2.0 --include=Gio-2.0    --library=libmarisa-glib.la --pkg-export=marisa-glib --pkg=marisa --namespace=Marisa -lstdc++ -lm -lgcc_s -lc -lgcc_s --cflags-begin -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -pthread -I/usr/include/libmount -I/usr/include/blkid   -I.. --cflags-end  marisa-key.cc marisa-keyset.cc marisa-agent.cc marisa-trie.cc marisa-key.h marisa-keyset.h marisa-agent.h marisa-trie.h libmarisa-glib.la --output Marisa.gir
> g-ir-scanner: link: /bin/bash ../libtool --mode=link --tag=CC gcc -o /<<PKGBUILDDIR>>/marisa-glib/tmp-introspectfgvk9o6l/Marisa-Marisa -export-dynamic -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic /<<PKGBUILDDIR>>/marisa-glib/tmp-introspectfgvk9o6l/Marisa-Marisa.o -L. libmarisa-glib.la -lstdc++ -lm -lgcc_s -lc -lgcc_s -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lglib-2.0 -lmarisa -Wl,-z,relro -Wl,--as-needed
> libtool: link: gcc -o /<<PKGBUILDDIR>>/marisa-glib/tmp-introspectfgvk9o6l/Marisa-Marisa -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -pedantic /<<PKGBUILDDIR>>/marisa-glib/tmp-introspectfgvk9o6l/Marisa-Marisa.o -Wl,--export-dynamic -Wl,-z -Wl,relro -Wl,--as-needed -Wl,--export-dynamic  -L. ./.libs/libmarisa-glib.a -lstdc++ -lm -lc -lgcc_s -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lmarisa -pthread
> ERROR: can't resolve libraries to shared libraries: m
> make[3]: *** [/usr/share/gobject-introspection-1.0/Makefile.introspection:156: Marisa.gir] Error 1


The full build log is available from:
http://qa-logs.debian.net/2024/01/15/libkkc_0.3.5-8_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240115;users=lucas@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240115&fusertaguser=lucas@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.



Information forwarded to debian-bugs-dist@lists.debian.org, smcv@debian.org, jbicha@debian.org, Debian Input Method Team <debian-input-method@lists.debian.org>:
Bug#1060951; Package src:libkkc. (Tue, 30 Apr 2024 12:27:02 GMT) (full text, mbox, link).


Acknowledgement sent to Boyuan Yang <byang@debian.org>:
Extra info received and forwarded to list. Copy sent to smcv@debian.org, jbicha@debian.org, Debian Input Method Team <debian-input-method@lists.debian.org>. (Tue, 30 Apr 2024 12:27:02 GMT) (full text, mbox, link).


Message #10 received at 1060951@bugs.debian.org (full text, mbox, reply):

From: Boyuan Yang <byang@debian.org>
To: 1060951@bugs.debian.org
Subject: Re: Bug#1060951: Build regression in multiarch g-ir-scanner (Was: libkkc: FTBFS: Marisa.gir] Error 1)
Date: Tue, 30 Apr 2024 08:23:55 -0400
[Message part 1 (text/plain, inline)]
Control: retitle -1 Build regression in multiarch g-ir-scanner 
Control: reassign -1 src:gobject-introspection
Control: severity -1 grave
Control: affects -1 src:libkkc
Control: affects -1 src:ibus-anthy
X-Debbugs-CC: smcv@debian.org jbicha@debian.org

Hi,

This looks like a regression introduced in gobject-introspection
1.78.1-17. For the problematic line below:

* When manually invoking using /usr/bin/g-ir-scanner, the build is fine.

* When invoking using /usr/bin/x86_64-linux-gnu-g-ir-scanner, the build
error (libm not found) will happen, as shown in the build log attached.

Comparing the invocation of g-ir-scanner with native compilation, the
only extra flag is the addition of "--use-ldd-
wrapper=/usr/libexec/gobject-introspection-bin/deb-elf-get-needed". I
guess this wrapper is doing something bad.

This bug is affecting multiple packages, including src:libkkc and
src:ibus-anthy (via https://bugs.debian.org/1060953 ). Please consider
looking into them. Please let me know if more debug info is needed.
Thanks!

Regards,
Boyuan Yang



On Tue, 16 Jan 2024 20:44:13 +0100 Lucas Nussbaum <lucas@debian.org>
wrote:
> Source: libkkc
> Version: 0.3.5-8
> Severity: serious
> Justification: FTBFS
> Tags: trixie sid ftbfs
> User: lucas@debian.org
> Usertags: ftbfs-20240115 ftbfs-trixie
> 
> Hi,
> 
> During a rebuild of all packages in sid, your package failed to build
> on amd64.
> 
> 
> CPPFLAGS="-Wdate-time -D_FORTIFY_SOURCE=2" CFLAGS="-g -O2 -ffile-
prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-
protection -Wformat -Werror=format-security -fcf-protection -Wall -
pedantic" LDFLAGS="-Wl,-z,relro -Wl,--as-needed" CC="gcc"
PKG_CONFIG="/usr/bin/pkg-config" GI_HOST_OS="" DLLTOOL="false" 
/usr/bin/x86_64-linux-gnu-g-ir-scanner  --add-include-path=. --
namespace=Marisa.gir --nsversion=Marisa --libtool="/bin/bash ../libtool"
--include=GLib-2.0 --include=GObject-2.0 --include=Gio-2.0    --
library=libmarisa-glib.la --pkg-export=marisa-glib --pkg=marisa --
namespace=Marisa -lstdc++ -lm -lgcc_s -lc -lgcc_s --cflags-begin -
I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -
pthread -I/usr/include/libmount -I/usr/include/blkid   -I.. --cflags-end
marisa-key.cc marisa-keyset.cc marisa-agent.cc marisa-trie.cc marisa-
key.h marisa-keyset.h marisa-agent.h marisa-trie.h libmarisa-glib.la --
output Marisa.gir
> g-ir-scanner: link: /bin/bash ../libtool --mode=link --tag=CC gcc -o
/<<PKGBUILDDIR>>/marisa-glib/tmp-introspectfgvk9o6l/Marisa-Marisa -
export-dynamic -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -ffile-prefix-
map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection
-Wformat -Werror=format-security -fcf-protection -Wall -pedantic
/<<PKGBUILDDIR>>/marisa-glib/tmp-introspectfgvk9o6l/Marisa-Marisa.o -L.
libmarisa-glib.la -lstdc++ -lm -lgcc_s -lc -lgcc_s -lgio-2.0 -lgobject-
2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lglib-2.0 -
lmarisa -Wl,-z,relro -Wl,--as-needed
> libtool: link: gcc -o /<<PKGBUILDDIR>>/marisa-glib/tmp-
introspectfgvk9o6l/Marisa-Marisa -Wdate-time -D_FORTIFY_SOURCE=2 -g -O2 -
ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-
clash-protection -Wformat -Werror=format-security -fcf-protection -Wall -
pedantic /<<PKGBUILDDIR>>/marisa-glib/tmp-introspectfgvk9o6l/Marisa-
Marisa.o -Wl,--export-dynamic -Wl,-z -Wl,relro -Wl,--as-needed -Wl,--
export-dynamic  -L. ./.libs/libmarisa-glib.a -lstdc++ -lm -lc -lgcc_s -
lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lmarisa -pthread
> ERROR: can't resolve libraries to shared libraries: m
> make[3]: *** [/usr/share/gobject-introspection-
1.0/Makefile.introspection:156: Marisa.gir] Error 1
> The full build log is available from:
http://qa-logs.debian.net/2024/01/15/libkkc_0.3.5-8_unstable.log

[signature.asc (application/pgp-signature, inline)]

Changed Bug title to 'Build regression in multiarch g-ir-scanner' from 'libkkc: FTBFS: make[3]: *** [/usr/share/gobject-introspection-1.0/Makefile.introspection:156: Marisa.gir] Error 1'. Request was from Boyuan Yang <byang@debian.org> to 1060951-submit@bugs.debian.org. (Tue, 30 Apr 2024 12:27:02 GMT) (full text, mbox, link).


Bug reassigned from package 'src:libkkc' to 'src:gobject-introspection'. Request was from Boyuan Yang <byang@debian.org> to 1060951-submit@bugs.debian.org. (Tue, 30 Apr 2024 12:27:03 GMT) (full text, mbox, link).


No longer marked as found in versions libkkc/0.3.5-8. Request was from Boyuan Yang <byang@debian.org> to 1060951-submit@bugs.debian.org. (Tue, 30 Apr 2024 12:27:03 GMT) (full text, mbox, link).


Severity set to 'grave' from 'serious' Request was from Boyuan Yang <byang@debian.org> to 1060951-submit@bugs.debian.org. (Tue, 30 Apr 2024 12:27:04 GMT) (full text, mbox, link).


Added indication that 1060951 affects src:libkkc Request was from Boyuan Yang <byang@debian.org> to 1060951-submit@bugs.debian.org. (Tue, 30 Apr 2024 12:27:04 GMT) (full text, mbox, link).


Added indication that 1060951 affects src:ibus-anthy Request was from Boyuan Yang <byang@debian.org> to 1060951-submit@bugs.debian.org. (Tue, 30 Apr 2024 12:27:04 GMT) (full text, mbox, link).


Marked as found in versions gobject-introspection/1.78.1-17. Request was from Andreas Beckmann <anbe@debian.org> to control@bugs.debian.org. (Wed, 01 May 2024 06:27:07 GMT) (full text, mbox, link).


Removed tag(s) trixie and sid. Request was from Andreas Beckmann <anbe@debian.org> to control@bugs.debian.org. (Wed, 01 May 2024 06:27:07 GMT) (full text, mbox, link).


Marked as found in versions gobject-introspection/1.78.1-15. Request was from Jeremy Bícha <jeremy.bicha@canonical.com> to control@bugs.debian.org. (Sat, 04 May 2024 18:03:04 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>:
Bug#1060951; Package src:gobject-introspection. (Tue, 14 May 2024 16:15:03 GMT) (full text, mbox, link).


Acknowledgement sent to Simon McVittie <smcv@debian.org>:
Extra info received and forwarded to list. Copy sent to Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>. (Tue, 14 May 2024 16:15:03 GMT) (full text, mbox, link).


Message #33 received at 1060951@bugs.debian.org (full text, mbox, reply):

From: Simon McVittie <smcv@debian.org>
To: Boyuan Yang <byang@debian.org>, 1060951@bugs.debian.org
Cc: libkkc@packages.debian.org
Subject: Re: libkkc: likely shouldn't add recursive dependencies to Marisa_gir_SCANNERFLAGS
Date: Tue, 14 May 2024 17:12:29 +0100
Control: clone -1 -2
Control: retitle -1 gobject-introspection: multiarch g-ir-scanner doesn't find recursive library dependencies
Control: retitle -2 libkkc: likely shouldn't add recursive dependencies to Marisa_gir_SCANNERFLAGS
Control: reassign -2 libkkc 0.3.5-8
Control: tags -2 + upstream

On Tue, 30 Apr 2024 at 08:23:55 -0400, Boyuan Yang wrote:
> * When manually invoking using /usr/bin/g-ir-scanner, the build is fine.
> 
> * When invoking using /usr/bin/x86_64-linux-gnu-g-ir-scanner, the build
> error (libm not found) will happen, as shown in the build log attached.
> 
> Comparing the invocation of g-ir-scanner with native compilation, the
> only extra flag is the addition of "--use-ldd-
> wrapper=/usr/libexec/gobject-introspection-bin/deb-elf-get-needed". I
> guess this wrapper is doing something bad.

The reason for the regression is that ldd is recursive, but
deb-elf-get-needed is not. In builds that link with -Wl,--as-needed,
explicitly linking the GObject-Introspection "dumper" binary to each
--library is not always enough to produce a direct dependency, which means
we can't find out the SONAME of the library.

I'm testing a patch to make g-ir-scanner explicitly disable
-Wl,--as-needed, so that the SONAMEs can be extracted reliably.

Using ldd to parse the dependencies accidentally works around this (today,
but not necessarily forever) because libm is in its indirect dependencies,
via libstdc++ - but arguably that's wrong, because libm no longer exists
as an independent library and has been merged into libc.

However, I think libkkc is also invoking g-ir-scanner wrong: it's passing
its dependencies into g-ir-scanner as -l (--library). This is not just an
alias of the gcc -l argument: it is specifically intended to be a list
of the libraries that are part of the library for which g-ir-scanner is
generating a binding. By passing "-lstdc++ -lm -lgcc_s -lgio-2.0 ..."
to g-ir-scanner, this project is claiming to be a GObject-Introspection
binding for libstdc++, libm, libgcc_s, libgio-2.0 and so on - which seems
unlikely to be true! So I think it would be worthwhile to fix this in
libkkc as well.

A symptom of this problem is that Marisa.gir contains
shared-library="libstdc++.so.6,libm.so.6,libc.so.6,libgcc_s.so.1"
instead of what I would expect it to contain, which is something more like
shared-library="libmarisa-glib.so" (or perhaps even an empty list or no
attribute at all, because libmarisa seems to be static-only).

Producing GObject-Introspection bindings for static-only libraries is
unusual, so there are probably some rough edges here. The incorrect
shared-library attribute happens to not matter very much, because the
GIR XML is only used to generate Vala bindings and then thrown away,
rather than being installed like GIR XML usually is.

Looking at its git history, I think
https://github.com/ueno/libkkc/commit/16cd162f1c018fcf74435b3ae920d2805eba40e9
was probably not the right thing to do. My Autotools knowledge
is increasingly rusty, so I don't know what the right thing would
have been: perhaps moving $(MARISA_GLIB_STATIC_DEPENDENCIES) into
libmarisa_glib_la_LIBADD and then relying on libtool to pick up the
static-linking dependencies from the .la file in the usual way?
Like this pseudo-patch (untested):

-libmarisa_glib_la_LIBADD = $(GIO_LIBS) $(MARISA_LIBS)
+libmarisa_glib_la_LIBADD = $(GIO_LIBS) $(MARISA_LIBS) $(MARISA_GLIB_STATIC_DEPENDENCIES)
...
-Marisa_gir_SCANNERFLAGS = --pkg-export=marisa-glib --pkg=marisa --namespace=Marisa $(MARISA_GLIB_STATIC_DEPENDENCIES)
+Marisa_gir_SCANNERFLAGS = --pkg-export=marisa-glib --pkg=marisa --namespace=Marisa

Let's use #1060951 for the gobject-introspection regression, and the
bug that I've cloned for the libkkc side of this.

    smcv



Bug 1060951 cloned as bug 1071116 Request was from Simon McVittie <smcv@debian.org> to 1060951-submit@bugs.debian.org. (Tue, 14 May 2024 16:15:03 GMT) (full text, mbox, link).


Changed Bug title to 'gobject-introspection: multiarch g-ir-scanner doesn't find recursive library dependencies' from 'Build regression in multiarch g-ir-scanner'. Request was from Simon McVittie <smcv@debian.org> to 1060951-submit@bugs.debian.org. (Tue, 14 May 2024 16:15:04 GMT) (full text, mbox, link).


Message sent on to Lucas Nussbaum <lucas@debian.org>:
Bug#1060951. (Tue, 14 May 2024 17:36:02 GMT) (full text, mbox, link).


Message #40 received at 1060951-submitter@bugs.debian.org (full text, mbox, reply):

From: Simon McVittie <noreply@salsa.debian.org>
To: 1060951-submitter@bugs.debian.org
Subject: Bug#1060951 marked as pending in gobject-introspection
Date: Tue, 14 May 2024 17:32:48 +0000
Control: tag -1 pending

Hello,

Bug #1060951 in gobject-introspection reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/gnome-team/gobject-introspection/-/commit/bebef08c063a0e891019f9a333e0fa219f56b192

------------------------------------------------------------------------
d/patches: Add proposed patch to apply -Wl,--no-as-needed more thoroughly

This avoids build regressions in libkkc and ibus-anthy, which pass
libraries to `g-ir-scanner --library` that do not contain any functions
directly called by the dumper.

Closes: #1060951, #1060953
Mitigates: #1071116
------------------------------------------------------------------------

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1060951



Added tag(s) pending. Request was from Simon McVittie <noreply@salsa.debian.org> to 1060951-submitter@bugs.debian.org. (Tue, 14 May 2024 17:36:02 GMT) (full text, mbox, link).


Reply sent to Simon McVittie <smcv@debian.org>:
You have taken responsibility. (Tue, 14 May 2024 18:39:04 GMT) (full text, mbox, link).


Notification sent to Lucas Nussbaum <lucas@debian.org>:
Bug acknowledged by developer. (Tue, 14 May 2024 18:39:05 GMT) (full text, mbox, link).


Message #47 received at 1060951-close@bugs.debian.org (full text, mbox, reply):

From: Debian FTP Masters <ftpmaster@ftp-master.debian.org>
To: 1060951-close@bugs.debian.org
Subject: Bug#1060951: fixed in gobject-introspection 1.80.1-3
Date: Tue, 14 May 2024 18:34:33 +0000
[Message part 1 (text/plain, inline)]
Source: gobject-introspection
Source-Version: 1.80.1-3
Done: Simon McVittie <smcv@debian.org>

We believe that the bug you reported is fixed in the latest version of
gobject-introspection, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1060951@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Simon McVittie <smcv@debian.org> (supplier of updated gobject-introspection package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Tue, 14 May 2024 18:42:37 +0100
Source: gobject-introspection
Architecture: source
Version: 1.80.1-3
Distribution: unstable
Urgency: medium
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
Changed-By: Simon McVittie <smcv@debian.org>
Closes: 1060951 1060953
Changes:
 gobject-introspection (1.80.1-3) unstable; urgency=medium
 .
   * d/p/giscanner-Be-more-thorough-about-applying-Wl-no-as-needed.patch:
     Add proposed patch to apply -Wl,--no-as-needed more thoroughly.
     This avoids build regressions in libkkc and ibus-anthy, which pass
     libraries to `g-ir-scanner --library` that do not contain any functions
     directly called by the dumper.
     (Closes: #1060951, #1060953) (Mitigates: #1071116)
Checksums-Sha1:
 8dc906574ad7b66f8cd0c58303d5d9f18e5713b7 4172 gobject-introspection_1.80.1-3.dsc
 370993033b789d6fc2009b94fabd85eddf304a6d 58368 gobject-introspection_1.80.1-3.debian.tar.xz
 9c234b292a5c211cb709bbe1c4e99f2ee7ebcde5 9243 gobject-introspection_1.80.1-3_source.buildinfo
Checksums-Sha256:
 298257a1a06f5a8757ee72ee774e7bf1e23a547eec7357c7ef1d0ac753629ed1 4172 gobject-introspection_1.80.1-3.dsc
 31437422e697152b858eff480feb8fd713a72df38ba6cc648ed5570de2ea9883 58368 gobject-introspection_1.80.1-3.debian.tar.xz
 80a14faa74b8f2ba7b2cf5506513eb475845264e7afcf2bb244b7f72b3410111 9243 gobject-introspection_1.80.1-3_source.buildinfo
Files:
 0547204197072173be37a3e9acc1f680 4172 devel optional gobject-introspection_1.80.1-3.dsc
 2b7b8f08c0c379a68fa81ee4ad4a896d 58368 devel optional gobject-introspection_1.80.1-3.debian.tar.xz
 9ca1f2538b5b4fb23c198bc0b3fe40da 9243 devel optional gobject-introspection_1.80.1-3_source.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEENuxaZEik9e95vv6Y4FrhR4+BTE8FAmZDrWsACgkQ4FrhR4+B
TE8pzA/+JBVko0dM92MWYG3248uHJ92ZAJJ9G1EhP4iPN0U78SwwkAhZm3n8VWEZ
N1zreNRgZ9jtbARxlhNJWhH5NmvNB9FAAzE02lsJecQGRI3XeG+lb2/UDSWpwjU0
1IMdetbBWW70W6eqKBIQC01TmfVKoJPse/rlXaiZhbjjK/B1FzYbkcJFl5T1I2+Y
eBdd0UU7Fhf6Thcc79fIQxApeZXQ7X0neWuUbNJFyt9I1wy/8NWmU/j6StgfiLbA
kCmspX/BwqaF1Y99MtQv0XIQvvwNTgxWE8VjB/Nnew25zO1LN7k+BzZsPL5PjA4a
tJY0rPE8vE7Itb+NWYSSk509SLGei3f3GO9+L5H2EEpgkf+QZerzbu3Uz8KCKjbG
dpFHvtCQAiKHXSKcs2ACokbARKEHMJ9rDnFfgFE/bTycOhg+Asd2T7DSKlLFtG/z
HKoKZfrhRVuDEk+tWST3qzQ/7NH0MqKwDJVbxG+Ydigsf72i2MpZixncFUnLPesC
crgBeWDLG0lhyG72E7vYX1Kl+v/rDo4shYA4QCHXDHP4tPanvrRXNJpFFkNGfI0z
zmkD+rd7ObLERODLolrt/38/HJkdggUZGqUywrCETH2EUtbtlkemzEjEcWOC9QeE
zU0BCV6sYGMlFc5GCOlTwEHqjVzRY/lDpM+5b3DBxHSoYr7eRLA=
=asLE
-----END PGP SIGNATURE-----

[Message part 2 (application/pgp-signature, inline)]

Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Fri, 14 Jun 2024 07:28:11 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Aug 8 02:19:40 2024; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.