[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#983843: xrdp FTBFS on several architectures



The kfreebsd variant fails are down to FUSE_USE_VERSION not being defined for a header file that uses types from fuse_lowlevel.h

I've put together a patch to fix this which moves the definition of FUSE_USE_VERSION from a C file to Makefile.am:-

diff --git a/sesman/chansrv/Makefile.am b/sesman/chansrv/Makefile.am
index 767ac27b..1a57a563 100644
--- a/sesman/chansrv/Makefile.am
+++ b/sesman/chansrv/Makefile.am
@@ -18,7 +18,7 @@ endif
 CHANSRV_EXTRA_LIBS =

 if XRDP_FUSE
-AM_CPPFLAGS += -DXRDP_FUSE $(FUSE_CFLAGS)
+AM_CPPFLAGS += -DXRDP_FUSE $(FUSE_CFLAGS) -DFUSE_USE_VERSION=26
 CHANSRV_EXTRA_LIBS += $(FUSE_LIBS)
 endif

diff --git a/sesman/chansrv/chansrv_fuse.c b/sesman/chansrv/chansrv_fuse.c
index f29ea0ed..74ac06d1 100644
--- a/sesman/chansrv/chansrv_fuse.c
+++ b/sesman/chansrv/chansrv_fuse.c
@@ -130,7 +130,12 @@ void xfuse_devredir_cb_file_close(struct state_close *fip)
 ** **
 ******************************************************************************/

-#define FUSE_USE_VERSION 26
+/* FUSE_USE_VERSION must be defined globally for other parts of
+ * xrdp-chansrv which include <fuse_lowlevel.h> for definitions. Check
+ * it's actually defined here */
+#ifndef FUSE_USE_VERSION
+#error Define FUSE_USE_VERSION in the make system and recompile
+#endif

 #include <fuse_lowlevel.h>
 #include <stdio.h>

I can propose this for upstream if you like (I'm a project maintainer), but we haven't tested the FUSE stuff against a FreeBSD kernel.


Reply to: