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