<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>The binaries are probably compiled with the RPATH switch enabled.
      <br>
    </p>
    <p><a class="moz-txt-link-freetext" href="https://en.wikipedia.org/wiki/Rpath">https://en.wikipedia.org/wiki/Rpath</a><br>
    </p>
    <pre class="moz-signature" cols="72">Prentice</pre>
    <div class="moz-cite-prefix">On 2/18/20 6:18 PM, Dean Schulze wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CA+LiX6HAjnH5MN3=xoOTmLCBGG+i2L7G6TYq8FmiXvT5_idQgw@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="ltr">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:
        <div><br>
        </div>
        <div>$ find ./ -type f -exec grep
          /home/dean/src/slurm.versions/slurm-19.05.4.build {} /dev/null
          \;<br>
          ./Makefile:prefix =
          /home/dean/src/slurm.versions/slurm-19.05.4.build<br>
          Binary file ./slurmd.o matches<br>
          Binary file ./get_mach_stat.o matches<br>
          Binary file ./req.o matches<br>
          Binary file ./slurmd matches<br>
        </div>
        <div><br>
        </div>
        <div>I can't tell what is going on in the Makefile that puts
          that string into the .o file and the slurmd binary, however.</div>
        <div><br>
        </div>
      </div>
      <br>
      <div class="gmail_quote">
        <div dir="ltr" class="gmail_attr">On Tue, Feb 18, 2020 at 3:44
          PM Dean Schulze <<a href="mailto:dean.w.schulze@gmail.com"
            moz-do-not-send="true">dean.w.schulze@gmail.com</a>>
          wrote:<br>
        </div>
        <blockquote class="gmail_quote" style="margin:0px 0px 0px
          0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
          <div dir="ltr">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:
            <div><br>
            </div>
            <div>fatal: Unable to find slurmstepd file at
              /home/dean/src/slurm.versions/slurm-19.05.4.build/<br>
            </div>
            <div><br>
            </div>
            <div>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.</div>
            <div><br>
            </div>
            <div>Here's my slurmd.service file on my node:</div>
            <div><br>
            </div>
            <div>Unit]<br>
              Description=Slurm node daemon<br>
              After=munge.service network.target remote-fs.target<br>
              ConditionPathExists=/etc/slurm/slurm.conf<br>
              <br>
              [Service]<br>
              Type=forking<br>
              EnvironmentFile=-/etc/sysconfig/slurmd<br>
              ExecStart=/usr/local/sbin/slurmd $SLURMD_OPTIONS<br>
              ExecReload=/bin/kill -HUP $MAINPID<br>
              PIDFile=/var/run/slurmd.pid<br>
              KillMode=process<br>
              LimitNOFILE=131072<br>
              LimitMEMLOCK=infinity<br>
              LimitSTACK=infinity<br>
              Delegate=yes<br>
              TasksMax=infinity<br>
              <br>
              [Install]<br>
              WantedBy=multi-user.target<br>
            </div>
            <div><br>
            </div>
            <div>Why is the slurmd binary looking for the build path? 
              That path is not in any .service or .conf file  on the
              node.<br>
            </div>
          </div>
        </blockquote>
      </div>
    </blockquote>
  </body>
</html>