From 3b4b2219385bd3f77006138838babbb684b89850 Mon Sep 17 00:00:00 2001 From: Philip Kovacs Date: Jun 20 2019 05:03:56 +0000 Subject: Correct the configure for pmix Correct the slurm_pmix_soname patch Use make_build macro instead of make Use autotools commands instead of rpm macros --- diff --git a/slurm.spec b/slurm.spec index 00afaee..a1e3861 100644 --- a/slurm.spec +++ b/slurm.spec @@ -12,7 +12,7 @@ Name: slurm Version: 18.08.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Simple Linux Utility for Resource Management License: GPLv2 and BSD URL: https://slurm.schedmd.com/ @@ -209,16 +209,15 @@ mkdir -p extras cp %SOURCE5 extras/%{name}-setuser.in %build -%{__aclocal} -I auxdir -%{__autoconf} -%{__automake} --no-force +aclocal -I auxdir +autoconf +automake --no-force # use -z lazy to allow dlopen with unresolved symbols %configure \ LDFLAGS="$LDFLAGS -Wl,-z,lazy" \ --prefix=%{_prefix} \ --sysconfdir=%{_sysconfdir}/%{name} \ --with-pam_dir=%{_libdir}/security \ - --with-pmix \ --enable-shared \ --enable-x11 \ --disable-static \ @@ -248,16 +247,16 @@ s|^dir_tmpfiles_d=.*|dir_tmpfiles_d="%{_tmpfilesdir}"|g;' \ # build contribs packages # INSTALLDIRS=vendor so perlapi goes to vendor_perl directory -PERL_MM_PARAMS="INSTALLDIRS=vendor" %make_build contrib V=1 +%make_build PERL_MM_PARAMS="INSTALLDIRS=vendor" contrib V=1 %check # The test binaries need LD_LIBRARY_PATH to find the compiled slurm library # in the build tree. -LD_LIBRARY_PATH="%{buildroot}%{_libdir};%{_libdir}" %{__make} check +%make_build LD_LIBRARY_PATH="%{buildroot}%{_libdir};%{_libdir}" check %install %make_install -%{__make} install-contrib DESTDIR=%{buildroot} +%make_build DESTDIR=%{buildroot} install-contrib install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name} install -d -m 0755 %{buildroot}%{_sysconfdir}/%{name}/layouts.d @@ -718,6 +717,12 @@ rm -f %{buildroot}%{perl_archlib}/perllocal.pod %systemd_postun_with_restart slurmdbd.service %changelog +* Wed Jun 19 2019 Philip Kovacs - 18.08.7-2 +- Correct the configure for pmix +- Correct the slurm_pmix_soname patch +- Use make_build macro instead of make +- Use autotools commands instead of rpm macros + * Fri Apr 12 2019 Philip Kovacs - 18.08.7-1 - Release of 18.08.7 diff --git a/slurm_pmix_soname.patch b/slurm_pmix_soname.patch index 1ab15db..7557569 100644 --- a/slurm_pmix_soname.patch +++ b/slurm_pmix_soname.patch @@ -1,27 +1,23 @@ diff --git a/src/plugins/mpi/pmix/mpi_pmix.c b/src/plugins/mpi/pmix/mpi_pmix.c -index 1a0998d213..c8241056bc 100644 +index bbb947616c..65ec00ad73 100644 --- a/src/plugins/mpi/pmix/mpi_pmix.c +++ b/src/plugins/mpi/pmix/mpi_pmix.c -@@ -79,10 +79,13 @@ const char plugin_name[] = "PMIx plugin"; - - #if (HAVE_PMIX_VER == 1) - const char plugin_type[] = "mpi/pmix_v1"; -+const char libpmix_soname[] = "libpmix.so.1"; - #elif (HAVE_PMIX_VER == 2) - const char plugin_type[] = "mpi/pmix_v2"; -+const char libpmix_soname[] = "libpmix.so.2"; - #elif (HAVE_PMIX_VER == 3) - const char plugin_type[] = "mpi/pmix_v3"; -+const char libpmix_soname[] = "libpmix.so.3"; - #endif - - const uint32_t plugin_version = SLURM_VERSION_NUMBER; -@@ -105,7 +108,7 @@ static void *_libpmix_open(void) +@@ -105,10 +105,17 @@ static void *_libpmix_open(void) #elif defined PMIXP_V2_LIBPATH xstrfmtcat(full_path, "%s/", PMIXP_V2_LIBPATH); #endif - xstrfmtcat(full_path, "libpmix.so"); -+ xstrfmtcat(full_path, libpmix_soname); ++ xstrfmtcat(full_path, "libpmix.so.2"); lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); xfree(full_path); ++ if (!lib_plug) { ++ dlerror(); ++ xstrfmtcat(full_path, "libpmix.so.1"); ++ lib_plug = dlopen(full_path, RTLD_LAZY | RTLD_GLOBAL); ++ xfree(full_path); ++ } ++ + if (lib_plug && (HAVE_PMIX_VER != pmixp_lib_get_version())) { + PMIXP_ERROR("pmi/pmix: incorrect PMIx library version loaded %d was loaded, required %d version", + pmixp_lib_get_version(), (int)HAVE_PMIX_VER);