The binaries are probably compiled with the RPATH switch enabled.
https://en.wikipedia.org/wiki/Rpath
Prentice
On 2/18/20 6:18 PM, Dean Schulze wrote:
The ./configure --prefix=... value gets into the Makefiles, which is
no surprise. But it is also getting into the slurmd binary and .o
files. Here's what I found in the slurmd/ source directory:
$ find ./ -type f -exec grep
/home/dean/src/slurm.versions/slurm-19.05.4.build {} /dev/null \;
./Makefile:prefix = /home/dean/src/slurm.versions/slurm-19.05.4.build
Binary file ./slurmd.o matches
Binary file ./get_mach_stat.o matches
Binary file ./req.o matches
Binary file ./slurmd matches
I can't tell what is going on in the Makefile that puts that string
into the .o file and the slurmd binary, however.
On Tue, Feb 18, 2020 at 3:44 PM Dean Schulze <dean.w.schu...@gmail.com
<mailto:dean.w.schu...@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.