Compare commits

..

20 commits

Author SHA1 Message Date
Fedora Release Engineering
e55261197e Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 08:06:01 +00:00
Tom Rix
eb25180eaf Relax use of -Werror
Signed-off-by: Tom Rix <Tom.Rix@amd.com>
2026-01-16 10:31:33 -08:00
Kamal Heib
5b26d04282 Update to version 1.19.0
Signed-off-by: Kamal Heib <kheib@redhat.com>
2025-12-05 12:37:03 -05:00
Tom Rix
db2b15074f Rebuild
Signed-off-by: Tom Rix <Tom.Rix@amd.com>
2025-11-24 08:29:19 -08:00
Fedora Release Engineering
21bee105c5 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 19:42:24 +00:00
Kamal Heib
0f9e8b21c5 Update to version 1.18.1
Resolves: rhbz#2328935
Signed-off-by: Kamal Heib <kheib@redhat.com>
2025-06-25 07:07:23 -04:00
Kamal Heib
020dbfdd4c Add support for packit
Signed-off-by: Kamal Heib <kheib@redhat.com>
2025-06-24 05:59:42 +00:00
Yaakov Selkowitz
bf0f649312 Fix build with GCC 15
https://github.com/openucx/ucx/issues/10663
https://github.com/openucx/ucx/pull/10664
2025-06-23 22:21:22 -04:00
Tom Rix
8d1c0f4b76 ROCm is part of Fedora, so build it.
Signed-off-by: Tom Rix <Tom.Rix@amd.com>
2025-03-09 08:00:03 -07:00
Yaakov Selkowitz
11884595e1 Fix build with GCC 15
GCC 15 default to C23, which changed the interpretation of function
declarations without parameters.  This may be fixed upstream for the future
1.19.0, but the changes are extensive and do not apply cleanly to this
version.

https://github.com/openucx/ucx/pull/10456
2025-02-26 12:20:46 -05:00
Fedora Release Engineering
9516a26aba Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 13:36:06 +00:00
David Abdurachmanov
3a29a9c190 Enable riscv64
This seems to be available since 1.16 version.

https://github.com/openucx/ucx/pull/9168

Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-10-30 12:32:15 +01:00
Fedora Release Engineering
fd9230288d Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 08:07:32 +00:00
Benson Muite
e70255efa9 Update to 1.17.0 2024-06-28 07:38:30 +03:00
Benson Muite
2a900ffef0 Update to 1.16.0 2024-04-27 09:31:40 +03:00
Fedora Release Engineering
95fb0f03ee Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 06:58:34 +00:00
Benson Muite
a41409146d Update sources file for 1.15.0 2023-12-24 14:19:38 +03:00
Benson Muite
38579de2b5 Update to ucx 1.15 2023-12-24 14:13:03 +03:00
Benson Muite
77571ad8c8 Separate C and C++ build flags 2023-12-24 12:52:00 +03:00
Yaakov Selkowitz
a3b578b2e1 Fix build for https://fedoraproject.org/wiki/Changes/PortingToModernC
https://github.com/openucx/ucx/pull/9558
2023-12-19 13:21:50 -05:00
5 changed files with 244 additions and 13 deletions

5
.gitignore vendored
View file

@ -20,3 +20,8 @@
/ucx-1.13.1-1.fc36.src.rpm
/ucx-1.13.1.tar.gz
/ucx-1.14.1.tar.gz
/ucx-1.15.0.tar.gz
/ucx-1.16.0.tar.gz
/ucx-1.17.0.tar.gz
/ucx-1.18.1.tar.gz
/ucx-1.19.0.tar.gz

19
.packit.yaml Normal file
View file

@ -0,0 +1,19 @@
# See the documentation for more information:
# https://packit.dev/docs/configuration/
jobs:
- job: pull_from_upstream
trigger: release
dist_git_branches:
- fedora-rawhide
- job: koji_build
trigger: commit
dist_git_branches:
- fedora-rawhide
- job: bodhi_update
trigger: commit
dist_git_branches:
- fedora-branched

66
Avoid-build-failure.patch Normal file
View file

@ -0,0 +1,66 @@
From 0ee91e1c571668732ee05b1525e7fa8f72427c0f Mon Sep 17 00:00:00 2001
From: Kamal Heib <kheib@redhat.com>
Date: Fri, 5 Dec 2025 12:00:49 -0500
Subject: [PATCH] Avoid build failure
Signed-off-by: Kamal Heib <kheib@redhat.com>
---
src/tools/perf/perftest_params.c | 2 +-
src/ucs/config/parser.c | 2 +-
src/uct/ib/base/ib_device.c | 7 ++++---
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/src/tools/perf/perftest_params.c b/src/tools/perf/perftest_params.c
index 9098cdaed2f6..b7a5dcde01e2 100644
--- a/src/tools/perf/perftest_params.c
+++ b/src/tools/perf/perftest_params.c
@@ -560,7 +560,7 @@ static ucs_status_t init_daemon_params(ucx_perf_params_t *params)
ucs_status_t parse_test_params(perftest_params_t *params, char opt,
const char *opt_arg)
{
- char *optarg2 = NULL;
+ const char *optarg2 = NULL;
test_type_t *test;
unsigned i;
diff --git a/src/ucs/config/parser.c b/src/ucs/config/parser.c
index 696a4ebd2186..2338ceab0380 100644
--- a/src/ucs/config/parser.c
+++ b/src/ucs/config/parser.c
@@ -644,7 +644,7 @@ int ucs_config_sprintf_bw(char *buf, size_t max, const void *src,
int ucs_config_sscanf_bw_spec(const char *buf, void *dest, const void *arg)
{
ucs_config_bw_spec_t *dst = (ucs_config_bw_spec_t*)dest;
- char *delim;
+ const char *delim;
delim = strchr(buf, ':');
if (!delim) {
diff --git a/src/uct/ib/base/ib_device.c b/src/uct/ib/base/ib_device.c
index bcef1b0a4025..f77809be5a9a 100644
--- a/src/uct/ib/base/ib_device.c
+++ b/src/uct/ib/base/ib_device.c
@@ -1305,7 +1305,8 @@ ucs_status_t uct_ib_device_find_port(uct_ib_device_t *dev,
const char *ibdev_name;
unsigned port_num;
size_t devname_len;
- char *p;
+ const char *p;
+ char *endptr;
p = strrchr(resource_dev_name, ':');
if (p == NULL) {
@@ -1320,8 +1321,8 @@ ucs_status_t uct_ib_device_find_port(uct_ib_device_t *dev,
goto err; /* Device name is wrong */
}
- port_num = strtod(p + 1, &p);
- if (*p != '\0') {
+ port_num = strtod(p + 1, &endptr);
+ if (*endptr != '\0') {
goto err; /* Failed to parse port number */
}
if ((port_num < dev->first_port) || (port_num >= dev->first_port + dev->num_ports)) {
--
2.51.1

View file

@ -1 +1 @@
SHA512 (ucx-1.14.1.tar.gz) = 9edb7a2f754094af595c0adf693cd294fc0facc6f08b1235436eea8b3d1b6414c3fb8de8e6619099ba6af99961e47a5441ddc88324207aa123d2c8a3b6faf431
SHA512 (ucx-1.19.0.tar.gz) = bcd727df3e3e281424bc8da5247bd5396b7b1b0f3113265d4dc2e401442710776aa3c251e05db633321171359c63e3166c95d21b2296207a37eb6e2e29845f90

165
ucx.spec
View file

@ -5,14 +5,26 @@
%bcond_without ib
%bcond_with knem
%bcond_without rdmacm
%bcond_with rocm
%bcond_with ugni
%bcond_with xpmem
%bcond_with vfs
%bcond_with mad
%bcond_without mlx5
%bcond_with efa
%ifarch x86_64
%if 0%{?fedora} <= 42
%bcond_with rocm
%else
%bcond_without rocm
%endif
%else
%bcond_with rocm
%endif
Name: ucx
Version: 1.14.1
Release: 4%{?dist}
Version: 1.19.0
Release: 3%{?dist}
Summary: UCX is a communication library implementing high-performance messaging
License: BSD-3-Clause AND MIT AND CC-PDDC AND (BSD-3-Clause OR Apache-2.0)
@ -28,12 +40,13 @@ License: BSD-3-Clause AND MIT AND CC-PDDC AND (BSD-3-Clause OR Apache-2.0)
URL: http://www.openucx.org
Source: https://github.com/openucx/%{name}/releases/download/v%{version}/ucx-%{version}.tar.gz
Patch: Avoid-build-failure.patch
BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
Prefix: %{_prefix}
# UCX currently supports only the following architectures
ExclusiveArch: aarch64 ppc64le x86_64
ExclusiveArch: aarch64 ppc64le x86_64 riscv64
%if %{defined extra_deps}
Requires: %{?extra_deps}
@ -54,6 +67,12 @@ BuildRequires: gdrcopy
%if %{with ib}
BuildRequires: libibverbs-devel
%endif
%if %{with mlx5}
BuildRequires: rdma-core-devel
%endif
%if %{with efa}
BuildRequires: rdma-core-devel
%endif
%if %{with knem}
BuildRequires: knem
%endif
@ -61,7 +80,8 @@ BuildRequires: knem
BuildRequires: librdmacm-devel
%endif
%if %{with rocm}
BuildRequires: hsa-rocr-dev
BuildRequires: rocm-hip-devel
BuildRequires: chrpath
%endif
%if %{with xpmem}
BuildRequires: xpmem-devel
@ -69,6 +89,10 @@ BuildRequires: xpmem-devel
%if %{with vfs}
BuildRequires: fuse3-devel
%endif
%if %{with mad}
BuildRequires: libibmad-devel libibumad-devel
%endif
%description
UCX is an optimized communication framework for high-performance distributed
@ -94,13 +118,24 @@ Provides header files and examples for developing with UCX.
%prep
%setup -q
%patch -P0 -p1
# https://github.com/openucx/ucx/issues/10542
# With ROCm 6.3+ libhsakmt is bundled with libhsa-runtime64
# Remove this nonexistent library
sed -i 's@-lhsakmt@@' config/m4/rocm.m4
# Relax use of -Werror
sed -i 's@-Werror@@' config/m4/compiler.m4
autoreconf -fiv
# https://github.com/openucx/ucx/commit/b0a275a5492125a13020cd095fe9934e0b5e7c6a
# can be removed on release after 1.17.0
sed -i '/#include <limits.h>/a #include <math.h>' src/ucs/time/time.h
%build
# Fix incorrect declaration
# https://github.com/openucx/ucx/issues/9115
# https://github.com/openucx/ucx/commit/8d6032ec864190c9f079d96e731c5004a975e153
# can be removed for release 1.15
sed -i 's/unsigned advice)/uct_mem_advice_t advice)/g' src/uct/base/uct_md.c
# may be fixed in 1.19.0
%set_build_flags
export CFLAGS="$CFLAGS -std=gnu17"
%define _with_arg() %{expand:%%{?with_%{1}:--with-%{2}}%%{!?with_%{1}:--without-%{2}}}
%define _enable_arg() %{expand:%%{?with_%{1}:--enable-%{2}}%%{!?with_%{1}:--disable-%{2}}}
@ -110,16 +145,21 @@ sed -i 's/unsigned advice)/uct_mem_advice_t advice)/g' src/uct/base/uct_md.c
--disable-assertions \
--disable-params-check \
--without-java \
%if %{with rocm}
--with-rocm=%{_prefix} \
%endif
%_enable_arg cma cma \
%_with_arg cuda cuda \
%_with_arg gdrcopy gdrcopy \
%_with_arg ib verbs \
%_with_arg mlx5 mlx5 \
%_with_arg efa efa \
%_with_arg knem knem \
%_with_arg rdmacm rdmacm \
%_with_arg rocm rocm \
%_with_arg xpmem xpmem \
%_with_arg vfs fuse3 \
%_with_arg ugni ugni \
%_with_arg mad mad \
%{?configure_options}
make %{?_smp_mflags} V=1
@ -131,13 +171,26 @@ rm -f %{buildroot}%{_libdir}/ucx/*.la
rm -f %{buildroot}%{_libdir}/ucx/lib*.so
rm -f %{buildroot}%{_libdir}/ucx/lib*.a
%if %{with rocm}
# ERROR 0002: file '/usr/lib64/ucx/libucx_perftest_rocm.so.0.0.0' contains an
# invalid runpath '/usr/hip/lib' in [/usr/hip/lib:/usr/lib:/usr/lib64]
# Build is confused, assumes rocm is part of AMD's release to /opt/rocm/hip/lib
# We install ROCm to system locations, so rpath is not needed, delete them
chrpath -d %{buildroot}%{_libdir}/ucx/libucx_perftest_rocm.so.0.0.0
chrpath -d %{buildroot}%{_libdir}/ucx/libucm_rocm.so.0.0.0
chrpath -d %{buildroot}%{_libdir}/ucx/libuct_rocm.so.0.0.0
%endif
%files
%{_libdir}/lib*.so.*
%{_bindir}/ucx_info
%{_bindir}/ucx_perftest
%{_bindir}/ucx_perftest_daemon
%{_bindir}/ucx_read_profile
%{_bindir}/io_demo
%{_datadir}/ucx
%dir %{_sysconfdir}/ucx
%{_sysconfdir}/ucx/ucx.conf
%exclude %{_datadir}/ucx/examples
%doc README AUTHORS NEWS
%{!?_licensedir:%global license %%doc}
@ -254,8 +307,9 @@ Provides Radeon Open Compute (ROCm) Runtime support for UCX.
%files rocm
%dir %{_libdir}/ucx
%{_libdir}/ucx/libuct_rocm.so.*
%{_libdir}/ucx/libucm_rocm.so.*
%{_libdir}/ucx/libuct_rocm.so.*
%{_libdir}/ucx/libucx_perftest_rocm.so.*
%if %{with gdrcopy}
%package rocmgdr
@ -316,7 +370,94 @@ status, and more.
%{_bindir}/ucx_vfs
%endif
%if %{with mlx5}
%package ib-mlx5
Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX IB MLX5 RDMA provider support
Group: System Environment/Libraries
%description ib-mlx5
Provides support for DevX, Direct Verbs and DC transports for Infiniband
devices.
%files ib-mlx5
%{_libdir}/ucx/libuct_ib_mlx5.so.*
%endif
%if %{with efa}
%package ib-efa
Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX EFA device RDMA support
Group: System Environment/Libraries
%description ib-efa
Provides support for EFA device as an IBTA transport for UCX.
%files ib-efa
%{_libdir}/ucx/libuct_ib_efa.so.*
%endif
%if %{with mad}
%package mad
Requires: %{name}%{?_isa} = %{version}-%{release}
Summary: UCX Infiniband MAD support
Group: System Environment/Libraries
%description mad
Provide Infiniband MAD support for UCX. Enables running perftest using
Infiniband datagrams for out-of-band communications.
%files mad
%{_libdir}/ucx/libucx_perftest_mad.so.*
%endif
%changelog
* Fri Jul 17 2026 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Fri Jan 16 2026 Tom Rix <Tom.Rix@amd.com> - 1.19.0-2
- Relax use of -Werror
* Fri Dec 05 2025 Kamal Heib <kheib@redhat.com> - 1.19.0-1
- Update to version 1.19.0
* Mon Nov 24 2025 Tom Rix <Tom.Rix@amd.com> - 1.18.1-3
- Rebuild
* Fri Jul 25 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Wed Jun 25 2025 Kamal Heib <kheib@redhat.com> - 1.18.1-1
- Update to version 1.18.1
- Resolves: rhbz#2328935
* Sun Mar 9 2025 Tom Rix <Tom.Rix@amd.com> - 1.17.0-5
- ROCm is part of Fedora, so build it.
* Sun Jan 19 2025 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Wed Oct 30 2024 David Abdurachmanov <davidlt@rivosinc.com> - 1.17.0-3
- Enable riscv64
* Sat Jul 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Thu Jun 27 2024 Benson Muite <benson_muite@emailplus.org> - 1.17.0-1
- Upgrade to new release bz2280815
* Sat Apr 27 2024 Benson Muite <benson_muite@emailplus.org> - 1.16.0-1
- Upgrade to new release bz2256073
* Sat Jan 27 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.15.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Dec 24 2023 Benson Muite <benson_muite@emailplus.org> - 1.15.0-1
- Upgrade to new release
* Sun Dec 24 2023 Benson Muite <benson_muite@emailplus.org> - 1.14.1-5
- Add patch to separate C and C++ flags from yselkowitz
* Sat Jul 22 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.14.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild