Package: src:freerdp3
Version: 3.13.0+dfsg-1
Severity: serious
Tags: ftbfs trixie sid patch

Dear maintainer:

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

[ Note: see patch at the end ]

--------------------------------------------------------------------------------
[...]
[ 78%] Building C object 
client/common/CMakeFiles/freerdp-client.dir/__/__/channels/client/addin.c.o
cd /<<PKGBUILDDIR>>/debian/testtmp/client/common && /usr/bin/cc 
-DFREERDP_EXPORTS -DNONAMELESSUNION -DWINPR_TIMEZONE_FILE=\"/etc/timezone\" 
-DWITH_FREERDP_3x_DEPRECATED -DWITH_FUSE -DWITH_OPENSSL 
-DWITH_SMARTCARD_EMULATE -DWITH_VAAPI_H264_ENCODING -D_FILE_OFFSET_BITS=64 
-Dfreerdp_client_EXPORTS -I/<<PKGBUILDDIR>>/winpr/include 
-I/<<PKGBUILDDIR>>/debian/testtmp/winpr/include 
-I/<<PKGBUILDDIR>>/debian/testtmp -I/<<PKGBUILDDIR>>/debian/testtmp/include 
-I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/debian/testtmp/channels/client 
-I/<<PKGBUILDDIR>>/channels/client -isystem /usr/include/fuse3 -isystem 
/usr/include/mit-krb5 -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 -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 
-fvisibility=hidden -fno-omit-frame-pointer -Wredundant-decls 
-Wimplicit-function-declaration -fvisibility=hidden -O2 -g
  -DNDEBUG -std=gnu11 -flto=auto -fno-fat-lto-objects -fPIC 
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fmacro-prefix-map=/<<PKGBUILDDIR>>=. 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fdebug-prefix-map=/<<PKGBUILDDIR>>/debian/testtmp=./build 
-fmacro-prefix-map=/<<PKGBUILDDIR>>/debian/testtmp=./build 
-ffile-prefix-map=/<<PKGBUILDDIR>>/debian/testtmp=./build -isystem 
/usr/include/mit-krb5 -MD -MT 
client/common/CMakeFiles/freerdp-client.dir/__/__/channels/client/addin.c.o -MF 
CMakeFiles/freerdp-client.dir/__/__/channels/client/addin.c.o.d -o 
CMakeFiles/freerdp-client.dir/__/__/channels/client/addin.c.o -c 
/<<PKGBUILDDIR>>/channels/client/addin.c
In file included from /<<PKGBUILDDIR>>/include/freerdp/client/rdpgfx.h:28,
                 from /<<PKGBUILDDIR>>/include/freerdp/gdi/gdi.h:35,
                 from /<<PKGBUILDDIR>>/include/freerdp/freerdp.h:35,
                 from /<<PKGBUILDDIR>>/channels/client/addin.c:33:
/<<PKGBUILDDIR>>/include/freerdp/codecs.h:93:9: warning: ‘codecs_free’ is 
deprecated: [since 3.6.0] Use freerdp_client_codecs_free 
[-Wdeprecated-declarations]
   93 |         WINPR_DEPRECATED_VAR("[since 3.6.0] Use 
freerdp_client_codecs_new",
      |         ^~~~~~~~~~~~~~~~~~~~
In file included from /<<PKGBUILDDIR>>/winpr/include/winpr/assert-api.h:27,
                 from /<<PKGBUILDDIR>>/winpr/include/winpr/cast.h:24,
                 from /<<PKGBUILDDIR>>/winpr/include/winpr/crt.h:27,
                 from /<<PKGBUILDDIR>>/channels/client/addin.c:24:
/<<PKGBUILDDIR>>/include/freerdp/codecs.h:91:47: note: declared here
   91 |                              FREERDP_API void codecs_free(rdpCodecs* 
codecs));
      |                                               ^~~~~~~~~~~
/<<PKGBUILDDIR>>/winpr/include/winpr/platform.h:497:41: note: in definition of 
macro ‘WINPR_DEPRECATED_VAR’
  497 | #define WINPR_DEPRECATED_VAR(text, obj) obj 
__attribute__((deprecated(text)))
      |                                         ^~~
[ 78%] Building C object 
client/common/CMakeFiles/freerdp-client.dir/__/__/channels/client/generic_dynvc.c.o
cd /<<PKGBUILDDIR>>/debian/testtmp/client/common && /usr/bin/cc 
-DFREERDP_EXPORTS -DNONAMELESSUNION -DWINPR_TIMEZONE_FILE=\"/etc/timezone\" 
-DWITH_FREERDP_3x_DEPRECATED -DWITH_FUSE -DWITH_OPENSSL 
-DWITH_SMARTCARD_EMULATE -DWITH_VAAPI_H264_ENCODING -D_FILE_OFFSET_BITS=64 
-Dfreerdp_client_EXPORTS -I/<<PKGBUILDDIR>>/winpr/include 
-I/<<PKGBUILDDIR>>/debian/testtmp/winpr/include 
-I/<<PKGBUILDDIR>>/debian/testtmp -I/<<PKGBUILDDIR>>/debian/testtmp/include 
-I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/debian/testtmp/channels/client 
-I/<<PKGBUILDDIR>>/channels/client -isystem /usr/include/fuse3 -isystem 
/usr/include/mit-krb5 -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 -DNDEBUG -Wdate-time -D_FORTIFY_SOURCE=2 
-fvisibility=hidden -fno-omit-frame-pointer -Wredundant-decls 
-Wimplicit-function-declaration -fvisibility=hidden -O2 -g
  -DNDEBUG -std=gnu11 -flto=auto -fno-fat-lto-objects -fPIC 
-fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fmacro-prefix-map=/<<PKGBUILDDIR>>=. 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. 
-fdebug-prefix-map=/<<PKGBUILDDIR>>/debian/testtmp=./build 
-fmacro-prefix-map=/<<PKGBUILDDIR>>/debian/testtmp=./build 
-ffile-prefix-map=/<<PKGBUILDDIR>>/debian/testtmp=./build -isystem 
/usr/include/mit-krb5 -MD -MT 
client/common/CMakeFiles/freerdp-client.dir/__/__/channels/client/generic_dynvc.c.o
 -MF CMakeFiles/freerdp-client.dir/__/__/channels/client/generic_dynvc.c.o.d -o 
CMakeFiles/freerdp-client.dir/__/__/channels/client/generic_dynvc.c.o -c 
/<<PKGBUILDDIR>>/channels/client/generic_dynvc.c
make[4]: *** No rule to make target 
'channels/rdpear/common/CMakeFiles/rdpear-common-obj.dir/ndr.c.o', needed by 
'client/common/libfreerdp-client3.so.3.13.0'.  Stop.
make[4]: Leaving directory '/<<PKGBUILDDIR>>/debian/testtmp'
make[3]: *** [CMakeFiles/Makefile2:9657: 
client/common/CMakeFiles/freerdp-client.dir/all] Error 2
make[3]: Leaving directory '/<<PKGBUILDDIR>>/debian/testtmp'
make[2]: *** [Makefile:169: all] Error 2
make[2]: Leaving directory '/<<PKGBUILDDIR>>/debian/testtmp'
dh_auto_build: error: cd debian/testtmp && make -j1 "INSTALL=install 
--strip-program=true" VERBOSE=1 returned exit code 2
make[1]: *** [debian/rules:144: execute_after_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:121: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

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

The following patch extracted from upstream fixes the build problem:

diff -Nru freerdp3-3.13.0+dfsg/debian/changelog 
freerdp3-3.13.0+dfsg/debian/changelog
--- freerdp3-3.13.0+dfsg/debian/changelog       2025-03-06 09:03:07.000000000 
+0000
+++ freerdp3-3.13.0+dfsg/debian/changelog       2025-03-06 23:46:00.000000000 
+0000
@@ -1,3 +1,9 @@
+freerdp3 (3.13.0+dfsg-2) unstable; urgency=medium
+
+  * Fix library build.
+
+ -- Michael Tokarev <m...@tls.msk.ru>  Fri, 07 Mar 2025 00:46:00 +0100
+
 freerdp3 (3.13.0+dfsg-1) unstable; urgency=medium
 
   * new upstream release
diff -Nru 
freerdp3-3.13.0+dfsg/debian/patches/channels-rdpear-fix-library-build.patch 
freerdp3-3.13.0+dfsg/debian/patches/channels-rdpear-fix-library-build.patch
--- freerdp3-3.13.0+dfsg/debian/patches/channels-rdpear-fix-library-build.patch 
1970-01-01 00:00:00.000000000 +0000
+++ freerdp3-3.13.0+dfsg/debian/patches/channels-rdpear-fix-library-build.patch 
2025-03-06 23:46:00.000000000 +0000
@@ -0,0 +1,32 @@
+From ec4935073f12881b7710a72158b90fb70791c71d Mon Sep 17 00:00:00 2001
+From: akallabeth <akallab...@posteo.net>
+Date: Thu, 6 Mar 2025 13:20:31 +0100
+Subject: [PATCH] [channels,rdpear] fix library build
+
+---
+ channels/rdpear/common/CMakeLists.txt | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+--- a/channels/rdpear/common/CMakeLists.txt
++++ b/channels/rdpear/common/CMakeLists.txt
+@@ -17,7 +17,7 @@
+ 
+ add_library(rdpear-common INTERFACE)
+ add_library(
+-  rdpear-common-obj OBJECT ndr.c rdpear_asn1.c rdpear_common.c 
rdpear-common/ndr.h rdpear-common/rdpear_asn1.h
++  rdpear-common-obj STATIC ndr.c rdpear_asn1.c rdpear_common.c 
rdpear-common/ndr.h rdpear-common/rdpear_asn1.h
+                            rdpear-common/rdpear_common.h
+ )
+ 
+@@ -28,9 +28,10 @@
+ target_include_directories(rdpear-common-obj PRIVATE 
${CMAKE_CURRENT_SOURCE_DIR})
+ target_include_directories(rdpear-common-obj SYSTEM PRIVATE 
${KRB5_INCLUDE_DIRS})
+ target_link_directories(rdpear-common INTERFACE ${KRB5_LIBRARY_DIRS})
+-target_link_libraries(rdpear-common INTERFACE ${KRB5_LIBRARIES} 
$<TARGET_OBJECTS:rdpear-common-obj>)
++target_link_libraries(rdpear-common INTERFACE ${KRB5_LIBRARIES} 
rdpear-common-obj)
+ 
+ channel_install(rdpear-common ${FREERDP_ADDIN_PATH} "FreeRDPTargets")
++channel_install(rdpear-common-obj ${FREERDP_ADDIN_PATH} "FreeRDPTargets")
+ 
+ if(BUILD_TESTING_INTERNAL OR BUILD_TESTING)
+   add_subdirectory(test)
diff -Nru freerdp3-3.13.0+dfsg/debian/patches/series 
freerdp3-3.13.0+dfsg/debian/patches/series
--- freerdp3-3.13.0+dfsg/debian/patches/series  2025-03-06 08:52:34.000000000 
+0000
+++ freerdp3-3.13.0+dfsg/debian/patches/series  2025-03-06 23:46:00.000000000 
+0000
@@ -0,0 +1 @@
+channels-rdpear-fix-library-build.patch


Note 1: To reproduce the build failure please try GRUB_CMDLINE_LINUX="nr_cpus=1"
as that way the problem seems to happen 100% of the time. If that does not work
please contact me privately and I will gladly provide a VM to reproduce.

Note 2: After fixing the build problem please consider fixing the failing test
that will happen afterwards as well, as it also fails 100% of the time here.

Thanks.

Reply via email to