Totally. That's why we are upgrading. We were recommended by SchedMD to update the OS first, then Slurm. So as we are testing RHEL 9 we are hitting this roadblock.
On Fri, Sep 27, 2024 at 12:12 PM Davide DelVento <davide.quan...@gmail.com> wrote: > Slurm 18? Isn't that a bit outdated? > > On Fri, Sep 27, 2024 at 9:41 AM Robert Kudyba via slurm-users < > slurm-users@lists.schedmd.com> wrote: > >> We're in the process of upgrading but first we're moving to RHEL 9. My >> attempt to compile using rpmbuild -v -ta --define "_lto_cflags %{nil}" >> slurm-18.08.9.tar.bz2 (H/T to Brian for this flag >> <https://groups.google.com/g/slurm-users/c/W8YfGIn1rDI/m/4bsSAoqZAAAJ>). >> I've stumped Google and the Slurm mailing list with the scancel error so >> hoping someone here knows of a work around. >> >> /bin/ld: >> opt.o:/root/rpmbuild/BUILD/slurm-18.08.9/src/scancel/../../src/scancel/scancel.h:78: >> multiple definition of `opt'; >> scancel.o:/root/rpmbuild/BUILD/slurm-18.08.9/src/scancel/../../src/scancel/scancel.h:78: >> first defined here >> collect2: error: ld returned 1 exit status >> make[3]: *** [Makefile:577: scancel] Error 1 >> make[3]: Leaving directory >> '/root/rpmbuild/BUILD/slurm-18.08.9/src/scancel' >> make[2]: *** [Makefile:563: all-recursive] Error 1 >> make[2]: Leaving directory '/root/rpmbuild/BUILD/slurm-18.08.9/src' >> make[1]: *** [Makefile:690: all-recursive] Error 1 >> make[1]: Leaving directory '/root/rpmbuild/BUILD/slurm-18.08.9' >> make: *** [Makefile:589: all] Error 2 >> error: Bad exit status from /var/tmp/rpm-tmp.jhiGyR (%build) >> >> >> RPM build errors: >> Macro expanded in comment on line 22: %_prefix path install path for >> commands, libraries, etc. >> >> line 70: It's not recommended to have unversioned Obsoletes: >> Obsoletes: slurm-lua slurm-munge slurm-plugins >> Macro expanded in comment on line 158: %define >> _unpackaged_files_terminate_build 0 >> >> line 224: It's not recommended to have unversioned Obsoletes: >> Obsoletes: slurm-sql >> line 256: It's not recommended to have unversioned Obsoletes: >> Obsoletes: slurm-sjobexit slurm-sjstat slurm-seff >> line 275: It's not recommended to have unversioned Obsoletes: >> Obsoletes: pam_slurm >> Bad exit status from /var/tmp/rpm-tmp.jhiGyR (%build) >> >> #!/bin/sh >> >> RPM_SOURCE_DIR="/root" >> RPM_BUILD_DIR="/root/rpmbuild/BUILD" >> RPM_OPT_FLAGS="-O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall >> -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS >> "-Wl,-z,lazy" -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 >> -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables >> -fstack-clash-protection -fcf-protection" >> RPM_LD_FLAGS="-Wl,-z,relro -Wl,--as-needed "-Wl,-z,lazy" >> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 " >> RPM_ARCH="x86_64" >> RPM_OS="linux" >> RPM_BUILD_NCPUS="48" >> export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_LD_FLAGS RPM_ARCH >> RPM_OS RPM_BUILD_NCPUS RPM_LD_FLAGS >> RPM_DOC_DIR="/usr/share/doc" >> export RPM_DOC_DIR >> RPM_PACKAGE_NAME="slurm" >> RPM_PACKAGE_VERSION="18.08.9" >> RPM_PACKAGE_RELEASE="1.el9" >> export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE >> LANG=C >> export LANG >> unset CDPATH DISPLAY ||: >> RPM_BUILD_ROOT="/root/rpmbuild/BUILDROOT/slurm-18.08.9-1.el9.x86_64" >> export RPM_BUILD_ROOT >> >> >> PKG_CONFIG_PATH="${PKG_CONFIG_PATH}:/usr/lib64/pkgconfig:/usr/share/pkgconfig" >> export PKG_CONFIG_PATH >> CONFIG_SITE=${CONFIG_SITE:-NONE} >> export CONFIG_SITE >> >> set -x >> umask 022 >> cd "/root/rpmbuild/BUILD" >> cd 'slurm-18.08.9' >> >> >> CFLAGS="${CFLAGS:--O2 -fexceptions -g -grecord-gcc-switches -pipe >> -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 >> -Wp,-D_GLIBCXX_ASSERTIONS "-Wl,-z,lazy" >> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 >> -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection >> -fcf-protection}" ; export CFLAGS ; >> CXXFLAGS="${CXXFLAGS:--O2 -fexceptions -g -grecord-gcc-switches -pipe >> -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 >> -Wp,-D_GLIBCXX_ASSERTIONS "-Wl,-z,lazy" >> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 >> -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection >> -fcf-protection}" ; export CXXFLAGS ; >> FFLAGS="${FFLAGS:--O2 -fexceptions -g -grecord-gcc-switches -pipe >> -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 >> -Wp,-D_GLIBCXX_ASSERTIONS "-Wl,-z,lazy" >> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 >> -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection >> -fcf-protection -I/usr/lib64/gfortran/modules}" ; export FFLAGS ; >> FCFLAGS="${FCFLAGS:--O2 -fexceptions -g -grecord-gcc-switches -pipe >> -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 >> -Wp,-D_GLIBCXX_ASSERTIONS "-Wl,-z,lazy" >> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 >> -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection >> -fcf-protection -I/usr/lib64/gfortran/modules}" ; export FCFLAGS ; >> LDFLAGS="${LDFLAGS:--Wl,-z,relro -Wl,--as-needed "-Wl,-z,lazy" >> -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 }" ; export LDFLAGS ; >> LT_SYS_LIBRARY_PATH="${LT_SYS_LIBRARY_PATH:-/usr/lib64:}" ; export >> LT_SYS_LIBRARY_PATH ; >> CC="${CC:-gcc}" ; export CC ; >> CXX="${CXX:-g++}" ; export CXX; >> [ ""x != x ] && >> for file in $(find . -type f -name configure -print); do >> /usr/bin/sed -r --in-place=.backup 's/^char \(\*f\) \(\) = >> /__attribute__ ((used)) char (*f) () = /g' $file; >> diff -u $file.backup $file && mv $file.backup $file >> /usr/bin/sed -r --in-place=.backup 's/^char \(\*f\) >> \(\);/__attribute__ ((used)) char (*f) ();/g' $file; >> diff -u $file.backup $file && mv $file.backup $file >> /usr/bin/sed -r --in-place=.backup 's/^char \$2 \(\);/__attribute__ >> ((used)) char \$2 ();/g' $file; >> diff -u $file.backup $file && mv $file.backup $file >> /usr/bin/sed --in-place=.backup '1{$!N;$!N};$!N;s/int x = 1;\nint y = >> 0;\nint z;\nint nan;/volatile int x = 1; volatile int y = 0; volatile int >> z, nan;/;P;D' $file; >> diff -u $file.backup $file && mv $file.backup $file >> /usr/bin/sed --in-place=.backup >> 's#^lt_cv_sys_global_symbol_to_cdecl=.*#lt_cv_sys_global_symbol_to_cdecl="sed >> -n -e '"'"'s/^T .* \\(.*\\)$/extern int \\1();/p'"'"' -e '"'"'s/^$symcode* >> .* \\(.*\\)$/extern char \\1;/p'"'"'"#' $file; >> diff -u $file.backup $file && mv $file.backup $file >> done; >> [ "1" = 1 ] && for i in $(find $(dirname ./configure) -name >> config.guess -o -name config.sub) ; do >> [ -f /usr/lib/rpm/redhat/$(basename $i) ] && /usr/bin/rm -f $i && >> /usr/bin/cp -fv /usr/lib/rpm/redhat/$(basename $i) $i ; >> done ; >> [ "1" = 1 ] && [ x != "x"-Wl,-z,lazy"" ] && >> for i in $(find . -name ltmain.sh) ; do >> /usr/bin/sed -i.backup -e >> 's~compiler_flags=$~compiler_flags=""-Wl,-z,lazy""~' $i >> done ; >> ./configure --build=x86_64-redhat-linux-gnu >> --host=x86_64-redhat-linux-gnu \ >> --program-prefix= \ >> --disable-dependency-tracking \ >> \ >> --prefix=/usr \ >> --exec-prefix=/usr \ >> --bindir=/usr/bin \ >> --sbindir=/usr/sbin \ >> --sysconfdir=/etc/slurm \ >> --datadir=/usr/share \ >> --includedir=/usr/include \ >> --libdir=/usr/lib64 \ >> --libexecdir=/usr/libexec \ >> --localstatedir=/var \ >> --sharedstatedir=/var/lib \ >> --mandir=/usr/share/man \ >> --infodir=/usr/share/info \ >> \ >> >> make -j48 >> >> >> RPM_EC=$? >> for pid in $(jobs -p); do kill -9 ${pid} || continue; done >> exit ${RPM_EC} >> >> -- >> slurm-users mailing list -- slurm-users@lists.schedmd.com >> To unsubscribe send an email to slurm-users-le...@lists.schedmd.com >> >
-- slurm-users mailing list -- slurm-users@lists.schedmd.com To unsubscribe send an email to slurm-users-le...@lists.schedmd.com