Hi Simon,

On 28/03/22 at 00:55 +0100, Simon McVittie wrote:
> Control: reassign -1 meson 0.62.0-1
> Control: retitle -1 meson 0.62 regression: gtk-doc targets in src:glib2.0 
> lose their dependencies
> Control: affects -1 + src:glib2.0
> 
> On Sat, 26 Mar 2022 at 21:44:54 +0100, Lucas Nussbaum wrote:
> > During a rebuild of all packages in sid, your package failed to build
> > on amd64.
> > 
> > > Building documentation for gdbus-object-manager-example
> > > ERROR: Error in gtkdoc helper script:
> > > 
> > > ERROR: ['/usr/bin/gtkdoc-scangobj', 
> > > '--types=/<<PKGBUILDDIR>>/debian/build/deb/docs/reference/gio/gdbus-object-manager-example/gdbus-object-manager-example.types',
> > >  '--module=gdbus-object-manager-example', '--run=', 
> > > '--cflags=-I/<<PKGBUILDDIR>>/gio -I/<<PKGBUILDDIR>>/debian/build/deb/gio 
> > > -I/usr/include/libmount -I/usr/include/blkid -I/<<PKGBUILDDIR>>/gmodule 
> > > -I/<<PKGBUILDDIR>>/debian/build/deb/gmodule -I/<<PKGBUILDDIR>>/. 
> > > -I/<<PKGBUILDDIR>>/debian/build/deb/. -I/<<PKGBUILDDIR>>/glib 
> > > -I/<<PKGBUILDDIR>>/debian/build/deb/glib -pthread 
> > > -I/<<PKGBUILDDIR>>/gobject -I/<<PKGBUILDDIR>>/debian/build/deb/gobject -g 
> > > -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
> > > -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 
> > > -D_GNU_SOURCE -fno-strict-aliasing -Wduplicated-branches 
> > > -Wimplicit-fallthrough -Wmisleading-indentation -Wunused 
> > > -Wno-unused-parameter -Wno-cast-function-type -Wno-pedantic 
> > > -Wno-format-zero-length -Wno-variadic-macros -Werror=format=2 
> > > -Werror=init-self -Werror=missing-include-dirs -Werror=pointer-arith 
> > > -Wstrict-prototypes -Wno-bad-function-cast 
> > > -Werror=declaration-after-statement -Werror=implicit-function-declaration 
> > > -Werror=missing-prototypes', 
> > > '--ldflags=-L/<<PKGBUILDDIR>>/debian/build/deb/gio/tests/gdbus-object-manager-example
> > >  
> > > -Wl,-rpath,/<<PKGBUILDDIR>>/debian/build/deb/gio/tests/gdbus-object-manager-example
> > >  -L/<<PKGBUILDDIR>>/debian/build/deb/glib 
> > > -Wl,-rpath,/<<PKGBUILDDIR>>/debian/build/deb/glib 
> > > -L/<<PKGBUILDDIR>>/debian/build/deb/gmodule 
> > > -Wl,-rpath,/<<PKGBUILDDIR>>/debian/build/deb/gmodule 
> > > -L/<<PKGBUILDDIR>>/debian/build/deb/gobject 
> > > -Wl,-rpath,/<<PKGBUILDDIR>>/debian/build/deb/gobject 
> > > -L/<<PKGBUILDDIR>>/debian/build/deb/gio 
> > > -Wl,-rpath,/<<PKGBUILDDIR>>/debian/build/deb/gio 
> > > -lgdbus-example-objectmanager -lgio-2.0 -lgmodule-2.0 -lglib-2.0 
> > > -lgobject-2.0 -lz -ldl -lmount -lselinux -lresolv -lpcre -pthread -lm 
> > > -lffi -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--no-as-needed -Wl,-O1 -g 
> > > -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
> > > -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2', 
> > > '--cc=cc', '--ld=cc', 
> > > '--output-dir=/<<PKGBUILDDIR>>/debian/build/deb/docs/reference/gio/gdbus-object-manager-example']
> > >  failed with status 1
> > > /usr/bin/ld: cannot find -lgdbus-example-objectmanager: No such file or 
> > > directory
> > > /usr/bin/ld: cannot find -lgio-2.0: No such file or directory
> > > collect2: error: ld returned 1 exit status
> > 
> > The full build log is available from:
> > http://qa-logs.debian.net/2022/03/26/glib2.0_2.72.0-1_unstable.log
> 
> This appears to be a Meson 0.62.0 regression. When I install the older
> version, meson 0.61.2-1, and start the glib2.0 build, then inspect
> debian/build/deb/build.ninja after Meson has had a chance to create it,
> the gtk-doc target for docs/reference/gio/gdbus-object-manager-example
> looks like this, which seems correct:
> 
> ----8<----
> build 
> docs/reference/gio/gdbus-object-manager-example/gdbus-object-manager-example-decl.txt:
>  CUSTOM_COMMAND  | PHONY gio/libgio-2.0.so.0.7200.0 
> gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.so 
> glib/libglib-2.0.so.0.7200.0 gmodule/libgmodule-2.0.so.0.7200.0 
> gobject/libgobject-2.0.so.0.7200.0
>  COMMAND = /usr/bin/meson --internal gtkdoc [...]
>  description = Generating$ 
> docs/reference/gio/gdbus-object-manager-example/gdbus-object-manager-example-doc$
>  with$ a$ custom$ command
> 
> build gdbus-object-manager-example-doc: phony  | 
> docs/reference/gio/gdbus-object-manager-example/gdbus-object-manager-example-decl.txt
> ----8<----
> 
> After upgrading Meson to 0.62.0-1, the dependencies have gone missing:
> 
> ----8<----
> build 
> docs/reference/gio/gdbus-object-manager-example/gdbus-object-manager-example-decl.txt:
>  CUSTOM_COMMAND  | PHONY
>  COMMAND = /usr/bin/meson --internal gtkdoc [...]
>  description = Generating$ 
> docs/reference/gio/gdbus-object-manager-example/gdbus-object-manager-example-doc$
>  with$ a$ custom$ command
> 
> build gdbus-object-manager-example-doc: phony  | 
> docs/reference/gio/gdbus-object-manager-example/gdbus-object-manager-example-decl.txt
> ----8<----
> 
> This results in a sufficiently-parallel build trying to build this
> documentation before libgio has been linked, causing a build failure.
> 
> Lucas: If this analysis is correct, lots of other gtk-doc-using libraries
> will have similar build failures, which aren't necessarily useful to report
> separately.

The only other package that fails similarly (that I could identify) is
gulkan. Bug #1008383 Cced.

Lucas

Reply via email to