[slurm-users] RHEL8 support - Missing Symbols in SelectType libraries
Michael Jennings
mej at lanl.gov
Fri Nov 1 17:37:37 UTC 2019
On Tuesday, 29 October 2019, at 15:11:38 (+0000),
Christopher Benjamin Coffey wrote:
> Brian, I've actually just started attempting to build slurm 19 on
> centos 8 yesterday. As you say, there are packages missing now from
> repos like:
They're not missing; they're just harder to get at now, for some
reason.
I have successfully built SLURM 19.05.3 on CentOS 8. I'm still
verifying that everything works correctly, but here's my spec file
diff so far (safe to apply upstream, if desired...won't break other
distros):
--- slurm.spec.orig 2019-10-31 13:55:28.077658869 -0600
+++ slurm.spec 2019-11-01 10:57:28.921423048 -0600
@@ -62,14 +62,14 @@
%{?systemd_requires}
BuildRequires: systemd
BuildRequires: munge-devel munge-libs
-BuildRequires: python
+BuildRequires: python%{?el8:2}
BuildRequires: readline-devel
Obsoletes: slurm-lua slurm-munge slurm-plugins
# fake systemd support when building rpms on other platforms
%{!?_unitdir: %global _unitdir /lib/systemd/systemd}
-%define use_mysql_devel %(perl -e '`rpm -q mariadb-devel`; print $?;')
+%{expand:%%global use_mysql_devel %(perl -e '`rpm -q mariadb-devel`; print $?;')}
%if %{with mysql}
%if %{use_mysql_devel}
@@ -124,12 +124,12 @@
%if %{with pmix}
BuildRequires: pmix
-%global pmix %(rpm -q pmix --qf "%{VERSION}")
+%{expand:%%global pmix %(rpm -q pmix --qf "%{VERSION}")}
%endif
%if %{with ucx}
BuildRequires: ucx-devel
-%global ucx_version %(rpm -q ucx-devel --qf "%{VERSION}")
+%{expand:%%global ucx_version %(rpm -q ucx-devel --qf "%{VERSION}")}
%endif
# Allow override of sysconfdir via _slurm_sysconfdir.
@@ -158,7 +158,7 @@
#
# Should unpackaged files in a build root terminate a build?
# Uncomment if needed again.
-#%define _unpackaged_files_terminate_build 0
+#define _unpackaged_files_terminate_build 0
# Slurm may intentionally include empty manifest files, which will
# cause errors with rpm 4.13 and on. Turn that check off.
@@ -265,7 +265,7 @@
Obsoletes: slurm-sjobexit slurm-sjstat slurm-seff
%description contribs
seff is a mail program used directly by the Slurm daemons. On completion of a
-job, wait for it's accounting information to be available and include that
+job, wait for its accounting information to be available and include that
information in the email body.
sjobexit is a slurm job exit code management tool. It enables users to alter
job exit code information for completed jobs
@@ -305,6 +305,7 @@
%prep
# when the rel number is one, the tarball filename does not include it
%setup -n %{slurm_source_dir}
+%{__sed} -i -e 's!env python$!env python2!' $(%{__grep} -Frl 'env python' .)
%build
%configure \
I build with Mezzanine, but the equivalent would roughly be this:
rpmbuild -ts slurm-19.05.3-2.tar.bz2
cat the_above_diff.patch | (cd ~/rpmbuild/SPECS ; patch -p0)
rpmbuild --with x11 --with lua --with pmix ~/rpmbuild/SPECS/slurm.spec
In order for that to work, though, you need to configure your yum/dnf
setup, like so:
dnf -y install dnf-utils
dnf config-manager --set-enabled cr
dnf config-manager --set-enabled PowerTools
dnf -y install munge-devel lua-devel json-c-devel lz4-devel
Hope that helps!
Michael
--
Michael E. Jennings <mej at lanl.gov>
HPC Systems Team, Los Alamos National Laboratory
Bldg. 03-2327, Rm. 2341 W: +1 (505) 606-0605
More information about the slurm-users
mailing list