Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Include Acts, Bump Catch2, Don't use PYTHONPATH too early #115

Merged
merged 5 commits into from
Mar 14, 2025

Conversation

tomeichlersmith
Copy link
Member

@tomeichlersmith tomeichlersmith commented Mar 10, 2025

I am adding a new package to the container, here are the details.

What new packages does this PR add to the development container?

Check List

  • I successfully built the container using docker
  • I was able to build ldmx-sw using this new container build
  • I was able to test run a small simulation and reconstruction inside this container
  • I was able to successfully use the new packages. Explain what you did to test them below

When building and running ldmx-sw, I used LDMX-Software/ldmx-sw#1649 and saw that Acts was not downloaded. The build still completed like normal (modulo the extra warnings from the new compiler that are still to-be-patched) and running 10 events through the inclusive validation sample tested that tracking was running like normal.

The Catch2 unit tests built without modification. Some of them are failing due to unrelated issues from other updates to the image.

@tomeichlersmith
Copy link
Member Author

While working on updating the ubuntu packages listing, I found several packages that we could probably drop.

I've attached the diff that I would apply for the next round of building. The basic cleanup is removing two groups of packages:

  1. Packages needed to build log4cpp. log4cpp is now available in a new enough version in the Ubuntu Repos so we don't need to install its build dependencies.
  2. Packages for Distrobox Support. distrobox can install these packages when creating the box from an image and so we don't need to carry them around. I only installed them when I was investigating adding apptainer support to distrobox where the main obstacle was the immutability of the image.
Cleanup Patches
diff --git a/Dockerfile b/Dockerfile
index c79d1c6..38b6413 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -18,42 +18,13 @@ RUN chmod +x /usr/local/bin/install-ubuntu-packages
 # Ongoing documentation for packages used is in docs/ubuntu-packages.md
 # Basic OS/System tools
 RUN install-ubuntu-packages \
-    autoconf \
-    automake \
     binutils \
     cmake \
-    curl\
     gcc g++ gfortran \
     locales \
     make \
     wget
 
-# Packages necessary for Distrobox support
-RUN install-ubuntu-packages \
-    apt-utils \
-    bc \
-    dialog \
-    diffutils \
-    findutils \
-    fish \
-    gnupg2 \
-    less \
-    libnss-myhostname \
-    libvte-2.9[0-9]-common \
-    libvte-common \
-    lsof \
-    ncurses-base \
-    passwd \
-    pinentry-curses \
-    procps \
-    sudo \
-    time \
-    util-linux \ 
-    zsh \
-    libx11-dev \
-    libxmu-dev \
-    && rm -rf /var/lib/apt/lists/*
-
 # Basic python support, necessary for the build steps.
 # 
 # Note: If you want to add additional python packages, you probably want to do
@@ -167,7 +138,7 @@ RUN install-ubuntu-packages \
     libz-dev \
     libzstd-dev \
     srm-ifce-dev \
-    libgsl-dev # Necessary for GENIE
+    libgsl-dev
 
 ENV ROOT_VERSION="6.34.04"
 LABEL root.version=${ROOT_VERSION}
@@ -318,8 +289,7 @@ RUN mkdir src &&\
 # Note that libgsl-dev needs to be available already when building ROOT
 # so that the MathMore target can be build which is used by GENIE
 RUN install-ubuntu-packages \
-    liblog4cpp5-dev \
-    libtool
+    liblog4cpp5-dev

 LABEL genie.version=3.04.02
 ENV GENIE_VERSION=3_04_02-ldmx

autoconf, automake, and libtool are build dependencies of log4cpp which
we aren't building anymore

curl and the distrobox support packages are not needed since distrobox
can install these packages itself when creating a box from an image
@tomeichlersmith
Copy link
Member Author

While I am very confident that these updates are ready to merge, I am going to wait until the ARM build is done so that its layers are cached and the rebuild of the image on main can be faster.

@tomeichlersmith tomeichlersmith marked this pull request as ready for review March 12, 2025 14:45
@tomeichlersmith tomeichlersmith merged commit 89997a0 into main Mar 14, 2025
11 checks passed
@tomeichlersmith tomeichlersmith deleted the include-acts branch March 14, 2025 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

update Catch2 to latest release ACTS v36
1 participant