Source: xrdp
Version: 0.10.5-3
Severity: important
Tags: ftbfs lfs patch
User: [email protected]
Usertags: i386
Affects: -1 src:xorgxrdp


Dear Maintainer,


xrdp FTBFS on i386 due to missing define

   -D_FILE_OFFSET_BITS=64

from CPPFLAGS, finally causing this error

   /usr/include/fuse3/fuse_common.h:1155:1: error: static assertion failed: 
"fuse: off_t must be 64bit"
    1155 | _Static_assert(sizeof(off_t) == 8, "fuse: off_t must be 64bit");
         | ^~~~~~~~~~~~~~
   
during build attempts.


Comparing build logs for i386 and armhf reveals that defines

   -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64

are missing from i386 while being set for armhf.


One can fix this problem by configuring those defines per OUR_CPPFLAGS
in debian/rules, however that would be a mere workaround. Please find
the respective patch attached nonetheless.


Sven
 


-- System Information:
Debian Release: forky/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.19.8+deb14-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8),
LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

-- 
GPG Fingerprint
3DF5 E8AA 43FC 9FDF D086 F195 ADF5 0EDA F8AD D585
diff --git a/debian/rules b/debian/rules
index 40264213..a2dfa20a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,7 +12,12 @@ export LC_ALL
 shellescape='$(subst ','\'',$(1))'
 shellexport=$(1)=$(call shellescape,${$(1)})
 
+ifeq (i386,${DEB_HOST_ARCH})
+# Workaround adding defines set for armhf but missing from i386 builds
+OUR_CPPFLAGS:=		-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64
+else
 OUR_CPPFLAGS:=
+endif
 OUR_CFLAGS:=
 OUR_LDFLAGS:=		-Wl,--as-needed
 

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to