<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Folks,</p>
    <p>Alex A. discovered a problem with the new BMS_OSNAME scheme that
      is definitely there, but whose solution is unclear at present. It
      has to do with building on the native CentOS 7 of the ifarm using
      libraries from the build in the CentOS 7 container. Going forward,
      the new scheme depends on this combination working, so this is a
      non-trivial problem.</p>
    <p>As a result, we are going to drop back to the old BMS_OSNAME
      scheme, i.e., revert Build Scripts back to version 2.34. This has
      already been done at JLab.</p>
    <p>Note that any conversions you may have performed on your
      directories using change_bms_osname.sh do not need to be reversed
      to work with the reverted/old scheme. There will be soft links
      that you created in the conversion to service the new scheme, but
      those links are completely ignored in the old scheme.</p>
    <p>TL;DR</p>
    <p>Before this change was proposed, tests were performed where the
      software was run on the ifarm, using <b>both</b> binaries <b>and</b>
      shared libraries from the container build. The reverse scenario
      was also tested, i.e., running in the container using software
      built on the native ifarm. The newly discovered problem scenario
      is where new <b>binaries are built on ifarm</b> against <b>libraries
        from the container</b> and then run on the ifarm. So not all
      mixtures appear to work. It is not known why.<br>
    </p>
    <p>Also, this implies a lot of possible combinations to test. Indeed
      if we need to keep track of working and non-working combos, that
      kind of defeats the advantage of having a single build for the
      ifarm and container.<br>
    </p>
    <p>Since we do not have a solution in hand we think it is better to
      cut our losses now while we work on understanding the problem. We
      will likely try again in the intermediate term when a revised
      strategy has been developed.</p>
    <p>Build Scripts versions 3.0 and 3.1 have been deleted from the
      GitHub repo.<br>
    </p>
    <p>Sorry for the confusion.</p>
    <p>  -- Mark<br>
    </p>
    <div class="moz-cite-prefix">On 6/8/22 5:00 PM, Mark Ito wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:71a5fcfa-1e50-b870-7bb7-972a8d10acbb@jlab.org">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Folks,</p>
      <p>Elton discovered a bug in the change_bms_osname.sh script. The
        <a moz-do-not-send="true"
          href="https://en.wikipedia.org/wiki/Shebang_(Unix)">shebang</a>
        was malformed! That went unnoticed during testing. It would have
        affected you if you are running the tcsh shell.</p>
      <p>The problem is fixed in <a moz-do-not-send="true"
          href="https://github.com/JeffersonLab/build_scripts/releases/tag/3.1">Build
          Scripts 3.1</a> which is now installed at JLab.</p>
      <p>  -- Mark<br>
      </p>
      <div class="moz-cite-prefix">On 6/8/22 11:55 AM, Mark Ito wrote:<br>
      </div>
      <blockquote type="cite"
        cite="mid:c2709d71-353a-3997-fd0e-943327f20dee@jlab.org">
        <p>The change went through at 8 this morning as planned. If you
          see problems, please let me know.<br>
        </p>
        <div class="moz-cite-prefix">On 6/7/22 4:27 PM, Mark Ito wrote:<br>
        </div>
        <blockquote type="cite"
          cite="mid:fb3495cc-c418-cc14-f6ea-9745c1805e34@jlab.org">
          <p>Reminder: the definition of BMS_OSNAME will change at JLab
            tomorrow morning.<br>
          </p>
          <div class="moz-cite-prefix">On 6/6/22 3:10 PM, Mark Ito
            wrote:<br>
          </div>
          <blockquote type="cite"
            cite="mid:73ca3595-ecaa-ac0d-616b-994f5bf55738@jlab.org">
            <p>Folks,</p>
            <p>We are changing the value of the BMS_OSNAME environment
              variable. Some user-owned directories will need patching
              to work with the new scheme. A script to do the patching
              will be available (see below). This action was discussed
              and endorsed at recent Software Meetings.</p>
            <p>The change occurs when we update from Build Scripts
              version 2.34 to version 3.0.<b> This will occur at JLab at
                8:00 am, on Wednesday, June 8.</b></p>
            <p>Note<b>: </b>there is a test version of the new Build
              Scripts checked out at
              /group/halld/Software/build_scripts-3.0 for those who
              would like to test the new arrangement.<br>
            </p>
            <p>This change will affect you if you have any private
              builds of certain GlueX packages (e.g., halld_recon,
              halld_sim) or if you have personal plugins in your
              HALLD_MY directory. Also people who maintain their own
              GLUEX_TOP directories will have to apply a patch. You will
              know that you have been affected if you start to suddenly
              get file-not-found-like errors.</p>
            <p>The script to patch your directories is
              $BUILD_SCRIPTS/change_bms_osname.sh. The usage message is</p>
            <pre>usage: change_bms_osname.sh <target>
    
where target is one of

  "jlab": convert the /group/halld/Software/builds tree at JLab (script must be
          executed from a directory named "builds")
  "gluex_top": convert a GLUEX_TOP tree (GLUEX_TOP must be defined in the
               environment)
  "halld_my": convert a HALLD_MY tree (HALLD_MY must be defined in the
              environment)
  "jana": convert a jana tree (JANA_HOME must be defined in the environment)
  "hdds": convert a hdds tree (HDDS_HOME must be defined in the environment)
  "halld_recon": convert a halld_recon tree (HALLD_RECON_HOME must be defined in
                 the environment)
  "halld_sim": convert a halld_sim tree (HALLD_SIM_HOME must be defined in the
               environment)
  "gluex_root_analysis": convert a gluex_root_analysis tree (ROOT_ANALYSIS_HOME
                         must be defined in the environment)

</pre>
            <p>So, for example, if you want to patch your private build
              of halld_sim, the command is</p>
            <pre>$BUILD_SCRIPTS/change_bms_osname.sh halld_sim</pre>
            <p>The script uses the definition of HALLD_SIM_HOME that it
              finds in your environment to identify the directory to be
              patched.</p>
            <p>Basically, since BMS_OSNAME appears in the directory
              structure for our packages, links have to be added, from
              new name to old name, to keep the built package viable
              after the change.</p>
            <p>A table of old and new BMS_OSNAME definitions is
              attached.</p>
              -- Mark<br>
            <br>
            <fieldset class="moz-mime-attachment-header"></fieldset>
            <pre class="moz-quote-pre" wrap="">_______________________________________________
Halld-offline mailing list
<a class="moz-txt-link-abbreviated moz-txt-link-freetext" href="mailto:Halld-offline@jlab.org" moz-do-not-send="true">Halld-offline@jlab.org</a>
<a class="moz-txt-link-freetext" href="https://mailman.jlab.org/mailman/listinfo/halld-offline" moz-do-not-send="true">https://mailman.jlab.org/mailman/listinfo/halld-offline</a></pre>
          </blockquote>
        </blockquote>
      </blockquote>
    </blockquote>
  </body>
</html>