Building O2 fails in DebugGUI

Dear all,

I see, that the PR 1951 has been merged. Now I tried again updating alidist/master, O2/dev and QC/master and recompiling. Unfortunately it fails building the DebugGUI with several error messages like:

CMake Error at DebugGUI/CMakeLists.txt:77 (add_dependencies):
  Cannot add target-level dependencies to non-existent target "imgui_demo".

  The add_dependencies works for top-level logical targets created by the
  add_executable, add_library, or add_custom_target commands.  If you want to
  add file-level dependencies see the DEPENDS option of the add_custom_target
  and add_custom_command commands.

Have I been too quick again or should it in principle work now? In case of the latter, any idea what is going wrong?

Cheers,
Stefan

Hello,
I started from a fresh CC7 installation and O2 software and I still get
many error messages of the type
----->
Make Error at cmake/O2AddLibrary.cmake:69 (add_library):
Target “O2lib-FT0Reconstruction” links to target “AliceO2::DebugGUI” but
the target was not found. Perhaps a find_package() call is missing for an
IMPORTED target, or an ALIAS target is missing?
<-----

DebugGUI is built but then not found
– The following RECOMMENDED packages have not been found:

  • GLFW
  • DebugGUI

Cheers
Andreas

… and
CMake Warning at dependencies/O2Dependencies.cmake:126 (find_package):
DEBUG:O2:O2:0: Found package configuration file:
DEBUG:O2:O2:0:
DEBUG:O2:O2:0: /home/morsch/alice/sw/slc7_x86-64/DebugGUI/v0.1.0-82f19c0fc0-2/lib/cmake/DebugGUI/DebugGUIConfig.cmake
DEBUG:O2:O2:0:
DEBUG:O2:O2:0: but it set DebugGUI_FOUND to FALSE so package “DebugGUI” is considered to
DEBUG:O2:O2:0: be NOT FOUND. Reason given by package:
DEBUG:O2:O2:0:
DEBUG:O2:O2:0: DebugGUI could not be found because dependency GLFW could not be found.

Hi. I think this can currently be solved by installing glfw-dev(el) package on the system. It does not seem to work when building glfw ourselfs.

Thanks Sandro that solves the problem with DebugGUI!

Probably completely unrelated but since I have you on the line , there is problem with VMCReplay …

[ 6%] Built target man
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lCore
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lImt
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lRIO
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lNet
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lHist
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lGraf
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lGraf3d
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lGpad
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lROOTVecOps
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lTree
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lTreePlayer
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lRint
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lPostscript
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lMatrix
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lPhysics
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lMathCore
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lThread
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lMultiProc
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lROOTDataFrame
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lGeom
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lVMC
/home/morsch/alice/sw/slc7_x86-64/GCC-Toolchain/v7.3.0-alice1-12/bin/…/lib/gcc/x86_64-unknown-linux-gnu/7.3.0/…/…/…/…/x86_64-unknown-linux-gnu/bin/ld: cannot find -lEG
collect2: error: ld returned 1 exit status
gmake[2]: *** [VMCReplay/CMakeFiles/O2lib-VMCReplay.dir/build.make:116: stage/lib64/libO2VMCReplay.so] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:24839: VMCReplay/CMakeFiles/O2lib-VMCReplay.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs…

Yes. We need to revert this (The understanding is that the CMake of Geant3 brings in wrong unrelocated paths and the linker does not find the libraries anymore). This change is now reverted in O2 and it should compile after you pull the new version.

Dear Sandro, dear all,

I have now also installed GLFW, on my Ubuntu 18.04 I used:

sudo apt-get install libglfw3-dev libglfw3

With this, finally the issues with the DebugGUI are solved and also the rest of the build went through smoothly, meaning I have a fully working O2 and QC again, the first time since before Christmas!

Thanks a lot for your help, maybe the line above could be added to the QC Quick Start Guide together with the info, that installing GLFW is obligatory now (at least for the moment).

Cheers,
Stefan

Dear all,

A fresh Ubuntu 18.04 and CentOS 7 installations still requires GLFW to properly build O2.

  • Ubuntu 18.04: libglfw3-dev libglfw3
  • CentOS 7: glfw-devel

The build instructions should list these packages while the recipes are not fixed. These have been added to this pull request. I did not test on Ubuntu 16.04 nor MacOS.