[slurm-users] Slurm 19-05-4-1 and Centos8

Brian Andrus toomuchit at gmail.com
Sun Dec 8 22:28:34 UTC 2019


There must be something more, because I am trying it with

/*[root at 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 at 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.vieth at 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.Kelly at 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
>>> <toomuchit at 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
>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schedmd.com/pipermail/slurm-users/attachments/20191208/1e2d419d/attachment.htm>


More information about the slurm-users mailing list