That's pretty much how I did it too.

But...

When you try to run slurmd, it chokes on the missing symbols issue.
Are you able to start slurmd?

Brian

On 11/1/2019 10:37 AM, Michael Jennings wrote:
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


Reply via email to