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> 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. >