[Bug 280148] net/glusterfs fails to build on Poudriere with linker error during Build Phase

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 06 Apr 2025 02:13:19 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=280148

Jesús Daniel Colmenares Oviedo <DtxdF@disroot.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |DtxdF@disroot.org

--- Comment #8 from Jesús Daniel Colmenares Oviedo <DtxdF@disroot.org> ---
I have tried to use GlusterFS 11.1 and although it builds correctly, it fails
to run glusterd:

```
[2025-04-06 00:50:52.798794 +0000] I [MSGID: 100030] [glusterfsd.c:2874:main]
0-glusterd: Started running version [{arg=glusterd}, {version=11.1},
{cmdlinestr=glusterd --debug}]
[2025-04-06 00:50:52.798886 +0000] I [glusterfsd.c:2563:daemonize] 0-glusterfs:
Pid of current running process is 53229
[2025-04-06 00:50:52.798899 +0000] D
[logging.c:1681:__gf_log_inject_timer_event] 0-logging-infra: Starting timer
now. Timeout = 120, current buf size = 5
[2025-04-06 00:50:52.799463 +0000] D [gf-io.c:507:gf_io_run] 0-io: [MSGID:DBG]
Trying I/O engine <{engine='legacy'}>
[2025-04-06 00:50:52.799509 +0000] D [gf-io.c:512:gf_io_run] 0-io: [MSGID:DBG]
I/O engine is ready <{engine='legacy'}>
[2025-04-06 00:50:52.799690 +0000] D [MSGID: 0] [glusterfsd.c:1511:get_volfp]
0-glusterfsd: loading volume file /usr/local/etc/glusterfs/glusterd.vol
[2025-04-06 00:50:52.801100 +0000] I [MSGID: 0]
[glusterfsd.c:1598:volfile_init] 0-glusterfsd-mgmt: volume not found,
continuing with init
[2025-04-06 00:50:52.804943 +0000] I [MSGID: 106479] [glusterd.c:1661:init]
0-management: Using /var/db/glusterd as working directory
[2025-04-06 00:50:52.804988 +0000] I [MSGID: 106479] [glusterd.c:1667:init]
0-management: Using /var/run/gluster as pid file working directory
[2025-04-06 00:50:52.807722 +0000] D [MSGID: 0]
[glusterd.c:466:glusterd_rpcsvc_options_build] 0-glusterd: listen-backlog
value: 1024
[2025-04-06 00:50:52.807804 +0000] D [rpcsvc.c:2848:rpcsvc_init] 0-rpc-service:
RPC service inited.
[2025-04-06 00:50:52.808002 +0000] D [rpcsvc.c:2357:rpcsvc_program_register]
0-rpc-service: New program registered: GF-DUMP, Num: 123451501, Ver: 1, Port: 0
[2025-04-06 00:50:52.808040 +0000] D [rpc-transport.c:262:rpc_transport_load]
0-rpc-transport: attempt to load file
/usr/local/lib/glusterfs/11.1/rpc-transport/socket.so
[2025-04-06 00:50:52.809220 +0000] D [socket.c:4389:socket_init]
0-socket.management: Configured transport.tcp-user-timeout=42
[2025-04-06 00:50:52.809255 +0000] D [socket.c:4409:socket_init]
0-socket.management: Reconfigured transport.keepalivecnt=9
[2025-04-06 00:50:52.809267 +0000] D [name.c:707:server_fill_address_family]
0-socket.management: option address-family not specified, defaulting to inet
[2025-04-06 00:50:52.809299 +0000] I [socket.c:975:__socket_server_bind]
0-socket.management: process started listening on port (24007)
[2025-04-06 00:50:52.809796 +0000] D [rpcsvc.c:2357:rpcsvc_program_register]
0-rpc-service: New program registered: GlusterD svc peer, Num: 1238437, Ver: 2,
Port: 0
[2025-04-06 00:50:52.809952 +0000] D [rpcsvc.c:2357:rpcsvc_program_register]
0-rpc-service: New program registered: GlusterD svc cli read-only, Num:
1238463, Ver: 2, Port: 0
[2025-04-06 00:50:52.810102 +0000] D [rpcsvc.c:2357:rpcsvc_program_register]
0-rpc-service: New program registered: GlusterD svc mgmt, Num: 1238433, Ver: 2,
Port: 0
[2025-04-06 00:50:52.810281 +0000] D [rpcsvc.c:2357:rpcsvc_program_register]
0-rpc-service: New program registered: GlusterD svc mgmt v3, Num: 1238433, Ver:
3, Port: 0
[2025-04-06 00:50:52.810436 +0000] D [rpcsvc.c:2357:rpcsvc_program_register]
0-rpc-service: New program registered: Gluster Portmap, Num: 34123456, Ver: 1,
Port: 0
[2025-04-06 00:50:52.810618 +0000] D [rpcsvc.c:2357:rpcsvc_program_register]
0-rpc-service: New program registered: Gluster Handshake, Num: 14398633, Ver:
2, Port: 0
[2025-04-06 00:50:52.810769 +0000] D [rpcsvc.c:2357:rpcsvc_program_register]
0-rpc-service: New program registered: Gluster MGMT Handshake, Num: 1239873,
Ver: 1, Port: 0
[2025-04-06 00:50:52.810819 +0000] D [rpcsvc.c:2848:rpcsvc_init] 0-rpc-service:
RPC service inited.
[2025-04-06 00:50:52.810968 +0000] D [rpcsvc.c:2357:rpcsvc_program_register]
0-rpc-service: New program registered: GF-DUMP, Num: 123451501, Ver: 1, Port: 0
[2025-04-06 00:50:52.810978 +0000] D [rpc-transport.c:262:rpc_transport_load]
0-rpc-transport: attempt to load file
/usr/local/lib/glusterfs/11.1/rpc-transport/socket.so
[2025-04-06 00:50:52.811021 +0000] D [socket.c:4351:socket_init]
0-socket.management: disabling nodelay
[2025-04-06 00:50:52.811026 +0000] D [socket.c:4389:socket_init]
0-socket.management: Configured transport.tcp-user-timeout=42
[2025-04-06 00:50:52.811031 +0000] D [socket.c:4409:socket_init]
0-socket.management: Reconfigured transport.keepalivecnt=9
[2025-04-06 00:50:52.811062 +0000] I [socket.c:917:__socket_server_bind]
0-socket.management: closing (AF_UNIX) reuse check socket 12
[2025-04-06 00:50:52.811283 +0000] D [rpcsvc.c:2357:rpcsvc_program_register]
0-rpc-service: New program registered: GlusterD svc cli, Num: 1238463, Ver: 2,
Port: 0
[2025-04-06 00:50:52.811469 +0000] D [rpcsvc.c:2357:rpcsvc_program_register]
0-rpc-service: New program registered: Gluster Handshake (CLI Getspec), Num:
14398633, Ver: 2, Port: 0
[2025-04-06 00:50:52.811502 +0000] D [MSGID: 0]
[glusterd-utils.c:7787:glusterd_sm_tr_log_init] 0-glusterd: returning 0
[2025-04-06 00:50:52.811512 +0000] I [MSGID: 106059] [glusterd.c:1924:init]
0-management: max-port override: 60999
[2025-04-06 00:50:52.811518 +0000] D [MSGID: 0] [glusterd.c:1938:init]
0-management: cannot get run-with-valgrind value
[2025-04-06 00:50:52.813057 +0000] E [MSGID: 101031]
[store.c:461:gf_store_handle_retrieve] 0-: Path corresponding to
/var/db/glusterd/glusterd.info. [No such file or directory]
[2025-04-06 00:50:52.813103 +0000] D [MSGID: 0]
[store.c:466:gf_store_handle_retrieve] 0-: Returning -1
[2025-04-06 00:50:52.813110 +0000] D [MSGID: 0]
[glusterd-store.c:2148:glusterd_retrieve_op_version] 0-management: Unable to
get store handle!
[2025-04-06 00:50:52.813116 +0000] E [MSGID: 101031]
[store.c:461:gf_store_handle_retrieve] 0-: Path corresponding to
/var/db/glusterd/glusterd.info. [No such file or directory]
[2025-04-06 00:50:52.813122 +0000] D [MSGID: 0]
[store.c:466:gf_store_handle_retrieve] 0-: Returning -1
[2025-04-06 00:50:52.813126 +0000] D [MSGID: 0]
[glusterd-store.c:2261:glusterd_retrieve_uuid] 0-management: Unable to get
storehandle!
[2025-04-06 00:50:52.813131 +0000] D [MSGID: 0]
[glusterd-store.c:2282:glusterd_retrieve_uuid] 0-management: Returning -1
[2025-04-06 00:50:52.813136 +0000] I [MSGID: 106514]
[glusterd-store.c:2221:glusterd_restore_op_version] 0-management: Detected new
install. Setting op-version to maximum : 110000
[2025-04-06 00:50:52.813145 +0000] E [MSGID: 101031]
[store.c:461:gf_store_handle_retrieve] 0-: Path corresponding to
/var/db/glusterd/options. [No such file or directory]
[2025-04-06 00:50:52.813157 +0000] D [MSGID: 0]
[store.c:466:gf_store_handle_retrieve] 0-: Returning -1
[2025-04-06 00:50:52.813161 +0000] D [MSGID: 0]
[store.c:487:gf_store_handle_destroy] 0-: Returning 0
[2025-04-06 00:50:52.816705 +0000] D [MSGID: 0]
[store.c:446:gf_store_handle_new] 0-: Returning 0
[2025-04-06 00:50:52.816779 +0000] D [MSGID: 0]
[glusterd-store.c:690:_storeopts] 0-management: Storing in buffer for
volinfo:key= global-option-version, val=0
[2025-04-06 00:50:52.817279 +0000] D [MSGID: 0]
[store.c:400:gf_store_save_items] 0-management: returning: 0
[2025-04-06 00:50:52.817813 +0000] D [MSGID: 0]
[store.c:487:gf_store_handle_destroy] 0-: Returning 0
[2025-04-06 00:50:52.817891 +0000] D [MSGID: 0]
[glusterd-store.c:3649:glusterd_store_retrieve_volumes] 0-management: Returning
with 0
[2025-04-06 00:50:52.817944 +0000] D [MSGID: 0]
[glusterd-store.c:4722:glusterd_store_retrieve_peers] 0-management: Returning
with 0
[2025-04-06 00:50:52.817962 +0000] I [MSGID: 106194]
[glusterd-store.c:4042:glusterd_store_retrieve_missed_snaps_list] 0-management:
No missed snaps list.
[2025-04-06 00:50:52.817969 +0000] D [MSGID: 0]
[glusterd-store.c:4165:glusterd_store_retrieve_snaps] 0-management: Returning
with 0
[2025-04-06 00:50:52.817979 +0000] D [MSGID: 0]
[glusterd-store.c:4951:glusterd_restore] 0-management: Returning 0
[2025-04-06 00:50:52.817989 +0000] E [MSGID: 101031]
[store.c:461:gf_store_handle_retrieve] 0-: Path corresponding to
/var/db/glusterd/glusterd.upgrade. [No such file or directory]
[2025-04-06 00:50:52.817997 +0000] D [MSGID: 0]
[store.c:466:gf_store_handle_retrieve] 0-: Returning -1
[2025-04-06 00:50:52.818002 +0000] D [MSGID: 0]
[glusterd-store.c:2092:glusterd_retrieve_max_op_version] 0-management: Unable
to get store handle!
[2025-04-06 00:50:52.818009 +0000] I [glusterd.c:2065:init] 0-management:
Regenerating volfiles due to a max op-version mismatch or glusterd.upgrade file
not being present, op_version retrieved:0, max op_version: 110000
[2025-04-06 00:50:52.818754 +0000] D [MSGID: 0]
[store.c:446:gf_store_handle_new] 0-: Returning 0
[2025-04-06 00:50:52.819268 +0000] D [MSGID: 0]
[store.c:353:gf_store_save_value] 0-management: returning: 0
[2025-04-06 00:50:52.819822 +0000] D [MSGID: 0]
[store.c:487:gf_store_handle_destroy] 0-: Returning 0
[2025-04-06 00:50:52.819893 +0000] D [logging.c:1656:gf_log_flush_extra_msgs]
0-logging-infra: Log buffer size reduced. About to flush 5 extra log messages
[2025-04-06 00:50:52.819904 +0000] D [logging.c:1659:gf_log_flush_extra_msgs]
0-logging-infra: Just flushed 5 extra log messages
pending frames:
frame : type(0) op(0)
patchset: git://git.gluster.org/glusterfs.git
signal received: 10
time of crash:
2025-04-06 00:50:52 +0000
configuration details:
argp 1
backtrace 1
dlfcn 1
libpthread 1
extattr.h 1
st_atim.tv_nsec 1
st_atimespec.tv_nsec 1
package-string: glusterfs 11.1
0x8224cdb91 <_gf_log_callingfn+0x701> at /usr/local/lib/libglusterfs.so.0
0x8224d1727 <gf_print_trace+0x867> at /usr/local/lib/libglusterfs.so.0
0x8297ea410 <pthread_sigmask+0x540> at /lib/libthr.so.3
0x8297e99cb <pthread_setschedparam+0x84b> at /lib/libthr.so.3
0x8211ae2d3 <???> at ???
0x8224fe56b <synctask_new1+0x25b> at /usr/local/lib/libglusterfs.so.0
0x8224fe7af <synctask_new+0x1f> at /usr/local/lib/libglusterfs.so.0
0x833d2d7da <???> at /usr/local/lib/glusterfs/11.1/xlator/mgmt/glusterd.so
0x833cd9e44 <???> at /usr/local/lib/glusterfs/11.1/xlator/mgmt/glusterd.so
0x8224c81a3 <xlator_init+0x123> at /usr/local/lib/libglusterfs.so.0
0x8224f9f18 <glusterfs_graph_activate+0x188> at
/usr/local/lib/libglusterfs.so.0
0x20a8df <glusterfs_process_volfp+0xbf> at /usr/local/sbin/glusterd
0x20d73b <main+0x2d0b> at /usr/local/sbin/glusterd
0x20e8c8 <main+0x3e98> at /usr/local/sbin/glusterd
0x822533e61 <gf_async_init+0xa91> at /usr/local/lib/libglusterfs.so.0
0x822535832 <gf_io_run+0x1952> at /usr/local/lib/libglusterfs.so.0
0x8225345f5 <gf_io_run+0x715> at /usr/local/lib/libglusterfs.so.0
0x82253412a <gf_io_run+0x24a> at /usr/local/lib/libglusterfs.so.0
0x20b30e <main+0x8de> at /usr/local/sbin/glusterd
0x82d696c3a <__libc_start1+0x12a> at /lib/libc.so.7
---------
Bus error (core dumped)
```

glusterfs-11.1.patch:

```
diff --git a/net/glusterfs/Makefile b/net/glusterfs/Makefile
index e9cd04424e2a..e88dfe4b3603 100644
--- a/net/glusterfs/Makefile
+++ b/net/glusterfs/Makefile
@@ -1,6 +1,5 @@
 PORTNAME=      glusterfs
-PORTVERSION=   8.4
-PORTREVISION=  3
+PORTVERSION=   11.1
 CATEGORIES=    net
 MASTER_SITES=  http://bits.gluster.org/pub/gluster/glusterfs/src/

@@ -13,17 +12,13 @@ LICENSE_COMB=       dual
 LICENSE_FILE_GPLv2=    ${WRKSRC}/COPYING-GPLV2
 LICENSE_FILE_LGPL3+ =  ${WRKSRC}/COPYING-LGPLV3

-BROKEN=                Fails to build, ld: error: version script assignment of
'global' to symbol 'client_dump' failed: symbol not defined
-DEPRECATE=     Outdated and unsupported upstream, current version in tree was
released in 2021 while upstream is still active and is at 10.x
-EXPIRATION_DATE=2025-01-31
-#BROKEN_SSL=   libressl
-
 BUILD_DEPENDS= bash:shells/bash
 RUN_DEPENDS=   bash:shells/bash
 LIB_DEPENDS=   libargp.so:devel/argp-standalone \
                libcurl.so:ftp/curl \
                liburcu-bp.so:sysutils/liburcu \
-               libuuid.so:misc/e2fsprogs-libuuid
+               libuuid.so:misc/e2fsprogs-libuuid \
+               libtcmalloc.so:devel/google-perftools

 USES=          autoreconf bison compiler:c11 cpe gettext gnome libtool
pkgconfig python \
                readline shebangfix sqlite ssl
@@ -73,6 +68,7 @@ CONFIGURE_ARGS=       --disable-epoll \
                ac_cv_lib_aio_io_setup=no
 CPPFLAGS+=     -I"${LOCALBASE}/include"
 LDFLAGS+=      -L"${LOCALBASE}/lib" -largp
+LDFLAGS+=      -Wl,--undefined-version
 INSTALL_TARGET=        install-strip
 PLIST_SUB=     GLUSTERLIBDIR="lib/${PORTNAME}" \
                PORTVERSION="${PORTVERSION}"
diff --git a/net/glusterfs/distinfo b/net/glusterfs/distinfo
index 3cf7adc95da4..4485243dc47c 100644
--- a/net/glusterfs/distinfo
+++ b/net/glusterfs/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1617918166
-SHA256 (glusterfs-8.4.tar.gz) =
5e0430fabce44c2b461e1d3460d723a746f2b398292282a9095406fa4f6306df
-SIZE (glusterfs-8.4.tar.gz) = 7833014
+TIMESTAMP = 1743835094
+SHA256 (glusterfs-11.1.tar.gz) =
6a31b8450d02cd12f47f4571c031e9d6b8705279a0e8970ae9a05e1c87dffb76
+SIZE (glusterfs-11.1.tar.gz) = 8365581
diff --git a/net/glusterfs/files/patch-configure.ac
b/net/glusterfs/files/patch-configure.ac
deleted file mode 100644
index 4335283808e1..000000000000
--- a/net/glusterfs/files/patch-configure.ac
+++ /dev/null
@@ -1,53 +0,0 @@
---- configure.ac.orig  2020-07-06 01:22:37 UTC
-+++ configure.ac
-@@ -351,7 +351,14 @@ if test "x$ac_cv_file__etc_centos_release" = "xyes"; t
- fi
- 
- dnl On some distributions '-ldl' isn't automatically added to LIBS
--AC_CHECK_LIB([dl], [dlopen], [LIB_DL=-ldl])
-+case $host_os in
-+    *freebsd*)
-+        #do nothing
-+        ;;
-+    *)
-+        AC_CHECK_LIB([dl], [dlopen], [LIB_DL=-ldl])
-+        ;;
-+esac
- AC_SUBST(LIB_DL)
- 
- AC_ARG_ENABLE([privport_tracking],
-@@ -731,6 +738,9 @@ AC_ARG_ENABLE([georeplication],
- 
- BUILD_SYNCDAEMON=no
- case $host_os in
-+     freebsd*)
-+#do nothing
-+       ;;
-      linux*)
- #do nothing
-        ;;
-@@ -1207,10 +1217,6 @@ case $host_os in
-         ;;
-      *freebsd*)
-         GF_HOST_OS="GF_BSD_HOST_OS"
--        GF_CFLAGS="${GF_CFLAGS} -O0"
--        GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_BASENAME"
--        GF_CFLAGS="${GF_CFLAGS} -DTHREAD_UNSAFE_DIRNAME"
--        GF_CFLAGS="${GF_CFLAGS} -D_LIBGEN_H_"
-         GF_CFLAGS="${GF_CFLAGS} -DO_DSYNC=0"
-         GF_CFLAGS="${GF_CFLAGS} -Dxdr_quad_t=xdr_longlong_t"
-         GF_CFLAGS="${GF_CFLAGS} -Dxdr_u_quad_t=xdr_u_longlong_t"
-@@ -1508,6 +1514,13 @@ AC_SUBST(AM_LIBTOOLFLAGS)
- AC_SUBST(GF_NO_UNDEFINED)
- AC_SUBST(GF_XLATOR_DEFAULT_LDFLAGS)
- AC_SUBST(GF_XLATOR_LDFLAGS)
-+AC_SUBST(GF_XLATOR_MGNT_LIBADD)
-+
-+case $host_os in
-+     *freebsd*)
-+        GF_XLATOR_MGNT_LIBADD="-lutil -lprocstat"
-+        ;;
-+esac
- 
- CONTRIBDIR='$(top_srcdir)/contrib'
- AC_SUBST(CONTRIBDIR)
diff --git a/net/glusterfs/files/patch-contrib_fuse-lib_mount.c
b/net/glusterfs/files/patch-contrib_fuse-lib_mount.c
deleted file mode 100644
index ac27edd4a418..000000000000
--- a/net/glusterfs/files/patch-contrib_fuse-lib_mount.c
+++ /dev/null
@@ -1,10 +0,0 @@
---- contrib/fuse-lib/mount.c.orig      2020-07-06 01:22:37 UTC
-+++ contrib/fuse-lib/mount.c
-@@ -390,6 +390,7 @@ fuse_mount_sys (const char *mountpoint, char *fsname,
-         build_iovec (&iov, &iovlen, "from", "/dev/fuse", -1);
-         build_iovec (&iov, &iovlen, "volname", source, -1);
-         build_iovec (&iov, &iovlen, "fd", fdstr, -1);
-+        build_iovec (&iov, &iovlen, "allow_other", NULL, -1);
-         ret = nmount (iov, iovlen, mountflags);
- #else
-         ret = mount (source, mountpoint, fstype, mountflags,
diff --git a/net/glusterfs/files/patch-libglusterfs_src_Makefile.am
b/net/glusterfs/files/patch-libglusterfs_src_Makefile.am
deleted file mode 100644
index 6f0c52dfc98f..000000000000
--- a/net/glusterfs/files/patch-libglusterfs_src_Makefile.am
+++ /dev/null
@@ -1,12 +0,0 @@
---- libglusterfs/src/Makefile.am.orig  2020-07-06 01:22:37 UTC
-+++ libglusterfs/src/Makefile.am
-@@ -12,7 +12,8 @@ libglusterfs_la_CPPFLAGS = $(GF_CPPFLAGS) -D__USE_FILE
-       -DSBIN_DIR=\"$(sbindir)\" -I$(CONTRIBDIR)/timer-wheel \
-       -I$(CONTRIBDIR)/xxhash
- 
--libglusterfs_la_LIBADD = $(ZLIB_LIBS) $(MATH_LIB) $(UUID_LIBS)
-+libglusterfs_la_LIBADD = $(ZLIB_LIBS) $(MATH_LIB) $(UUID_LIBS) $(LIB_DL) \
-+      $(URCU_LIBS) $(URCU_CDS_LIBS)
- libglusterfs_la_LDFLAGS = -version-info $(LIBGLUSTERFS_LT_VERSION)
$(GF_LDFLAGS) \
-       -export-symbols $(top_srcdir)/libglusterfs/src/libglusterfs.sym
- 
diff --git a/net/glusterfs/files/patch-libglusterfs_src_common-utils.c
b/net/glusterfs/files/patch-libglusterfs_src_common-utils.c
deleted file mode 100644
index 9220c8eb3b7c..000000000000
--- a/net/glusterfs/files/patch-libglusterfs_src_common-utils.c
+++ /dev/null
@@ -1,34 +0,0 @@
---- libglusterfs/src/common-utils.c.orig       2020-07-06 01:22:37 UTC
-+++ libglusterfs/src/common-utils.c
-@@ -3113,7 +3113,7 @@ get_mem_size()
-     memsize = page_size * num_pages;
- #endif
- 
--#if defined GF_DARWIN_HOST_OS
-+#if defined GF_DARWIN_HOST_OS || defined __FreeBSD__
- 
-     size_t len = sizeof(memsize);
-     int name[] = {CTL_HW, HW_PHYSMEM};
-@@ -4127,6 +4127,14 @@ gf_skip_header_section(int fd, int header_len)
- gf_boolean_t
- gf_is_pid_running(int pid)
- {
-+#ifdef __FreeBSD__
-+      int ret = -1;
-+
-+      ret = sys_kill(pid, 0);
-+      if (ret < 0) {
-+              return _gf_false;
-+      }
-+#else
-     char fname[32] = {
-         0,
-     };
-@@ -4140,6 +4148,7 @@ gf_is_pid_running(int pid)
-     }
- 
-     sys_close(fd);
-+#endif
-     return _gf_true;
- }
- 
diff --git a/net/glusterfs/files/patch-libglusterfs_src_glusterfs_syscall.h
b/net/glusterfs/files/patch-libglusterfs_src_glusterfs_syscall.h
deleted file mode 100644
index 481cda04338d..000000000000
--- a/net/glusterfs/files/patch-libglusterfs_src_glusterfs_syscall.h
+++ /dev/null
@@ -1,16 +0,0 @@
---- libglusterfs/src/glusterfs/syscall.h.orig  2020-08-04 12:41:32 UTC
-+++ libglusterfs/src/glusterfs/syscall.h
-@@ -266,4 +266,13 @@ ssize_t
- sys_copy_file_range(int fd_in, off64_t *off_in, int fd_out, off64_t *off_out,
-                     size_t len, unsigned int flags);
- 
-+int
-+sys_kill(pid_t pid, int sig);
-+
-+#ifdef __FreeBSD__
-+int
-+sys_sysctl(const int *name, u_int namelen, void *oldp,        size_t
*oldlenp,
-+               const void *newp, size_t newlen);
-+#endif
-+
- #endif /* __SYSCALL_H__ */
diff --git a/net/glusterfs/files/patch-libglusterfs_src_libglusterfs.sym
b/net/glusterfs/files/patch-libglusterfs_src_libglusterfs.sym
deleted file mode 100644
index 84a38f1a3e7f..000000000000
--- a/net/glusterfs/files/patch-libglusterfs_src_libglusterfs.sym
+++ /dev/null
@@ -1,11 +0,0 @@
---- libglusterfs/src/libglusterfs.sym.orig     2020-08-04 12:41:32 UTC
-+++ libglusterfs/src/libglusterfs.sym
-@@ -1080,6 +1080,8 @@ sys_write
- sys_writev
- sys_socket
- sys_accept
-+sys_kill
-+sys_sysctl
- tbf_init
- tbf_throttle
- timespec_now
diff --git a/net/glusterfs/files/patch-libglusterfs_src_syscall.c
b/net/glusterfs/files/patch-libglusterfs_src_syscall.c
deleted file mode 100644
index ad4c70893dbd..000000000000
--- a/net/glusterfs/files/patch-libglusterfs_src_syscall.c
+++ /dev/null
@@ -1,70 +0,0 @@
---- libglusterfs/src/syscall.c.orig    2020-08-04 12:41:32 UTC
-+++ libglusterfs/src/syscall.c
-@@ -13,6 +13,10 @@
- #include "glusterfs/mem-pool.h"
- #include "glusterfs/libglusterfs-messages.h"
- 
-+#ifdef __FreeBSD__
-+#include <sys/sysctl.h>
-+#include <signal.h>
-+#endif
- #include <sys/types.h>
- #include <utime.h>
- #include <sys/time.h>
-@@ -506,9 +510,17 @@ sys_lsetxattr(const char *path, const char *name, cons
- #endif
- 
- #ifdef GF_BSD_HOST_OS
--    return FS_RET_CHECK0(
-+    ssize_t ret = FS_RET_CHECK(
-         extattr_set_link(path, EXTATTR_NAMESPACE_USER, name, value, size),
-         errno);
-+    /* On BSD extattr_set_link returns the number of bytes written/read on
-+     * success. Force this to be 0 if it was successful so the result remains
-+     * compatible with other platform expectations.
-+     */
-+    if(ret > 0) {
-+       ret = 0;
-+    }
-+    return ret;
- #endif
- 
- #ifdef GF_SOLARIS_HOST_OS
-@@ -624,9 +636,17 @@ sys_fsetxattr(int filedes, const char *name, const voi
- #endif
- 
- #ifdef GF_BSD_HOST_OS
--    return FS_RET_CHECK0(
-+    ssize_t ret = FS_RET_CHECK(
-         extattr_set_fd(filedes, EXTATTR_NAMESPACE_USER, name, value, size),
-         errno);
-+    /* On BSD extattr_set_fd returns the number of bytes written/read on
-+     * success. Force this to be 0 if it was successful so the result remains
-+     * compatible with other platform expectations.
-+     */
-+    if(ret > 0) {
-+       ret = 0;
-+    }
-+    return ret;
- #endif
- 
- #ifdef GF_SOLARIS_HOST_OS
-@@ -854,3 +874,18 @@ sys_copy_file_range(int fd_in, off64_t *off_in, int fd
- #endif /* HAVE_COPY_FILE_RANGE_SYS */
- #endif /* HAVE_COPY_FILE_RANGE */
- }
-+
-+#ifdef __FreeBSD__
-+int
-+sys_kill(pid_t pid, int sig)
-+{
-+    return FS_RET_CHECK0(kill(pid, sig), errno);
-+}
-+
-+int
-+sys_sysctl(const int *name, u_int namelen, void *oldp,        size_t
*oldlenp,
-+               const void *newp, size_t newlen)
-+{
-+      return FS_RET_CHECK0(sysctl(name, namelen, oldp, oldlenp, newp,
newlen), errno);
-+}
-+#endif
diff --git a/net/glusterfs/files/patch-mount_glusterfs.in
b/net/glusterfs/files/patch-mount_glusterfs.in
deleted file mode 100644
index c3b7abcaf8a1..000000000000
--- a/net/glusterfs/files/patch-mount_glusterfs.in
+++ /dev/null
@@ -1,57 +0,0 @@
---- xlators/mount/fuse/utils/mount_glusterfs.in.orig   2017-06-28 05:25:12 UTC
-+++ xlators/mount/fuse/utils/mount_glusterfs.in
-@@ -463,50 +463,44 @@ parse_options()
-         if [ "$key" = "$value" ]; then
-             without_options $pair;
-         else
-             with_options $key $value;
-         fi
-     done
- }
- 
- main ()
- {
--    ## `mount` on OSX specifies options as first argument
--    echo $1|grep -q -- "-o"
--    if [ $? -eq 0 ];  then
--        volfile_loc=$3
--        mount_point=$4
--    else
--        volfile_loc=$1
--        mount_point=$2
--    fi
--
-     while getopts "Vo:h" opt; do
-         case "${opt}" in
-             o)
-                 parse_options ${OPTARG};
-                 ;;
-             V)
-                 ${cmd_line} -V;
-                 exit 0;
-                 ;;
-             h)
-                 print_usage;
-                 exit 0;
-                 ;;
-             ?)
-                 print_usage;
-                 exit 0;
-                 ;;
-         esac
-     done
- 
-+    shift $((OPTIND - 1))
-+    volfile_loc="$1"
-+    mount_point="$2"
-+
-     [ -r "$volfile_loc" ] || {
-         # '%' included to support ipv6 link local addresses
-         server_ip=$(echo "$volfile_loc" | sed -n
's/\([a-zA-Z0-9:%.\-]*\):.*/\1/p');
-         volume_str=$(echo "$volfile_loc" | sed -n 's/.*:\([^ ]*\).*/\1/p');
-         [ -n "$volume_str" ] && {
-             volume_id="$volume_str";
-         }
-         volfile_loc="";
-     }
- 
diff --git a/net/glusterfs/files/patch-xlators_mgmt_glusterd_src_Makefile.am
b/net/glusterfs/files/patch-xlators_mgmt_glusterd_src_Makefile.am
deleted file mode 100644
index b7237c2cff98..000000000000
--- a/net/glusterfs/files/patch-xlators_mgmt_glusterd_src_Makefile.am
+++ /dev/null
@@ -1,29 +0,0 @@
---- xlators/mgmt/glusterd/src/Makefile.am.orig 2020-07-16 17:28:50 UTC
-+++ xlators/mgmt/glusterd/src/Makefile.am
-@@ -25,13 +25,14 @@ glusterd_la_SOURCES = glusterd.c glusterd-handler.c gl
-       glusterd-conn-helper.c glusterd-snapd-svc.c glusterd-snapd-svc-helper.c
\
-       glusterd-bitd-svc.c glusterd-scrub-svc.c glusterd-server-quorum.c \
-       glusterd-reset-brick.c glusterd-shd-svc.c glusterd-shd-svc-helper.c \
--        glusterd-gfproxyd-svc.c glusterd-gfproxyd-svc-helper.c
glusterd-ganesha.c
-+        glusterd-gfproxyd-svc.c glusterd-gfproxyd-svc-helper.c
glusterd-ganesha.c \
-+      $(CONTRIBDIR)/mount/mntent.c
- 
- glusterd_la_LIBADD = $(top_builddir)/libglusterfs/src/libglusterfs.la \
-       $(top_builddir)/libglusterd/src/libglusterd.la \
-       $(top_builddir)/rpc/xdr/src/libgfxdr.la \
-       $(top_builddir)/rpc/rpc-lib/src/libgfrpc.la \
--      $(XML_LIBS) -lcrypto $(URCU_LIBS) $(URCU_CDS_LIBS) $(LIB_DL)
-+      $(XML_LIBS) -lcrypto $(URCU_LIBS) $(URCU_CDS_LIBS) $(LIB_DL)
$(GF_XLATOR_MGNT_LIBADD)
- 
- noinst_HEADERS = glusterd.h glusterd-utils.h glusterd-op-sm.h \
-       glusterd-sm.h glusterd-store.h glusterd-mem-types.h \
-@@ -46,7 +47,8 @@ noinst_HEADERS = glusterd.h glusterd-utils.h glusterd-
-       glusterd-scrub-svc.h glusterd-server-quorum.h glusterd-errno.h \
-         glusterd-shd-svc.h glusterd-shd-svc-helper.h \
-         glusterd-gfproxyd-svc.h glusterd-gfproxyd-svc-helper.h \
--      $(CONTRIBDIR)/userspace-rcu/rculist-extra.h
-+      $(CONTRIBDIR)/userspace-rcu/rculist-extra.h \
-+      $(CONTRIBDIR)/mount/mntent_compat.h
- 
- AM_CPPFLAGS = $(GF_CPPFLAGS) -I$(top_srcdir)/libglusterfs/src \
-       -I$(top_srcdir)/rpc/xdr/src -I$(top_builddir)/rpc/xdr/src \
diff --git
a/net/glusterfs/files/patch-xlators_mgmt_glusterd_src_glusterd-utils.c
b/net/glusterfs/files/patch-xlators_mgmt_glusterd_src_glusterd-utils.c
deleted file mode 100644
index 64177ca734f2..000000000000
--- a/net/glusterfs/files/patch-xlators_mgmt_glusterd_src_glusterd-utils.c
+++ /dev/null
@@ -1,115 +0,0 @@
---- xlators/mgmt/glusterd/src/glusterd-utils.c.orig    2020-07-06 01:22:37 UTC
-+++ xlators/mgmt/glusterd/src/glusterd-utils.c
-@@ -79,6 +79,14 @@
- #include <sys/sockio.h>
- #endif
- 
-+#ifdef __FreeBSD__
-+#include <sys/sysctl.h>
-+#include <sys/param.h>
-+#include <sys/queue.h>
-+#include <libprocstat.h>
-+#include <libutil.h>
-+#endif
-+
- #define NFS_PROGRAM 100003
- #define NFSV3_VERSION 3
- 
-@@ -6270,7 +6278,6 @@ find_compatible_brick(glusterd_conf_t *conf, glusterd_
- int
- glusterd_get_sock_from_brick_pid(int pid, char *sockpath, size_t len)
- {
--    char fname[128] = "";
-     char buf[1024] = "";
-     char cmdline[2048] = "";
-     xlator_t *this = NULL;
-@@ -6285,6 +6292,22 @@ glusterd_get_sock_from_brick_pid(int pid, char *sockpa
-     this = THIS;
-     GF_ASSERT(this);
- 
-+#ifdef __FreeBSD__
-+      blen = sizeof(buf);
-+      int mib[4];
-+
-+      mib[0] = CTL_KERN;
-+      mib[1] = KERN_PROC;
-+      mib[2] = KERN_PROC_ARGS;
-+      mib[3] = pid;
-+
-+    if (sys_sysctl(mib, 4, buf, &blen, NULL, blen) != 0) {
-+        gf_log(this->name, GF_LOG_ERROR, "brick process %d is not running",
-+               pid);
-+        return ret;
-+    }
-+#else
-+    char fname[128] = "";
-     snprintf(fname, sizeof(fname), "/proc/%d/cmdline", pid);
- 
-     if (sys_access(fname, R_OK) != 0) {
-@@ -6301,6 +6324,7 @@ glusterd_get_sock_from_brick_pid(int pid, char *sockpa
-                strerror(errno), fname);
-         return ret;
-     }
-+#endif
- 
-     /* convert cmdline to single string */
-     for (i = 0, j = 0; i < blen; i++) {
-@@ -6349,6 +6373,42 @@ glusterd_get_sock_from_brick_pid(int pid, char *sockpa
- char *
- search_brick_path_from_proc(pid_t brick_pid, char *brickpath)
- {
-+    char *brick_path = NULL;
-+#ifdef __FreeBSD__
-+      struct filestat *fst;
-+      struct procstat *ps;
-+      struct kinfo_proc *kp;
-+      struct filestat_list *head;
-+
-+      ps = procstat_open_sysctl();    
-+      if (ps == NULL)
-+              goto out;
-+      
-+      kp = kinfo_getproc(brick_pid);
-+      if (kp == NULL)
-+              goto out;
-+      
-+      head = procstat_getfiles(ps, (void *)kp, 0);
-+      if (head == NULL)
-+              goto out;
-+
-+      STAILQ_FOREACH(fst, head, next) {
-+              if(fst->fs_fd < 0)
-+                      continue;
-+
-+        if (!strcmp(fst->fs_path, brickpath)) {
-+            brick_path = gf_strdup(fst->fs_path);
-+            break;
-+        }
-+      }
-+
-+out:
-+      if (head != NULL)
-+              procstat_freefiles(ps, head);
-+      if (kp != NULL)
-+              free(kp);
-+      procstat_close(ps);
-+#else
-     struct dirent *dp = NULL;
-     DIR *dirp = NULL;
-     size_t len = 0;
-@@ -6359,7 +6419,6 @@ search_brick_path_from_proc(pid_t brick_pid, char *bri
-             0,
-         },
-     };
--    char *brick_path = NULL;
- 
-     if (!brickpath)
-         goto out;
-@@ -6396,6 +6455,7 @@ search_brick_path_from_proc(pid_t brick_pid, char *bri
-     }
- out:
-     sys_closedir(dirp);
-+#endif
-     return brick_path;
- }
- 
diff --git a/net/glusterfs/pkg-plist b/net/glusterfs/pkg-plist
index 7809964642fa..1bc35ee649a0 100644
--- a/net/glusterfs/pkg-plist
+++ b/net/glusterfs/pkg-plist
@@ -19,7 +19,6 @@ include/glusterfs/api/glfs-handles.h
 include/glusterfs/api/glfs.h
 include/glusterfs/async.h
 include/glusterfs/atomic.h
-include/glusterfs/byte-order.h
 include/glusterfs/call-stub.h
 include/glusterfs/checksum.h
 include/glusterfs/circ-buff.h
@@ -37,7 +36,6 @@ include/glusterfs/event-history.h
 include/glusterfs/events.h
 include/glusterfs/fd-lk.h
 include/glusterfs/fd.h
-include/glusterfs/gd-common-utils.h
 include/glusterfs/gf-dirent.h
 include/glusterfs/gf-event.h
 include/glusterfs/gfchangelog/changelog.h
@@ -72,7 +70,6 @@ include/glusterfs/rot-buffs.h
 include/glusterfs/rpc/changelog-xdr.h
 include/glusterfs/rpc/cli1-xdr.h
 include/glusterfs/rpc/glusterd1-xdr.h
-include/glusterfs/rpc/glusterfs3-xdr.h
 include/glusterfs/rpc/glusterfs3.h
 include/glusterfs/rpc/glusterfs4-xdr.h
 include/glusterfs/rpc/portmap-xdr.h
@@ -189,9 +186,6 @@ lib/libgfrpc.so.0.0.1
 lib/libgfxdr.so
 lib/libgfxdr.so.0
 lib/libgfxdr.so.0.0.1
-lib/libglusterd.so
-lib/libglusterd.so.0
-lib/libglusterd.so.0.0.1
 lib/libglusterfs.so
 lib/libglusterfs.so.0
 lib/libglusterfs.so.0.0.1
@@ -338,3 +332,27 @@ sbin/umountd
 @dir /var/db/glusterd
 @dir /var/log/glusterfs
 @dir /var/run/gluster
+etc/bash_completion.d/gluster.bash
+include/glusterfs/compat-io_uring.h
+include/glusterfs/gf-io-common.h
+include/glusterfs/gf-io-legacy.h
+include/glusterfs/gf-io.h
+include/glusterfs/rpc/protocol-utils.h
+include/glusterfs/rpc/xdr-custom.h
+%%GLUSTERLIBDIR%%/%%PORTVERSION%%/xlator/features/simple-quota.so
+%%PYTHON_SITELIBDIR%%/gluster/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+%%PYTHON_SITELIBDIR%%/gluster/cliutils/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+%%PYTHON_SITELIBDIR%%/gluster/cliutils/__pycache__/cliutils%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/eventsapiconf%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/eventtypes%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/gf_event%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/handlers%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/utils%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/changelogdata%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/conf%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/gfind_py2py3%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/libgfchangelog%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/main%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/utils%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
```

However, as mentioned above, GlusterFS 8.4 works with the mentioned patch. I
also had to add the following to pkg-plist:

glusterfs-8.4.patch:

```
diff --git a/net/glusterfs/Makefile b/net/glusterfs/Makefile
index e9cd04424e2a..d9bda25fd36a 100644
--- a/net/glusterfs/Makefile
+++ b/net/glusterfs/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=      glusterfs
 PORTVERSION=   8.4
-PORTREVISION=  3
+PORTREVISION=  4
 CATEGORIES=    net
 MASTER_SITES=  http://bits.gluster.org/pub/gluster/glusterfs/src/

@@ -13,10 +13,7 @@ LICENSE_COMB=        dual
 LICENSE_FILE_GPLv2=    ${WRKSRC}/COPYING-GPLV2
 LICENSE_FILE_LGPL3+ =  ${WRKSRC}/COPYING-LGPLV3

-BROKEN=                Fails to build, ld: error: version script assignment of
'global' to symbol 'client_dump' failed: symbol not defined
-DEPRECATE=     Outdated and unsupported upstream, current version in tree was
released in 2021 while upstream is still active and is at 10.x
-EXPIRATION_DATE=2025-01-31
-#BROKEN_SSL=   libressl
+BROKEN_SSL=    libressl

 BUILD_DEPENDS= bash:shells/bash
 RUN_DEPENDS=   bash:shells/bash
@@ -73,6 +70,7 @@ CONFIGURE_ARGS=       --disable-epoll \
                ac_cv_lib_aio_io_setup=no
 CPPFLAGS+=     -I"${LOCALBASE}/include"
 LDFLAGS+=      -L"${LOCALBASE}/lib" -largp
+LDFLAGS+=      -Wl,--undefined-version
 INSTALL_TARGET=        install-strip
 PLIST_SUB=     GLUSTERLIBDIR="lib/${PORTNAME}" \
                PORTVERSION="${PORTVERSION}"
diff --git a/net/glusterfs/pkg-plist b/net/glusterfs/pkg-plist
index 7809964642fa..4ad2d924b707 100644
--- a/net/glusterfs/pkg-plist
+++ b/net/glusterfs/pkg-plist
@@ -338,3 +338,19 @@ sbin/umountd
 @dir /var/db/glusterd
 @dir /var/log/glusterfs
 @dir /var/run/gluster
+%%PYTHON_SITELIBDIR%%/gluster/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+%%PYTHON_SITELIBDIR%%/gluster/cliutils/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+%%PYTHON_SITELIBDIR%%/gluster/cliutils/__pycache__/cliutils%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/eventsapiconf%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/eventtypes%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/gf_event%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/handlers%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/gfevents/__pycache__/utils%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/__init__%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/changelogdata%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/conf%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/gfind_py2py3%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/libgfchangelog%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/main%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
+libexec/glusterfs/glusterfind/__pycache__/utils%%PYTHON_EXT_SUFFIX%%.opt-2.pyc
```

-- 
You are receiving this mail because:
You are the assignee for the bug.