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

Changes for the new nightly builds from scratch #583

Merged
merged 58 commits into from
May 14, 2024
Merged
Show file tree
Hide file tree
Changes from 55 commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
ad7bc07
Update the latest commit
jmcarcell May 4, 2024
1cd7fcb
Update compiler for alma9
jmcarcell May 4, 2024
20b7ed8
Use a newer version for ROOT
jmcarcell May 4, 2024
6f5165a
Fix string
jmcarcell May 4, 2024
0c328e4
Fix compiler
jmcarcell May 4, 2024
e9c7e4a
Add a .cherry-pick file
jmcarcell May 6, 2024
845314b
Fix cherry picks for whizard and madgraph
jmcarcell May 6, 2024
9a3a8ae
Add a patch for babayaga
jmcarcell May 6, 2024
9ebae75
Use version 3 of madgraph
jmcarcell May 6, 2024
c8d9739
Add gaudi v38.1
jmcarcell May 7, 2024
9e3780b
Fix commit
jmcarcell May 7, 2024
495d318
Add comment
jmcarcell May 7, 2024
4896005
Add comment
jmcarcell May 7, 2024
bfa912c
Add fix for pythia 8.311
jmcarcell May 7, 2024
09e6845
Change comment
jmcarcell May 8, 2024
8e4678a
Add a cxxstd variant for fastjet
jmcarcell May 8, 2024
6a89b92
Add cxxstd=20 with fastjet
jmcarcell May 8, 2024
0cd2d93
Add a cxxstd variant for pythia8
jmcarcell May 8, 2024
68af5b0
Fix cherry pick
jmcarcell May 8, 2024
c02398f
Add cxxstd=20 for pythia8
jmcarcell May 8, 2024
810cb80
Add pythia8 to madgraph5amc
jmcarcell May 8, 2024
860903a
Use cxxstd from ROOT in k4Clue
jmcarcell May 8, 2024
35d8a69
Use the cxxstd from ROOT in k4MarlinWrapper
jmcarcell May 8, 2024
aeb0cfe
Simplify recipe
jmcarcell May 8, 2024
10e0513
Fix style
jmcarcell May 8, 2024
5ed2efb
Remove unneeded cxxstd=20
jmcarcell May 8, 2024
1bcd797
Remove build_type=Release since it's the default
jmcarcell May 8, 2024
76592f2
Update script
jmcarcell May 8, 2024
6e6263c
Fix script
jmcarcell May 8, 2024
f9ef66e
Remove the remaining build_type=Release
jmcarcell May 8, 2024
199b8b8
Fix version requirement
jmcarcell May 8, 2024
ab1ffd9
Clean up pandorapfa
jmcarcell May 8, 2024
fbe9a46
Clean up k4geo
jmcarcell May 8, 2024
b8d9196
Clean up larcontent
jmcarcell May 8, 2024
2df24e1
Clean up fccanalyses
jmcarcell May 8, 2024
ea0befe
Fix recipe
jmcarcell May 9, 2024
66d4445
Remove cxxstd=20 for ced
jmcarcell May 9, 2024
00dab15
Remove a few unnecessary cxxstd=20
jmcarcell May 9, 2024
5a6e211
Update order
jmcarcell May 9, 2024
f22f5cd
Add requirements for onnx, py-onnx and py-onnxruntime
jmcarcell May 9, 2024
6f87d75
Add a madgraph+pythia test
jmcarcell May 9, 2024
8a1b6dc
Change comment
jmcarcell May 9, 2024
df366c5
Build whizard with latex
jmcarcell May 9, 2024
f19224b
Update script
jmcarcell May 10, 2024
bddb97b
Go back to using multiple specs
jmcarcell May 10, 2024
a0dd06c
Build whizard with +openmp
jmcarcell May 10, 2024
d01d05b
Add a fix for the reconcretize issue
jmcarcell May 11, 2024
5b67d6c
Go back to using a single spec
jmcarcell May 11, 2024
89bb528
Comment also the spack block
jmcarcell May 11, 2024
6670744
Add message about the nigtlies and CentOS 7
jmcarcell May 11, 2024
b487422
Change comment
jmcarcell May 12, 2024
6e800b0
Add patchs for FCCAnalyses
jmcarcell May 13, 2024
c3b2f1a
Add patch for k4reccalorimeter
jmcarcell May 13, 2024
5e2e31a
Fix sha256
jmcarcell May 14, 2024
f1ff3b7
Don't fail if the remote is already there
jmcarcell May 14, 2024
b28ade7
Build xrootd with the same cxxstd as ROOT
jmcarcell May 14, 2024
f4d5e02
Update setup scripts to work when there are multiple links in latest
jmcarcell May 14, 2024
d5118f9
Add a few comments
jmcarcell May 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions .cherry-pick
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
git remote add jmcarcell https://github.com/jmcarcell/spack || true
git fetch jmcarcell -q

# add a recent version of madgraph, remove when https://github.com/spack/spack/pull/41128 is merged
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/41128.diff | patch -p1

# add vdt for CPATH, needed for podio+rntuple
git cherry-pick f97fabc3ff12527e5220ea6917719a73f8bd4315 -X theirs --no-commit

# Add a patch to fix whizard (re pythia8), remove!
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/43045.diff | patch -p1

# podio: add rpath, remove when https://github.com/spack/spack/pull/42844 is merged
git cherry-pick 4d3b81d73b9dcbbe176d6baf3c00a4032307f6a8 -X theirs --no-commit

# gaudi: add missing std::list, remove when building 38.2
git cherry-pick 6b02e009664c6effb581023982dcb7863da5fb88 -X theirs --no-commit

# gaudi: Add v38.1, remove!
git cherry-pick 64df3df040c71ce2f31f718df1afb373bcf68368 -X theirs --no-commit

# pythia8: Add fix for 8.311, remove when https://github.com/spack/spack/pull/43803 is merged
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/43803.diff | patch -p1

# fastjet: Add a cxxstd variant, remove!
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/44072.diff | patch -p1

# pythia8: Add a cxxstd, remove when https://github.com/spack/spack/pull/44077 is merged
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/44077.diff | patch -p1

# fix issues when reconcretizing a GitVersion? remove when https://github.com/spack/spack/pull/43859 is merged
curl -s https://patch-diff.githubusercontent.com/raw/spack/spack/pull/43859.diff | patch -p1

# py-onnxruntime: Install the session headers, needed by FCCAnalyses
git cherry-pick e272ffa5a4768d23f1579403f9872360630e7278 -X theirs --no-commit


if [[ "$(grep -E '^ID=' /etc/os-release)" = 'ID="centos"' && "$(grep -E 'VERSION_ID' /etc/os-release)" = 'VERSION_ID="7"' ]]; then

# patch for intel-tbb for CentOS 7, see https://github.com/oneapi-src/oneTBB/issues/859
# because we use binutils from the system which is old
git cherry-pick d8a0b0426a1c97c33c4b8f133d38e7dc03816a8c -X theirs --no-commit

# Make py-onnxruntime depend on git for CentOS 7 because the
# system git is too old and fails at fetching, remove when https://github.com/spack/spack/pull/43076 is merged
git cherry-pick b330252d082dc2865fa169af831b7b7c2affa8a5 -X theirs --no-commit

fi

if [[ "$(grep -E '^ID=' /etc/os-release)" = 'ID=ubuntu' && "$(grep -E 'VERSION_ID' /etc/os-release)" = 'VERSION_ID="22.04"' ]]; then

# patch to rename libz so texlive can be built
git cherry-pick f8c6f240ba9b99218eb72bfadce9f99952fec1de -X theirs --no-commit

fi
2 changes: 1 addition & 1 deletion .latest-commit
Original file line number Diff line number Diff line change
@@ -1 +1 @@
12963c894f59bf03f2f8ab94536019d9f82d3527
f5946c4621035dd466953c8d2664ff5f82f38138
2 changes: 1 addition & 1 deletion environments/key4hep-common/compilers.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ compilers:
environment: {}
extra_rpaths: []
- compiler:
spec: gcc@11.3.1
spec: gcc@11.4.1
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
Expand Down
137 changes: 30 additions & 107 deletions environments/key4hep-common/packages.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
packages:
all:
target: [x86_64]
variants: build_type=Release cxxstd=20
buildable: true
compiler: []

acts:
require: +dd4hep cxxstd=20 +json
boost:
Expand All @@ -24,6 +30,8 @@ packages:
variants: ~flang~lldb~lld~lua~mlir~internal_unwind~polly~libomptarget~libomptarget_debug~gold~split_dwarf~llvm_dylib~link_llvm_dylib~omp_tsan~omp_as_runtime~code_signing~python~version_suffix~shlib_symbol_version~z3~zstd compiler-rt="none" libcxx="none" targets="x86"
marlin:
require: +lccd
madgraph5amc:
require: '@3: +pythia8'
podio:
require: +rntuple+rpath+sio
py-numpy:
Expand Down Expand Up @@ -76,13 +84,12 @@ packages:
- spec: openssh@99
prefix: /usr


root:
require: +davix+fftw+gsl+math+minuit+mlp+opengl~postgres~pythia6+pythia8+python+r+root7+roofit+rpath~shadow+sqlite+ssl+tbb+threads+tmva+unuran+vc+vdt+x+xml+xrootd cxxstd=20
require: '@6.30: +davix+fftw+gsl+math+minuit+mlp+opengl~postgres~pythia6+pythia8+python+r+root7+roofit+rpath~shadow+sqlite+ssl+tbb+threads+tmva+unuran+vc+vdt+x+xml+xrootd cxxstd=20'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you ever dig deeper in what is pulling in 6.28 if not asking for 6.30?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nope 😢
I also see ROOT rebuilding after reconcretizing with the same settings for some reason...

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, same for me. In my case it could also be a changed dependency, but I haven't investigated any further yet.

Copy link
Member Author

@jmcarcell jmcarcell May 14, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apparently it seems cxxstd of xrootd can be either 11 and 14 and sometimes it's one or the other even though nothing has changed. I'll try to hardcode it and see if it helps... It seems only to happen on alma9

py-tensorflow:
require: ~cuda~nccl
whizard:
require: ~fastjet~latex+lcio~lhapdf+openloops~openmp+pythia8 hepmc=3
require: ~fastjet~latex+lcio~lhapdf+openloops+openmp+pythia8 hepmc=3
k4simdelphes:
require: ~delphes_hepmc
evtgen:
Expand All @@ -93,113 +100,29 @@ packages:
require: ~openmp
gperftools:
require: ~libunwind
all:
target: [x86_64]
variants: build_type=Release cxxstd=20
buildable: true
compiler: []


# C++20
aidatt:
variants: build_type=Release cxxstd=20
ced:
variants: build_type=Release cxxstd=20
cedviewer:
variants: build_type=Release cxxstd=20
cepcsw:
variants: build_type=Release cxxstd=20
clicperformance:
variants: build_type=Release
conformaltracking:
variants: build_type=Release
ddfastshowerml:
variants: build_type=Release
ddkaltest:
variants: build_type=Release
ddmarlinpandora:
variants: build_type=Release cxxstd=20
delphes:
variants: build_type=Release cxxstd=20
dual-readout:
variants: build_type=Release cxxstd=20
# C++20 that don't appear above
edm4hep:
variants: build_type=Release cxxstd=20
fcalclusterer:
variants: build_type=Release cxxstd=20
fccanalyses:
variants: build_type=Release cxxstd=20
fccdetectors:
variants: build_type=Release cxxstd=20
fccsw:
variants: build_type=Release cxxstd=20
forwardtracking:
variants: build_type=Release cxxstd=20
variants: cxxstd=20
fastjet:
variants: cxxstd=20
gear:
variants: build_type=Release cxxstd=20
variants: cxxstd=20
ilcutil:
variants: build_type=Release cxxstd=20
ildperformance:
variants: build_type=Release cxxstd=20
k4clue:
variants: build_type=Release cxxstd=20
k4edm4hep2lcioconv:
variants: build_type=Release cxxstd=20
k4fwcore:
variants: build_type=Release cxxstd=20
k4gen:
variants: build_type=Release cxxstd=20
k4geo:
variants: build_type=Release cxxstd=20
k4marlinwrapper:
variants: build_type=Release cxxstd=20
k4projecttemplate:
variants: build_type=Release cxxstd=20
k4reccalorimeter:
variants: build_type=Release cxxstd=20
k4reco:
variants: build_type=Release cxxstd=20
k4rectracker:
variants: build_type=Release cxxstd=20
k4simgeant4:
variants: build_type=Release cxxstd=20
kaltest:
variants: build_type=Release cxxstd=20
kitrack:
variants: build_type=Release cxxstd=20
kitrackmarlin:
variants: build_type=Release cxxstd=20
lcfiplus:
variants: build_type=Release cxxstd=20
variants: cxxstd=20
lcio:
variants: build_type=Release cxxstd=20
lctuple:
variants: build_type=Release cxxstd=20
marlindd4hep:
variants: build_type=Release cxxstd=20
marlinfastjet:
variants: build_type=Release cxxstd=20
marlinkinfit:
variants: build_type=Release cxxstd=20
marlinkinfitprocessors:
variants: build_type=Release cxxstd=20
marlinreco:
variants: build_type=Release cxxstd=20
marlintrk:
variants: build_type=Release
marlintrkprocessors:
variants: build_type=Release cxxstd=20
marlinutil:
variants: build_type=Release cxxstd=20
opendatadetector:
variants: build_type=Release cxxstd=20
overlay:
variants: build_type=Release cxxstd=20
pandoraanalysis:
variants: build_type=Release cxxstd=20
physsim:
variants: build_type=Release
raida:
variants: build_type=Release
variants: cxxstd=20
pythia8:
variants: cxxstd=20
sio:
variants: build_type=Release cxxstd=20
variants: cxxstd=20

# onnx and py-onnx should have the same versions
# And all should be consistent based on this table:
# https://onnxruntime.ai/docs/reference/compatibility.html#onnx-opset-support
onnx:
require: '@1.15.0'
py-onnx:
require: '@1.15.0'
py-onnxruntime:
require: '@1.17.1'
Loading
Loading