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

Reply via email to