#1115954 gnome-remote-desktop: FTBFS: /usr/lib/x86_64-linux-gnu/pkgconfig/../../../include/freerdp3/freerdp/freerdp.h:25:10: fatal error: winpr/stream.h: No such file or directory

#1115954#5
Date:
2025-09-22 12:18:20 UTC
From:
To:
Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build.


Note: This one seems some kind of Makefile bug, so maybe --max-parallel=1
(until upstream has a fix) would help here.


Below you will find how the build ends (probably the most relevant part,
but not necessarily). If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202509/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:gnome-remote-desktop, so that this is still
visible in the BTS web page for this package.

Thanks.
--------------------------------------------------------------------------------
[...]
[115/206] cc -Isrc/grdctl.p -Isrc -I../src -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/libsecret-1 -I/usr/include/tss2 -I/usr/lib/x86_64-linux-gnu/pkgconfig/../../../include/freerdp3/ -I/usr/include/polkit-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/grdctl.p/grd-debug.c.o -MF src/grdctl.p/grd-debug.c.o.d -o src/grdctl.p/grd-debug.c.o -c ../src/grd-debug.c
[116/206] cc -Isrc/grdctl.p -Isrc -I../src -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/libsecret-1 -I/usr/include/tss2 -I/usr/lib/x86_64-linux-gnu/pkgconfig/../../../include/freerdp3/ -I/usr/include/polkit-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/grdctl.p/grd-ctl.c.o -MF src/grdctl.p/grd-ctl.c.o.d -o src/grdctl.p/grd-ctl.c.o -c ../src/grd-ctl.c
[117/206] cc -Isrc/grdctl.p -Isrc -I../src -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/libsecret-1 -I/usr/include/tss2 -I/usr/lib/x86_64-linux-gnu/pkgconfig/../../../include/freerdp3/ -I/usr/include/polkit-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/grdctl.p/grd-settings.c.o -MF src/grdctl.p/grd-settings.c.o.d -o src/grdctl.p/grd-settings.c.o -c ../src/grd-settings.c
FAILED: src/grdctl.p/grd-settings.c.o
cc -Isrc/grdctl.p -Isrc -I../src -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/libsecret-1 -I/usr/include/tss2 -I/usr/lib/x86_64-linux-gnu/pkgconfig/../../../include/freerdp3/ -I/usr/include/polkit-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/grdctl.p/grd-settings.c.o -MF src/grdctl.p/grd-settings.c.o.d -o src/grdctl.p/grd-settings.c.o -c ../src/grd-settings.c
In file included from ../src/grd-settings.c:28:
/usr/lib/x86_64-linux-gnu/pkgconfig/../../../include/freerdp3/freerdp/freerdp.h:25:10: fatal error: winpr/stream.h: No such file or directory
   25 | #include <winpr/stream.h>
      |          ^~~~~~~~~~~~~~~~
compilation terminated.
[118/206] cc -Isrc/grdctl.p -Isrc -I../src -I. -I.. -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/sysprof-6 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/libsecret-1 -I/usr/include/tss2 -I/usr/lib/x86_64-linux-gnu/pkgconfig/../../../include/freerdp3/ -I/usr/include/polkit-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -D_GNU_SOURCE -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -pthread -MD -MQ src/grdctl.p/grd-settings-system.c.o -MF src/grdctl.p/grd-settings-system.c.o.d -o src/grdctl.p/grd-settings-system.c.o -c ../src/grd-settings-system.c
ninja: build stopped: subcommand failed.
dh_auto_build: error: cd obj-x86_64-linux-gnu && LC_ALL=C.UTF-8 ninja -j2 -v returned exit code 1
make: *** [debian/rules:9: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

#1115954#10
Date:
2025-09-22 13:44:46 UTC
From:
To:
Is there a reason you say that, that isn't visible in the part of the
log that you quoted?

gnome-remote-desktop doesn't have a Makefile, so it seems unlikely to
have a Makefile bug! (But it could have a bug in its Meson build system,
which is analogous).

To me, this looks like the root cause is more likely to be that
freerdp3-dev requires libwinpr3-dev (which it does have as a Depends)
by #include'ing files from it, but doesn't list winpr3
in its Requires or Requires.private (or -I/usr/include/winpr3 in its
Cflags or Cflags.private) to represent that fact. freerdp3 3.17.2 was
uploaded recently, so this might be a regression in that version?

If that theory is correct then gnome-remote-desktop could work around it
by explicitly checking for winpr3 as a dependency (and therefore getting
the -I flags for winpr3 onto its compiler command-line), but the real
solution would presumably be in libwinpr3-dev.

     smcv

#1115954#15
Date:
2025-09-22 14:10:21 UTC
From:
To:
When I reported this I had a bunch of failed build logs on systems with 2 CPUs,
and none on systems with only 1 CPU. This behavior happens often when there
is a Makefile bug (or analogous).

However, looking closely, I see that the build logs were not created
in the same date, so my initial assumption could well be wrong.

I'm going to retry several times to be sure. Thanks for asking.

Yes, I really meant "whatever the analogous thing is for whatever the
build system is". (I expected my abuse of language would be
understood, sorry that it was not).

Thanks.

#1115954#20
Date:
2025-09-22 14:14:19 UTC
From:
To:
Hi.

Tried a lot of times.

This happens all the time in unstable right now, regardless
of the machine, and it does not happen at all in forky.

(So, it definitely does not seem a makefile-type bug, thanks again
for asking).

Thanks.

#1115954#25
Date:
2025-09-23 11:01:27 UTC
From:
To:
Control: reassign -1 freerdp3-dev 3.17.2+dfsg-2
Control: affects -1 + src:gnome-remote-desktop

This might be fixed by:

freerdp3 (3.17.2+dfsg-3) unstable; urgency=medium

   * cmake-pkg-config-properly-set-requires-fields.patch

I'm trying a rebuild, and if successful I'll close this bug report.

     smcv

#1115954#38
Date:
2025-09-23 11:08:40 UTC
From:
To:
Hmm, but it failed for me yesterday, and the package you mention is
three days old in unstable.

So, if successful please follow this part of my bug report:

Thanks.

#1115954#43
Date:
2025-09-23 11:19:01 UTC
From:
To:
Ok, yes, it might be fixed by such version.

But if you are trying a rebuild in unstable, you'll have to wait until
the mirror sync of 14:00 UTC, because the binaries will not be
available in unstable until then:

https://buildd.debian.org/status/package.php?p=freerdp3

(This explains why my rebuild from yesterday was still not successful)

Thanks.

#1115954#48
Date:
2025-09-23 12:19:23 UTC
From:
To:
Version: 3.17.2+dfsg-3

Without using incoming.debian.org (so that I still get
freerdp3-dev_3.17.2+dfsg-2), I can reproduce the build failure, with the
same symptom you quoted.

Then I used sbuild with incoming.debian.org and
--extra-depends='freerdp3-dev (>= 3.17.2+dfsg-3)' to install the new 
freerdp3-dev, and *that* build was successful.

So this seems to have been a regression caused by either freerdp3-dev
3.17.2+dfsg-1 (not tested) or 3.17.2+dfsg-2 (confirmed to have the
regression), which was fixed in 3.17.2+dfsg-3, unless evidence to the
contrary is found after 3.17.2+dfsg-3 reaches the archive.

     smcv