<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <p>Hi Richard,</p>
    <p>Thank you for looking into this. The docker image with our
      almalinux 9 prerequisites installed is only about 600MB, similar
      to all previous centos7 docker and singularity containers. How did
      you get to 6GB?</p>
    <p>As discussed in the meeting on Monday, we previously built our
      root on the group disk and provided it via CVMFS like all other
      software in order to keep the container as light as possible. We
      did not want to install the entire software stack in the container
      itself. Of course this, as everything, is up for discussion.<br>
    </p>
    <p>Cheers,</p>
    <p>Alex</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 10/24/2023 4:00 PM, Richard Jones
      wrote:<br>
    </div>
    <blockquote type="cite" cite="mid:CABfxa3R4+NQU8mKVXSG0iBRgRmKAE=OnRSGHoPDitLV4KUWi9w@mail.gmail.com">
      
      <div dir="ltr">Following up on our discussion at the Software
        working group meeting yesterday, I tried running the prebuilt
        instances of ROOT on /cvmfs/<a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__sft.cern.ch_lcg_app_releases_ROOT&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=9LGv0gfS3B8uAbsk8r_cEX_4GVRxd2wkj-RJy5MLidg&m=7lrRhGlAbpCfAPPWrPmz8x-l7wsRPlpanNCvR3k0Hwk4E9CsZ8kL6mjihhC6e8DO&s=iRdUuSasLLhwqOT5Bdz0RjEHlar6dXJE2tYKWZ01mNw&e=" target="_blank" moz-do-not-send="true">sft.cern.ch/lcg/app/releases/ROOT</a>
        and didn't find any of the 6.28.08 builds relevant to almalinux
        9. Following the recommendations on <a href="https://urldefense.proofpoint.com/v2/url?u=http-3A__root.cern.ch&d=DwMFaQ&c=CJqEzB1piLOyyvZjb8YUQw&r=9LGv0gfS3B8uAbsk8r_cEX_4GVRxd2wkj-RJy5MLidg&m=7lrRhGlAbpCfAPPWrPmz8x-l7wsRPlpanNCvR3k0Hwk4E9CsZ8kL6mjihhC6e8DO&s=ZjDyL6XZY0XlAih94XqqZ_guUWEj1G2QojSgjUOrn2E&e=" target="_blank" moz-do-not-send="true">root.cern.ch</a>, the
        next thing I tried was to install root using yum/dnf. Inside the
        docker container, Inside my alma9 docker container, a copy of
        the one you created with my own Gluex-required additional
        packages, I added a command to install all yum packages that
        have root-core as a dependency.
        <div><br>
        </div>
        <div><span id="gmail-docs-internal-guid-cc5441c3-7fff-00e4-7c17-74181a49ca5d">
            <p dir="ltr" style="line-height:1.2;margin-left:18pt;margin-top:0pt;margin-bottom:0pt"><span style="font-size:9pt;font-family:"Courier New",monospace;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">Apptainer>
                dnf repoquery --whatrequires root-core</span></p>
            <p dir="ltr" style="line-height:1.2;margin-left:18pt;margin-top:0pt;margin-bottom:0pt"><span style="font-size:9pt;font-family:"Courier New",monospace;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">Last
                metadata expiration check: 0:16:40 ago on Tue Oct 24
                11:36:18 2023.</span></p>
            <p dir="ltr" style="line-height:1.2;margin-left:18pt;margin-top:0pt;margin-bottom:0pt"><span style="font-size:9pt;font-family:"Courier New",monospace;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">HepMC3-rootIO-0:3.2.7-1.el9.x86_64</span></p>
            <p dir="ltr" style="line-height:1.2;margin-left:18pt;margin-top:0pt;margin-bottom:0pt"><span style="font-size:9pt;font-family:"Courier New",monospace;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">python3-HepMC3-rootIO-0:3.2.7-1.el9.x86_64</span></p>
            <p dir="ltr" style="line-height:1.2;margin-left:18pt;margin-top:0pt;margin-bottom:0pt"><span style="font-size:9pt;font-family:"Courier New",monospace;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">python3-jupyroot-0:6.28.08-1.el9.x86_64</span></p>
            <p dir="ltr" style="line-height:1.2;margin-left:18pt;margin-top:0pt;margin-bottom:0pt"><span style="font-size:9pt;font-family:"Courier New",monospace;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">python3-root-0:6.28.08-1.el9.x86_64</span></p>
            <p dir="ltr" style="line-height:1.2;margin-left:18pt;margin-top:0pt;margin-bottom:0pt"><span style="font-size:9pt;font-family:"Courier New",monospace;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">root-0:6.28.08-1.el9.x86_64</span></p>
            <p style="line-height:1.2;margin-left:18pt;margin-top:0pt;margin-bottom:0pt"><span style="font-size:9pt;font-family:"Courier New",monospace;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">...
                and many, many more, total of 124 separate packages, 150
                additional </span></p>
            <p style="line-height:1.2;margin-left:18pt;margin-top:0pt;margin-bottom:0pt"><span style="font-size:9pt;font-family:"Courier New",monospace;color:rgb(0,0,0);background-color:transparent;font-variant-numeric:normal;font-variant-east-asian:normal;font-variant-alternates:normal;vertical-align:baseline">...
                libraries drawn in as dependencies of those packages</span></p>
          </span><br class="gmail-Apple-interchange-newline">
          <div>I then ran "dnf -y install" on all 124 of these packages
            inside the container. They all installed without a glitch.
            Now without any customization to the shell environment, all
            of the standard root commands (root, root-config, rootcling,
            rootcint, ...) show up in the default system path, and all
            of the related libraries show up in /usr/lib64<i>. </i>Likewise,
            in the python3 interpreter, I can "import ROOT" and get the
            full pyroot environment. I installed uproot inside the
            container separately using pip. Note that I have the full
            suite of root extras (Roofit, TMVA, Proof, Dataframes ...)
            installed inside the container without having to build
            anything from sources or figure out what package
            dependencies are needed.</div>
        </div>
        <div><br>
        </div>
        <div>The size of the alma9 container has increased from 5.8GB
          (before these 250+ root-related packages) to 7.8GB with
          everything included. I consider the additional 2GB in the
          container footprint to be well worth the effort saved.</div>
        <div><br>
        </div>
        <div>One caveat is that just one release can be installed at a
          time, as far as I know. Is this a drawback? For me it is an
          advantage that there is just one version of root that we have
          to support at a time.</div>
        <div><br>
        </div>
        <div>-Richard Jones</div>
      </div>
    </blockquote>
    <pre class="moz-signature" cols="72">-- 
Alexander Austregesilo

Staff Scientist - Experimental Nuclear Physics
Thomas Jefferson National Accelerator Facility
Newport News, VA
<a class="moz-txt-link-abbreviated" href="mailto:aaustreg@jlab.org">aaustreg@jlab.org</a>
(757) 269-6982</pre>
  </body>
</html>