@@ -7,10 +7,10 @@ reasons cause some compatibility issues where all versions of ldmx-sw
77are not necessarily buildable by all versions of the container.
88
99The "container image" is version controlled in its repository
10- [ LDMX-Software/docker ] ( https://github.com/LDMX-Software/docker ) .
10+ [ LDMX-Software/dev-build-context ] ( https://github.com/LDMX-Software/dev-build-context ) .
1111If you are interested in looking for which minimum version of the container
1212has your desired dependency, you should look through the
13- [ releases] ( https://github.com/LDMX-Software/docker /releases ) of the container.
13+ [ releases] ( https://github.com/LDMX-Software/dev-build-context /releases ) of the container.
1414
1515The ldmx-sw versions are documented in the "releases" of the LDMX-Software/ldmx-sw repository,
1616but you should also read these versions as inclusive of branches that are based off of them.
@@ -41,6 +41,7 @@ force legacy onnx | ldmx-sw's CMake code for finding ONNX didn't work well and s
4141sanitizers | enable one or more of the sanitizers, cmake: ` -DENABLE_SANITIZER_*=ON `
4242detector id bindings | enable detector ID python bindings, cmake: ` -DBUILD_DETECTORID_BINDINGS=ON `
4343patch cmake | need to do both ` no testing ` and ` force legacy onnx `
44+ header patch | transitioning to a newer compiler then required a few more headers to be included[ ^ 3 ]
4445
4546[ ^ 1 ] : Currently in ldmx-sw, there isn't a command-line option to disable the
4647 testing so one must comment out the ` build_test() ` line in ` ldmx-sw/CMakeLists.txt ` .
@@ -53,35 +54,39 @@ patch cmake | need to do both `no testing` and `force legacy onnx`
5354 ` find_path ` call within the ` ldmx-sw/cmake/FindONNXRuntime.cmake ` file. This
5455 prevents CMake from finding the system install in newer containers.
5556
57+ [ ^ 3 ] : The specific headers needed vary depending on the version you are attempting to build.
58+ You can either look at [ the patch files for different versions] ( https://github.com/LDMX-Software/dev-build-context/tree/main/ci/interop )
59+ or simply follow the compiler's instructions for including the appropriate headers.
60+
5661### Pre-v3.0.0
5762No containers have been studied for older versions of ldmx-sw.
5863Although, there was
5964[ a patch-release of v1.7.0] ( https://github.com/LDMX-Software/ldmx-sw/releases/tag/v1.7.1 )
60- so that it could run in a container image.
65+ so that it could run in an image.
6166
6267### >=v3.0.0 and < v3.1.1
6368
64- build config | container version
69+ build config | image version
6570---|---
6671default | < v4.0.0
67- patch cmake | >= v4.0.0
72+ patch cmake | >= v4.0.0, < v5.0.0
6873
6974### >=v3.1.1 and < v3.1.12
7075
71- build config | container version
76+ build config | image version
7277---|---
7378default | < v4.0.0
74- patch cmake | >= v4.0.0
75- with sanitizers | > v3.2
79+ patch cmake | >= v4.0.0, < v5.0.0
80+ with sanitizers | > v3.2, < v5.0.0
7681
7782### >= v3.1.12 and < v3.2.4
7883
79- build config | container version
84+ build config | image version
8085---|---
8186default | < v4.0.0
82- patch cmake | >= v4.0.0
83- with sanitizers | > v3.2
84- with detector id bindings | > v3.3
87+ patch cmake | >= v4.0.0, < v5.0.0
88+ with sanitizers | > v3.2, < v5.0.0
89+ with detector id bindings | > v3.3, < v5.0.0
8590
8691### >= v3.2.5 and < v3.3.4
8792Since we are requiring an upgrade of the container
@@ -90,13 +95,14 @@ detector ID bindings to be included in the default
9095build configuration which simply bumps the minimum
9196no-testing release by three.
9297
93- build config | container version
98+ build config | image version
9499---|---
95- default | >= v4.0.0
96- no det id bindings | >= v3.2
97- no det id bindings and no sanitizers | >= v3.0
100+ default | >= v4.0.0, < v5.0.0
101+ no det id bindings | >= v3.2, < v5.0.0
102+ no det id bindings and no sanitizers | >= v3.0, < v5.0.0
103+ header patch | >= v5.0.0
98104
99- ### >= v3.3.5
105+ ### >= v3.3.5, < v4.2.15
100106Updates to the ROOT dictionary generation procedure inadvertently
101107broke compatibility with older container images.
102108Users of older container images will see issues during dictionary building
@@ -107,7 +113,18 @@ undo the ROOT dictionary generation changes that were done in
107113[ Framework PR #73 ] ( https://github.com/LDMX-Software/Framework/pull/73 ) .
108114This is highly technical and I would recommend avoiding it at all costs.
109115
110- build config | container version
116+ build config | image version
111117---|---
112- default | >= v4.0.0
118+ default | >= v4.0.0, < v5.0.0
119+ header patch | >= v5.0.0
113120
121+ ### >= v4.2.15
122+ Patches for the newer compiler have been included and so the default build
123+ configuration can be handled by the new image version.
124+ Not all of the _ warnings_ from the newer compiler have been patched,
125+ but a regular build that doesn't force the warnings to be errors completes
126+ and runs as expected.
127+
128+ build config | image version
129+ ---|---
130+ default | >= v4.0.0
0 commit comments