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.

Reply via email to