Skip to content

Commit 285a82e

Browse files
authored
Update instructions for local build on an FLP suite setup (#2672)
Based on recent experiences with the FOCAL setup.
1 parent bc9835b commit 285a82e

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

doc/FLPsuite.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,9 @@ git checkout <release> # use the release included in the installed FLP suite
4040
mkdir build
4141
cd build
4242
mkdir /tmp/installdir
43+
source /opt/rh/gcc-toolset-14/enable # enable the compiler installed with o2-QualityControl-devel
4344
cmake -DCMAKE_INSTALL_PREFIX=/tmp/installdir -G Ninja -DCLANG_EXECUTABLE=/opt/o2/bin-safe/clang -DCMAKE_BUILD_TYPE=RelWithDebugInfo ..
44-
ninja -j16 install
45+
ninja -j16 install
4546
```
4647

4748
_**Compilation on top of a local O2**_
@@ -55,7 +56,10 @@ cd AliceO2
5556
git checkout <release> # use the release included in the installed FLP suite
5657
mkdir build
5758
cd build
59+
source /opt/rh/gcc-toolset-14/enable # enable the compiler installed with o2-QualityControl-devel, it might be more recent
5860
cmake -DCMAKE_INSTALL_PREFIX=/tmp/installdir -G Ninja -DCLANG_EXECUTABLE=/opt/o2/bin-safe/clang -DCMAKE_BUILD_TYPE=RelWithDebugInfo ..
61+
# if there are errors with FairLogger during compilation, try complementing cmake command with:
62+
# -DCMAKE_SHARED_LINKER_FLAGS="-L/opt/o2/lib -lFairLogger -lfmt" -DCMAKE_EXE_LINKER_FLAGS="-L/opt/o2/lib -lFairLogger -lfmt"
5963
ninja -j8 install
6064
6165
# QC
@@ -64,6 +68,7 @@ cd QualityControl
6468
git checkout <release> # use the release included in the installed FLP suite
6569
mkdir build
6670
cd build
71+
source /opt/rh/gcc-toolset-14/enable # enable the compiler installed with o2-QualityControl-devel, it might be more recent
6772
cmake -DCMAKE_INSTALL_PREFIX=/tmp/installdir -G Ninja -DCLANG_EXECUTABLE=/opt/o2/bin-safe/clang -DCMAKE_BUILD_TYPE=RelWithDebugInfo -DO2_ROOT=/tmp/installdir ..
6873
ninja -j8 install
6974
```
@@ -74,13 +79,19 @@ In case the workflows will span over several FLPs and/or QC machines, one should
7479

7580
**Use it in aliECS**
7681

77-
In the aliECS gui, in the panel "Advanced Configuration", et an extra variable `extra_env_vars` and set it to
82+
In the AliECS gui, in the panel "Advanced Configuration", add extra variables `extra_env_vars` and `jit_env_vars` and set both to
7883

7984
```
8085
PATH=/tmp/installdir/bin/:$PATH; LD_LIBRARY_PATH=/tmp/installdir/lib/:/tmp/installdir/lib64/:$LD_LIBRARY_PATH; QUALITYCONTROL_ROOT=/tmp/installdir/; echo
8186
```
8287

83-
Replace `/tmp/installdir` with your own path. Make sure that the directory is anyway readable and traversable by users `flp` and `qc`
88+
Check `/etc/profile.d/o2.sh` and ensure PATH is augmented with `/opt/o2/bin` at the end, not at the beginning:
89+
```
90+
PATH=$PATH:/opt/o2/bin
91+
```
92+
This is important because during JIT template generation the order is `<jit_env_vars> && source /etc/profile.d/o2.sh && <dpl_command> ...`, so `/opt/o2/bin` would take precedence to any installation directory added in `jit_env_vars`.
93+
94+
Replace `/tmp/installdir` with your own path. Make sure that the directory is readable and traversable by users `flp` and `qc`.
8495

8596
## Switch detector in the workflow _readout-dataflow_
8697

0 commit comments

Comments
 (0)