Building O2 fails in DebugGUI

Thanks. The previous error seems actually to be solved. Can you try with 55c12c2?

Hi Giulio,

yes, this one works! Thanks a lot!

Cheers,
Stefan

Dear Giulio, dear all,

yesterday evening I just tried by replacing this version of the DegubGUI myself and it worked. Now I have updated alidist/master, O2/dev and QualityControl/master and tried to recompile. DebugGUI is still fine, but now qcg is failing with the error:

../tobject2json.cc: In member function 'virtual void TObjectAsyncWorker::Execute()':
../tobject2json.cc:23:31: error: 'class o2::quality_control::repository::DatabaseInterface' has no member named 'retrieveJson'; did you mean 'retrieveMOJson'?
     output = BackendInstance->retrieveJson(path.substr(0, slashIndex), path.substr(slashIndex + 1));
                               ^~~~~~~~~~~~
                               retrieveMOJson
tobject2json.target.mk:128: recipe for target 'Release/obj.target/tobject2json/tobject2json.o' failed

Full log is again here at cernbox.

Cheers,
Stefan

https://alice.its.cern.ch/jira/browse/OGUI-471

This is on us, we are going to provide a fix. Sorry for the problem, it passed through our CI.

The fix is in, but we are waiting for a new release here.

Sorry, I have just realized that all you have to do is to pull alidist from this PR and it should work.

I have to release QC before the PR of Adam can be merged…

Thanks! It worked for me. Actually, to be more precise, I first just pull alidist from the OGUI-471 branch and the build failed again, this time not even creating a log file. I tried updating also O2/dev and QualityControl/master, and after that everything compiled successfully.

Ok, good. I am preparing v0.20.0 of QualityControl that should solve in a more elegant way the whole issue.

Hi Barth,

I have seen the announcement that QC v0.20.0 has been released and hence, I have updated my O2/dev and QualityControl/master again and also wanted to update alidist/master. As I had this one commit changing the QCG version to 1.6.9 still in, I actually had to reset --hard alidist. After that, QCG failed again with the same error message as before. Now, I have rebased to the OGUI-471 branch and it works again. Is this the expected behaviour? Or have I maybe been just a little bit too fast? Although the last commit in QualityControl has the message v0.20.0, so this seems to be fine.

Cheers,
Stefan

Hi Stefan,

The thing is that alidist is not yet up-to-date with the v0.20.0. The PR has not been merged yet : https://github.com/alisw/alidist/pull/1951

As soon it is merged you should be able to proceed as you have already tried.
Cheers,
Barth

Ok thanks! Then indeed I have been a bit too fast. I will keep an eye on the PR and try again later.

Hello
I have similar error with today dev and alidist.
CMake Error at cmake/O2AddLibrary.cmake:69 (add_library):
Target “O2lib-Framework” 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?
Call Stack (most recent call first):
Framework/Core/CMakeLists.txt:19 (o2_add_library)

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.