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

Reply via email to