There's a typo in there. It's lazy not -lazy. Try adding exactly this line just before the %configure: # use -z lazy to allow dlopen with unresolved symbolsexport LDFLAGS="%{build_ldflags} -Wl,-z,lazy" <--- this should fix it%configure \ On Sunday, December 8, 2019, 05:30:00 PM EST, Brian Andrus <toomuc...@gmail.com> wrote: There must be something more, because I am trying it with [root@node02 ~]# rpm -E "%{build_ldflags}" -Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-z,-lazy It builds (as expected) but slurmd will not start due to the same error. (Note, I have also tried LDFLAGS without --specs and without -Wl,-z-now with the same result) [root@node02 ~]# slurmd slurmd: error: plugin_load_from_file: dlopen(/usr/lib64/slurm/select_cons_tres.so): /usr/lib64/slurm/select_cons_tres.so: undefined symbol: powercap_get_cluster_current_cap slurmd: error: Couldn't load specified plugin name for select/cons_tres: Dlopen of plugin file failed slurmd: fatal: Can't find plugin for select/cons_tres So I still stand by my initial assessment of slurmd not running when built under CentOS8, even with lazy I see others have had the same issue and even add to comments in the bugs, but no responses/resolution for this have been posted. FWIW, I also see the issue with the latest slurm 20.05 pre1 code. Brian Andrus
On 12/5/2019 11:46 PM, von St. Vieth, Benedikt wrote: Hi again, I answered this question on Oct 28. Simply use lazy binding as required by slurm. See a copy below of my Oct 28 response to your original thread.Just adjust the %build section of the rpm spec to ensure that -Wl,-z,-lazy appears at the end of LDFLAGS. Problem solved. Isn't this something that should end up in the upstream .spec, with a if/else condition for EL8? At the moment we are able to use a only slightly modified version of the original spec to build our EL7 version. best benedikt High-Performance Computing Systems Juelich Supercomputing Centre phone: +49 2461 61-9401 fax: +49 2461 61-6656 email: b.von.st.vi...@fz-juelich.de ------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------- Forschungszentrum Juelich GmbH 52425 Juelich Sitz der Gesellschaft: Juelich Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498 Vorsitzender des Aufsichtsrats: MinDir Volker Rieke Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender), Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt, Prof. Dr. Sebastian M. Schmidt ------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------- On 6. Dec 2019, at 08:23, Shane Kelly <shane.ke...@glasgow.ac.uk> wrote: Hi Phillip, Thanks for taking the time to reply to me - while I did search the list before posting, I did not find your response. Many thanks for pointing out the solution - originally, and again for me specifically. You, and people like you keep open-source software moving forward. Thanks again for your time, I do appreciate it. Kind regards, Shane Kelly I answered this question on Oct 28. Simply use lazy binding as required by slurm. See a copy below of my Oct 28 response to your original thread.Just adjust the %build section of the rpm spec to ensure that -Wl,-z,-lazy appears at the end of LDFLAGS. Problem solved. You probably built slurm with immediate binding instead of lazy binding. Check the tags in the plugin for BIND_NOW: $ readelf -d /usr/lib64/slurm/select_cons_tres.so | grep BIND_NOW If you find that tag, relink slurm with lazy binding instead, i.e. do not use any form of "now" linking, e.g. -Wl,-z,now.> Note that the linker will honor the last directive seen on the command line, so simply appending -Wl,-z,lazy to the end> should suffice. On Thursday, December 5, 2019, 12:36:52 PM EST, Brian Andrus <toomuc...@gmail.com> wrote: Tim claims it works... I have compiled it, but when you try to run slurmd, it throws some errors and will not start. From a previous thread: While I can successfully build/run slurmctld, slurmd is failing because ALL of the SelectType libraries are missing symbols. Example from select_cons_tres.so: # slurmd slurmd: error: plugin_load_from_file: dlopen(/usr/lib64/slurm/select_cons_tres.so): /usr/lib64/slurm/select_cons_tres.so: undefined symbol: powercap_get_cluster_current_cap slurmd: error: Couldn't load specified plugin name for select/cons_tres: Dlopen of plugin file failed slurmd: fatal: Can't find plugin for select/cons_tres # nm -D /usr/lib64/slurm/libslurmfull.so|grep powercap_ 000000000010f7b8 T slurm_free_powercap_info_msg 0000000000060060 T slurm_print_powercap_info_msg I am in the process of getting my client to purchase support so I can have a ticket that gets attention :) Brian On 12/5/2019 4:17 AM, Shane Kelly wrote: Hi, Is there anybody who has actually managed to compile from rpm on Centos 8? And if so, could they share their recipe, please? Thanks in anticipation :-) Shane Kelly