@@ -7,10 +7,10 @@ reasons cause some compatibility issues where all versions of ldmx-sw
7
7
are not necessarily buildable by all versions of the container.
8
8
9
9
The "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 ) .
11
11
If you are interested in looking for which minimum version of the container
12
12
has 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.
14
14
15
15
The ldmx-sw versions are documented in the "releases" of the LDMX-Software/ldmx-sw repository,
16
16
but 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
41
41
sanitizers | enable one or more of the sanitizers, cmake: ` -DENABLE_SANITIZER_*=ON `
42
42
detector id bindings | enable detector ID python bindings, cmake: ` -DBUILD_DETECTORID_BINDINGS=ON `
43
43
patch 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 ]
44
45
45
46
[ ^ 1 ] : Currently in ldmx-sw, there isn't a command-line option to disable the
46
47
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`
53
54
` find_path ` call within the ` ldmx-sw/cmake/FindONNXRuntime.cmake ` file. This
54
55
prevents CMake from finding the system install in newer containers.
55
56
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
+
56
61
### Pre-v3.0.0
57
62
No containers have been studied for older versions of ldmx-sw.
58
63
Although, there was
59
64
[ 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.
61
66
62
67
### >=v3.0.0 and < v3.1.1
63
68
64
- build config | container version
69
+ build config | image version
65
70
---|---
66
71
default | < v4.0.0
67
- patch cmake | >= v4.0.0
72
+ patch cmake | >= v4.0.0, < v5.0.0
68
73
69
74
### >=v3.1.1 and < v3.1.12
70
75
71
- build config | container version
76
+ build config | image version
72
77
---|---
73
78
default | < 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
76
81
77
82
### >= v3.1.12 and < v3.2.4
78
83
79
- build config | container version
84
+ build config | image version
80
85
---|---
81
86
default | < 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
85
90
86
91
### >= v3.2.5 and < v3.3.4
87
92
Since we are requiring an upgrade of the container
@@ -90,13 +95,14 @@ detector ID bindings to be included in the default
90
95
build configuration which simply bumps the minimum
91
96
no-testing release by three.
92
97
93
- build config | container version
98
+ build config | image version
94
99
---|---
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
98
104
99
- ### >= v3.3.5
105
+ ### >= v3.3.5, < v4.2.15
100
106
Updates to the ROOT dictionary generation procedure inadvertently
101
107
broke compatibility with older container images.
102
108
Users of older container images will see issues during dictionary building
@@ -107,7 +113,18 @@ undo the ROOT dictionary generation changes that were done in
107
113
[ Framework PR #73 ] ( https://github.com/LDMX-Software/Framework/pull/73 ) .
108
114
This is highly technical and I would recommend avoiding it at all costs.
109
115
110
- build config | container version
116
+ build config | image version
111
117
---|---
112
- default | >= v4.0.0
118
+ default | >= v4.0.0, < v5.0.0
119
+ header patch | >= v5.0.0
113
120
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