[Bug 280148] net/glusterfs fails to build on Poudriere with linker error during Build Phase
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.