Skip to content

Bugfix: ODR violation #251

Bugfix: ODR violation

Bugfix: ODR violation #251

Workflow file for this run

name: eic-shell
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
jana2_eicshell:
name: eic-shell
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: cvmfs-contrib/github-action-cvmfs@v2
- name: cmake
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "jug_xl:nightly"
run: |
mkdir -p $GITHUB_WORKSPACE/build
cd $GITHUB_WORKSPACE/build
cmake .. \
-DCMAKE_INSTALL_PREFIX=$GITHUB_WORKSPACE \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_CXX_STANDARD=20 \
-DUSE_PYTHON=ON \
-DUSE_ROOT=ON \
-DUSE_PODIO=ON \
-DUSE_XERCES=ON \
-DUSE_ZEROMQ=ON \
-DXercesC_DIR=/opt/local
- name: make install
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "jug_xl:nightly"
run: |
cd $GITHUB_WORKSPACE/build
make -j4 install
- name: Examine JANA2 dynamic linking
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "jug_xl:nightly"
run: |
export JANA_HOME=$GITHUB_WORKSPACE
export JANA_PLUGIN_PATH=$JANA_HOME/plugins
export LD_LIBRARY_PATH=$JANA_HOME/lib:$JANA_HOME/lib/JANA/plugins:$LD_LIBRARY_PATH
echo "ldd bin/jana"
ldd bin/jana
echo "ldd bin/libJANA.so"
ldd lib/libJANA.so
echo "bin/jana rpath"
objdump -x bin/jana | grep PATH
echo "lib/libJANA.so rpath"
objdump -x lib/libJANA.so | grep PATH
echo "lib/JANA/plugins/TimesliceExample.so"
objdump -x lib/JANA/plugins/TimesliceExample.so | grep PATH
echo "bin/PodioExample"
objdump -x bin/PodioExample | grep PATH
- name: Run JTest plugin with 100 events
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "jug_xl:nightly"
run: |
export JANA_HOME=$GITHUB_WORKSPACE
export JANA_PLUGIN_PATH=$JANA_HOME/plugins
export LD_LIBRARY_PATH=$JANA_HOME/lib:$JANA_HOME/lib/JANA/plugins:$LD_LIBRARY_PATH
$GITHUB_WORKSPACE/bin/jana -Pplugins=JTest -Pjana:nevents=100
- name: Run jana-unit-tests
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "jug_xl:nightly"
run: |
export JANA_HOME=$GITHUB_WORKSPACE
export JANA_PLUGIN_PATH=$JANA_HOME/plugins
export LD_LIBRARY_PATH=$JANA_HOME/lib:$JANA_HOME/lib/JANA/plugins:$LD_LIBRARY_PATH
$GITHUB_WORKSPACE/bin/jana-unit-tests
- name: Run TimesliceExample with simple (physics event) topology
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "jug_xl:nightly"
run: |
echo "--- Running TimesliceExample with simple topology ------------------------------"
export JANA_HOME=$GITHUB_WORKSPACE
export JANA_PLUGIN_PATH=$JANA_HOME/plugins
export LD_LIBRARY_PATH=$JANA_HOME/lib:$JANA_HOME/lib/JANA/plugins:$LD_LIBRARY_PATH
$GITHUB_WORKSPACE/bin/jana \
-Pplugins=TimesliceExample \
-Pjana:nevents=100 \
events.root
- name: Run TimesliceExample with complex (timeslice) topology
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "jug_xl:nightly"
run: |
echo "--- Running TimesliceExample with simple topology ------------------------------"
export JANA_HOME=$GITHUB_WORKSPACE
export JANA_PLUGIN_PATH=$JANA_HOME/plugins
export LD_LIBRARY_PATH=$JANA_HOME/lib:$JANA_HOME/lib/JANA/plugins:$LD_LIBRARY_PATH
$GITHUB_WORKSPACE/bin/jana -Pplugins=TimesliceExample -Pjana:nevents=100 timeslices.root
- name: Compile EICrecon
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "jug_xl:nightly"
run: |
echo "--- Compiling EICrecon ---"
export JANA_HOME=$GITHUB_WORKSPACE
export LD_LIBRARY_PATH=$JANA_HOME/lib:$LD_LIBRARY_PATH
cd ..
git clone https://github.com/eic/EICrecon
cd EICrecon
cmake -S . -B build -DJANA_DIR=$JANA_HOME/lib/JANA/cmake -DCMAKE_BUILD_TYPE=Debug
cmake --build build --target install -- -j8
- name: Examine EICrecon dynamic linking
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "jug_xl:nightly"
run: |
export JANA_HOME=$GITHUB_WORKSPACE
export JANA_PLUGIN_PATH=$JANA_HOME/plugins
export LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/../EICrecon/lib:${GITHUB_WORKSPACE}/../EICrecon/lib/EICrecon/plugins:${JANA_HOME}/lib:${JANA_HOME}/lib/JANA/plugins:$LD_LIBRARY_PATH
cd ../EICrecon
echo "ldd bin/eicrecon"
ldd bin/eicrecon
echo "ldd lib/libreco.so"
ldd lib/libreco.so
echo "ldd lib/EICrecon/plugins/tracking.so"
ldd lib/EICrecon/plugins/tracking.so
- name: Generate EICrecon input data
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "jug_xl:nightly"
setup: "/opt/detector/epic-main/bin/thisepic.sh"
run: |
echo "--- Generating EICrecon input data ---"
npsim --compactFile ${DETECTOR_PATH}/${DETECTOR}_craterlake.xml \
-G --random.seed 1 --gun.particle "e-" --gun.momentumMin "1*GeV" \
--gun.momentumMax "20*GeV" --gun.distribution "uniform" -N 20 \
--outputFile sim_e_1GeV_20GeV_craterlake.edm4hep.root -v WARNING
- name: Run EICrecon
uses: eic/run-cvmfs-osg-eic-shell@main
with:
platform-release: "jug_xl:nightly"
setup: "/opt/detector/epic-main/bin/thisepic.sh"
run: |
export JANA_HOME=$GITHUB_WORKSPACE
export JANA_PLUGIN_PATH=$GITHUB_WORKSPACE/../EICrecon/lib/EICrecon/plugins
export LD_LIBRARY_PATH=${GITHUB_WORKSPACE}/../EICrecon/lib:${GITHUB_WORKSPACE}/../EICrecon/lib/EICrecon/plugins:${JANA_HOME}/lib:${JANA_HOME}/lib/JANA/plugins:$LD_LIBRARY_PATH
../EICrecon/bin/eicrecon sim_e_1GeV_20GeV_craterlake.edm4hep.root