So it sounds like the simplest approach would be to remove libcons_common from the make file and copy cons_common.[ch] into my project and provide my own implementations in the appropriate functions in cons_common.c.
On Wed, Feb 26, 2020 at 6:12 AM Jeffrey T Frey <f...@udel.edu> wrote: > Did you reuse the 20.02 select/cons_res/Makefile.{in,am} in your plugin's > source? You probably will have to re-model your plugin after the > select/cray_aries plugin if you need to override those two functions (it > also defines its own select_p_job_begin() and doesn't link against > libcons_common.la). Naturally, omitting libcons_common.a from your > plugin doesn't help if you use other functions defined in select/common. > > > > > > > On Feb 26, 2020, at 00:48 , Dean Schulze <dean.w.schu...@gmail.com> > wrote: > > > > There was a major refactoring between the 19.05 and 20.02 code. Most of > the callbacks for select plugins were moved to cons_common. I have a > plugin for 19.05 that depends on two of those callbacks: > select_p_job_begin() and select_p_job_fini(). My plugin is a copy of the > select/cons_res plugin, but when I implement those functions in my plugin I > get this error because those functions already exist in cons_common: > > > > > /home/dean/src/slurm.versions/slurm-20.02/slurm-20.02.0/src/plugins/select/cons_common/cons_common.c:1134: > multiple definition of `select_p_job_begin'; > .libs/select_liqid_cons_res.o:/home/dean/src/slurm.versions/slurm-20.02/slurm-20.02.0/src/plugins/select/liqid_cons_res/select_liqid_cons_res.c:559: > first defined here > > /usr/bin/ld: ../cons_common/.libs/libcons_common.a(cons_common.o): in > function `select_p_job_fini': > > > /home/dean/src/slurm.versions/slurm-20.02/slurm-20.02.0/src/plugins/select/cons_common/cons_common.c:1561: > multiple definition of `select_p_job_fini'; > .libs/select_liqid_cons_res.o:/home/dean/src/slurm.versions/slurm-20.02/slurm-20.02.0/src/plugins/select/liqid_cons_res/select_liqid_cons_res.c:607: > first defined here > > collect2: error: ld returned 1 exit status > > > > Since only one select plugin can be used at a time (determined in > slurm.conf) I could put my code in the cons_common implementation of those > functions, but if I ever switch plugins then my plugin code will get > executed when it shouldn't be. > > > > How can I "override" those callbacks in my own plugin? This isn't Java > (but it sure looks like the slurm code tries to do Java in C). > > > > > > On Tue, Feb 25, 2020 at 11:57 AM Tim Wickberg <t...@schedmd.com> wrote: > > After 9 months of development and testing we are pleased to announce the > > availability of Slurm version 20.02.0! > > > > Downloads are available from https://www.schedmd.com/downloads.php. > > > > Highlights of the 20.02 release include: > > > > - A "configless" method of deploying Slurm within the cluster, in which > > the slurmd and user commands can use DNS SRV records to locate the > > slurmctld host and automatically download the relevant configuration > files. > > > > - A new "auth/jwt" authentication mechanism using JWT, which can help > > integrate untrusted external systems into the cluster. > > > > - A new "slurmrestd" command/daemon which translates a new Slurm REST > > API into the underlying libslurm calls. > > > > - Packaging fixes for RHEL8 distributions. > > > > - Significant performance improvements to the backfill scheduler, as > > well as to string construction and processing. > > > > Thank you to all customers, partners, and community members who > > contributed to this release. > > > > As with past releases, the documentation available at > > https://slurm.schedmd.com has been updated to the 20.02 release. Past > > versions are available in the archive. This release also marks the end > > of support for the 18.08 release. The 19.05 release will remain > > supported up until the 20.11 release in November, but will not see as > > frequent updates, and bug-fixes will be targeted for the 20.02 > > maintenance releases going forward. > > > > -- > > Tim Wickberg > > Chief Technology Officer, SchedMD > > Commercial Slurm Development and Support > > > > >