[slurm-users] Why does the make install path get hard coded into the slurmd binary?

Dean Schulze dean.w.schulze at gmail.com
Tue Feb 18 22:57:27 UTC 2020


I used a similar ./configure command:

./configure --prefix=/home/dean/src/slurm.versions/slurm-19.05.4.build
--sysconfdir=/etc/slurm --enable-pam
--with-pam_dir=/lib/x86_64-linux-gnu/security/ --without-shared-libslurm
--enable-debug

The problem is that the path in --prefix is getting into the slurmd
binary.  The slurmd binary expects to find the stepd binary there instead
of looking in /usr/local/sbin where the binaries get installed.

I've seen this happen when the slurmd.service file has that path in it, but
that isn't the case.

On Tue, Feb 18, 2020 at 3:53 PM Alex Chekholko <alex at calicolabs.com> wrote:

> Hey Dean,
>
> Here is what I found in my build notes which are now outdated by 1 year at
> least, but probably there are some more configure parameters you want to
> specify with relevant directories:
>
> ./configure --prefix=/tmp/slurm-build --sysconfdir=/etc/slurm --enable-pam
> --with-pam_dir=/lib/x86_64-linux-gnu/security/ --without-shared-libslurm
>
> Regards,
> Alex
>
> On Tue, Feb 18, 2020 at 2:45 PM Dean Schulze <dean.w.schulze at gmail.com>
> wrote:
>
>> I built slurm on one machine (controller) and copied the new slurmd
>> binary to a node.  When I started it systemctl it failed with the message:
>>
>> fatal: Unable to find slurmstepd file at
>> /home/dean/src/slurm.versions/slurm-19.05.4.build/
>>
>> The path it refers to is what I gave to ./configure --prefix==... on the
>> controller where I built the binaries.  The --prefix= value is used by the
>> make install step to output the slurm* binaries it creates to.  That path
>> also gets written into the generated .service files. for ExecStart=..  I
>> change the ExecStart= in the .service files to /usr/local/sbin where I
>> place the slurm* binaries.
>>
>> Here's my slurmd.service file on my node:
>>
>> Unit]
>> Description=Slurm node daemon
>> After=munge.service network.target remote-fs.target
>> ConditionPathExists=/etc/slurm/slurm.conf
>>
>> [Service]
>> Type=forking
>> EnvironmentFile=-/etc/sysconfig/slurmd
>> ExecStart=/usr/local/sbin/slurmd $SLURMD_OPTIONS
>> ExecReload=/bin/kill -HUP $MAINPID
>> PIDFile=/var/run/slurmd.pid
>> KillMode=process
>> LimitNOFILE=131072
>> LimitMEMLOCK=infinity
>> LimitSTACK=infinity
>> Delegate=yes
>> TasksMax=infinity
>>
>> [Install]
>> WantedBy=multi-user.target
>>
>> Why is the slurmd binary looking for the build path?  That path is not in
>> any .service or .conf file  on the node.
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schedmd.com/pipermail/slurm-users/attachments/20200218/fa3bfcf1/attachment.htm>


More information about the slurm-users mailing list