[Halld-offline] [EXTERNAL] update on methods for installing root in apptainer environment
Alexander Austregesilo
aaustreg at jlab.org
Tue Oct 24 16:14:52 EDT 2023
Hi Richard,
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?
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.
Cheers,
Alex
On 10/24/2023 4:00 PM, Richard Jones wrote:
> Following up on our discussion at the Software working group meeting
> yesterday, I tried running the prebuilt instances of ROOT on
> /cvmfs/sft.cern.ch/lcg/app/releases/ROOT
> <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=>
> and didn't find any of the 6.28.08 builds relevant to almalinux 9.
> Following the recommendations on root.cern.ch
> <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=>,
> 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.
>
> Apptainer> dnf repoquery --whatrequires root-core
>
> Last metadata expiration check: 0:16:40 ago on Tue Oct 24 11:36:18 2023.
>
> HepMC3-rootIO-0:3.2.7-1.el9.x86_64
>
> python3-HepMC3-rootIO-0:3.2.7-1.el9.x86_64
>
> python3-jupyroot-0:6.28.08-1.el9.x86_64
>
> python3-root-0:6.28.08-1.el9.x86_64
>
> root-0:6.28.08-1.el9.x86_64
>
> ... and many, many more, total of 124 separate packages, 150 additional
>
> ... libraries drawn in as dependencies of those packages
>
>
> 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/. /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.
>
> 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.
>
> 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.
>
> -Richard Jones
--
Alexander Austregesilo
Staff Scientist - Experimental Nuclear Physics
Thomas Jefferson National Accelerator Facility
Newport News, VA
aaustreg at jlab.org
(757) 269-6982
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.jlab.org/pipermail/halld-offline/attachments/20231024/6f318e51/attachment-0001.html>
More information about the Halld-offline
mailing list