Giter Site home page Giter Site logo

aliceo2group / aliceo2 Goto Github PK

View Code? Open in Web Editor NEW
95.0 36.0 418.0 161.09 MB

O2 software project for the ALICE experiment at CERN

License: GNU General Public License v3.0

CMake 2.08% C++ 91.94% Shell 0.61% C 4.12% GLSL 0.15% TeX 0.26% Python 0.27% Emacs Lisp 0.01% HTML 0.04% Cuda 0.50% Makefile 0.01% Roff 0.01% NASL 0.02%
alice-experiment alice cern c-plus-plus

aliceo2's People

Contributors

a-mathis avatar aalkin avatar allamaevskaya avatar aphecetche avatar bazinski avatar chiarazampolli avatar davidrohr avatar dstocco avatar fweig avatar iouribelikov avatar jgrosseo avatar knopers8 avatar ktf avatar martenole avatar matthias-kleiner avatar matthiasrichter avatar mconcas avatar mfasda avatar michaellettrich avatar mohammadalturany avatar mpuccio avatar njacazio avatar noferini avatar pillot avatar preghenella avatar rpezzi avatar sawenzel avatar sgorbuno avatar shahor02 avatar wiechula avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aliceo2's Issues

ROOTSYS needs to be defined when compiling O2.

Building O2 seems to require ROOTSYS to be defined. This is obviously an antipattern as it makes rebuilds dependent on your environment. IMHO this should be changed to have it as a proper cmake command line option so that one can safely do "make" without risk of picking up a different version simply because CMake decides to redo some intermediate step.

Problem with "constexpr static uint32_t" on MAC 10.12.3, Clang 800.0.38

The dev branch does not compile on MAC OS 10.12.3 with Clang 800.0.38. I get the following error:

Undefined symbols for architecture x86_64:
"AliceO2::DataFlow::SubframeBuilderDevice::mDuration", referenced from:
AliceO2::DataFlow::SubframeBuilderDevice::SubframeBuilderDevice() in SubframeBuilderDevice.cxx.o
AliceO2::DataFlow::SubframeBuilderDevice::InitTask() in SubframeBuilderDevice.cxx.o
AliceO2::DataFlow::SubframeBuilderDevice::BuildAndSendFrame(FairMQParts&) in SubframeBuilderDevice.cxx.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libDataFlow.dylib] Error 1
make[1]: *** [Utilities/DataFlow/CMakeFiles/DataFlow.dir/all] Error 2
make: *** [all] Error 2

Clarification of O2device class

Upon review of some parts of the code (with @ktf and @matthiasrichter), the following questions came up:

a) what is the purpose of the class O2device? It seems to offer only static (standalone) functions. None of the functions is modyfying/accessing any member variable.

In this sense, would it make sense to just offer standalone functions in a utility namespace?

b) the name O2device reads strange. According to our naming conventions, I believe it should be O2Device.

Note: Instead of commenting on code, I am opening an issue to facilitate the discussion and have easier follow up.

Build system problems

Observed 2 issues:

  1. On linux, the linking of executables in make install fails with a message like
cd /home/richterm/src/AliceO2/matthias.github/build_2015-01-12/devices/aliceHLTwrapper && /usr/bin/cmake -E cmake_link_script CMakeFiles/aliceHLTWrapper.dir/relink.txt --verbose=1
/usr/bin/c++    -std=c++11 -g -Wshadow     CMakeFiles/aliceHLTWrapper.dir/aliceHLTWrapper.cxx.o  -o CMakeFiles/CMakeRelink.dir/aliceHLTWrapper  -L/home/richterm/src/AliceO2/externals/2015-01-12/FairRoot/lib  -L/home/richterm/src/AliceO2/externals/2015-01-12/lib -rdynamic ../../lib/libALICEHLT.so.0.0.0 -ldl -lboost_thread -lboost_system -lFairMQ
/usr/bin/ld: warning: libprotobuf.so.8, needed by /home/richterm/src/AliceO2/externals/2015-01-12/FairRoot/lib/libFairMQ.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libzmq.so.3, needed by /home/richterm/src/AliceO2/externals/2015-01-12/FairRoot/lib/libFairMQ.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_timer.so.1.54.0, needed by /home/richterm/src/AliceO2/externals/2015-01-12/FairRoot/lib/libFairMQ.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libboost_program_options.so.1.54.0, needed by /home/richterm/src/AliceO2/externals/2015-01-12/FairRoot/lib/libFairMQ.so, not found (try using -rpath or -rpath-link)
/home/richterm/src/AliceO2/externals/2015-01-12/FairRoot/lib/libFairMQ.so: undefined reference to `zmq_msg_init'

The linke can't find the runtime libraries which are necessary to solve all symbols in libFairMQ.so, which is properly build.
The problem can be fixed by adding the runtime library path to $LD_LIBRARY_PATH, but the build should not depend on that. By adding

SET(CMAKE_INSTALL_RPATH library_paths)

the issue can be fixed generically as the install directory of external libraries is known. We have to find the best place. probably in the main CMakeLists.txt.

  1. The variable AlFa_DIR is used in several places, but it is not set by the build system

Unit tests TPC simulation and simulation/digitisation/clusterisation shell scripts

Using the the shell scripts in the O2 bulid folder for simulation/digitisation and clusteristiaon don't work.
macro/run_*tpc.sh
It seems that the library path is not set properly.
For this reason, most probably, also the 'make tests' concerning simulation fail for its and tpc.
E.g.:
12/29 Test #12: run_sim_tpc_TGeant3 ..............***Failed Required regular expression not found.Regex=[Macro finished succesfully
] 24.58 sec

20/29 Test #20: run_sim_its_G3 ...................***Failed Required regular expression not found.Regex=[Macro finished succesfully
] 0.90 sec

Error while running FLP2EPN on Mac (Sierra)

Running:

/Users/ktf/work/active/sw/BUILD/O2-latest/O2/bin/flpSyncSampler --id flpSyncSampler --mq-config /Users/ktf/work/active/sw/BUILD/O2-latest/O2/bin/config/flp2epn-prototype.json --log-color 0 --event-rate 100 --network-interface en0

results in:

...
[15:24:27][DEBUG] Using ZeroMQ library, version: 4.2.1
[15:24:27][STATE] Entering INITIALIZING DEVICE state
[15:24:27][INFO] bind socket flpSyncSampler.device-commands.pub on inproc://commands
[15:24:27][DEBUG] Validating channel "stf1[0]"... VALID
[15:24:27][INFO] bind socket flpSyncSampler.stf1[0].pub on tcp://127.0.0.1:5550
Invalid argument (src/tcp.cpp:78)
#0  0x580000010bf85018 in ? (zmq::zmq_abort(char const*)+0x9)
#1  0x10bfac9e9 in /opt/boxen/homebrew/opt/zeromq/lib/libzmq.5.dylib (zmq::set_tcp_send_buffer(int, int)+0x7b)
#2  0x10bfb0b05 in /opt/boxen/homebrew/opt/zeromq/lib/libzmq.5.dylib (zmq::tcp_listener_t::set_address(char const*)+0x16f)
#3  0x10bfa145f in /opt/boxen/homebrew/opt/zeromq/lib/libzmq.5.dylib (zmq::socket_base_t::bind(char const*)+0x6b2)
#4  0x10c477382 in /Users/ktf/work/active/sw/osx_x86-64/FairRoot/dev-13/lib/libFairMQ.16.dylib (FairMQSocketZMQ::Bind(std::__1::basic_string<char,
 std::__1::char_traits<char>, std::__1::allocator<char> > const&)+0x16c)
#5  0x10c4b5c4c in /Users/ktf/work/active/sw/osx_x86-64/FairRoot/dev-13/lib/libFairMQ.16.dylib (FairMQDevice::BindEndpoint(FairMQSocket&, std::__1
::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&)+0x6f)
#6  0x10c4b31ff in /Users/ktf/work/active/sw/osx_x86-64/FairRoot/dev-13/lib/libFairMQ.16.dylib (FairMQDevice::AttachChannel(FairMQChannel&)+0x4e0)
#7  0x10c4b3f90 in /Users/ktf/work/active/sw/osx_x86-64/FairRoot/dev-13/lib/libFairMQ.16.dylib (FairMQDevice::BindChannels(std::__1::list<FairMQCh
annel*, std::__1::allocator<FairMQChannel*> >&)+0x61)
#8  0x10c4b3dd1 in /Users/ktf/work/active/sw/osx_x86-64/FairRoot/dev-13/lib/libFairMQ.16.dylib (FairMQDevice::InitWrapper()+0xf66)
#9  0x10c49ada6 in /Users/ktf/work/active/sw/osx_x86-64/FairRoot/dev-13/lib/libFairMQ.16.dylib (FairMQFSM::FairMQFSM_::Worker()+0x36)
#10  0x10c499fb6 in /Users/ktf/work/active/sw/osx_x86-64/FairRoot/dev-13/lib/libFairMQ.16.dylib (void* std::__1::__thread_proxy<std::__1::tuple<vo
id (FairMQFSM::FairMQFSM_::*)(), boost::msm::back::state_machine<FairMQFSM::FairMQFSM_, boost::parameter::void_, boost::parameter::void_, boost::p
arameter::void_, boost::parameter::void_>*> >(void*)+0x71)
#11  0x7fffa2227a68 in /usr/lib/system/libsystem_pthread.dylib (_pthread_body+0xb4)
#12  0x7fffa222798d in /usr/lib/system/libsystem_pthread.dylib (_pthread_body+0x0)

O2_GENERATE_DICTIONARY problem when Headers are not set explicitely

I ran into the following problem:

a) I do not set HEADERS explicitely in my cmake
b) I set LINKDEF to some LinkDef.h

Since HEADERS are not set, O2_GENERATE_LIBRARY will search for HEADERS itself and picks up LinkDef.h. This leads to errors with rootcling because "LinkDef.h" will appear twice.

I think we need to protect against this in some way. Possibly just checking if the LINKDEF file is also present in the HEADERS list.

O2 not compiling in Mac OS X

Dear experts,

I'm trying to install ALICE O2 on Mac OS X 10.10 following what you suggest in the README.md (with some minor adaptations). After installing FairRoot and the external packages, the compilation of O2 fails with the error:

[ 14%] Linking CXX shared library ../../lib/libFLP2EPNex.so
ld: file not found: @rpath/libdds_intercom_lib.dylib for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [lib/libFLP2EPNex.0.0.0.so] Error 1
make[1]: *** [Examples/flp2epn/CMakeFiles/FLP2EPNex.dir/all] Error 2
make: *** [all] Error 2

Please note that the libdds_intercom_lib.dylib library is available under /DDS/lib but apparently it is not found during the compilation.

Any hint?

Thanks, Antonio

O2 does not compile with aliBuild

I tried to compile O2 with aliBuild on SLC6 using

scl enable devtoolset-2 bash

aliBuild init AliRoot,O2 -z ali-master
cd ali-master
aliBuild -z -w ../sw -d build O2

but there seems to be a problem related to libAliHLTTPC.so. AliRoot compiles correctly in the same setup.

The last messages are quoted below:

ERROR:O2:ali-master: Error while executing /nfs/usb/data/alice/sw/SPECS/slc6_x86-64/O2/master-1/build.sh on `pchaavard'.
ERROR:O2:ali-master: Log can be found in /nfs/usb/data/alice/sw/BUILD/O2-latest-ali-master/log.
ERROR:O2:ali-master: Please attach this file if you intend to request support.
ERROR:O2:ali-master: Build directory is /nfs/usb/data/alice/sw/BUILD/O2-latest-ali-master/O2.
ERROR:O2:ali-master:
ERROR:O2:ali-master: Note that you have packages in development mode.
ERROR:O2:ali-master: Devel sources are not updated automatically, you must do it by hand.
ERROR:O2:ali-master: This problem might be due to one or more outdated devel sources.
ERROR:O2:ali-master: To update all development packages required for this build it is usually sufficient to do:
ERROR:O2:ali-master:
ERROR:O2:ali-master: ( cd AliRoot && git pull --rebase )
ERROR:O2:ali-master: ( cd O2 && git pull --rebase )

I have tried to update software (using git pull), but this does not help.

The log file /nfs/usb/data/alice/sw/BUILD/O2-latest-ali-master/log is attached (rename log.txt to satisfy gitHub..)
log.txt

git status in the directory ali-master/alidist gives:

pchaavard:/nfs/usb/data/alice/ali-master/alidist$ git status

On branch IB/v5-08/prod

nothing to commit (working directory clean)

I am grateful if you can have a look at this!

Håvard Helstrup

Link problem with Utilities/DataFlow LOG(INFO) a uint32_t

Hello,

The linking breakes at Utilities/DataFlow/src/SubframeBuilderDevice.cxx because of the lines where a LOG(NFO) tries to printout "mDuration", which is defined in the header as "constexpr static uint32_t" and if I cast it with "static_cast<uint64_t>(mDuration)" then it passes and the build is ok.

cheers,

Bogdan.

cmake check for FairMQ

This is a feature request (or note what should be added at some point)

FairRoot conditionally builds FairMQ depending on the dependencies, but O2 relies on FairMQ. Should be added as a requirement. Maybe FairRoot come already with a cmake configuartion for FairMQ?

Consistenly use GetConfig from FairMQDevice

FairMQDevice now offer a GetConfig() function. We should hence no longer use fConfig in our device code.

The task is to replace globally all use of fConfig with GetConfig().

Install header files

As a user I need to have header files installed (possibly with make install) in CMAKE_INSTALL_PREFIX so that my macros which refer to them can be run. Unless I am missing something, this is not done at the moment.

includes in header files not found

Dear all,

if I try in a header file from TPCSimulation to include a hader from TPCBase:
#include "TPCBase/PadSecPos.h"

I get:
input_line_12:1480:10: fatal error: 'TPCBase/PadSecPos.h' file not found
#include "TPCBase/PadSecPos.h"

If the include statement is in the source file it works. If the include statement is in the header of the same component it also works.

Thanks in advance for any hint.

Cheers,
Jens

Linking error in DataFormats/Headers/

When building a fresh copy of O2 using alibuild, i get the following linking error:

DEBUG:O2:0: CMakeFiles/fairMQmonitor.dir/src/FairMQmonitor.cxx.o: In function `AliceO2::Header::Block::freefn(void*, void*)':
DEBUG:O2:0: /opt/alice/sw/SOURCES/O2/dev/0/DataFormats/Headers/include/Headers/DataHeader.h:301: undefined reference to `AliceO2::Header::Block::sDeleter'
DEBUG:O2:0: collect2: error: ld returned 1 exit status

Ubuntu 14.04.5
GCC 4.8.4
Alidist branch IB/v5-08/o2

@mkrzewic

Common/Header/AliceO2Config.h generated in source directory

Looks like ${CMAKE_CURRENT_SOURCE_DIR}/Common/Header/AliceO2Config.h is automatically generated in the source directory. This should probably be avoided in favour of generating it in the ${CMAKE_CURRENT_BUILD_DIR} and picking it up from there, otherwise it might break out of source builds.

Add LICENSE file

Since we say we are GPL, we should add a LICENSE file to the project, so that we can make it very clear that any contribution is done under GPL.

@dberzano @Barthelemy

Array out-of-bounds warning in DataHeader.h

I see the following warning, which probably needs to be fixed or silenced:

In file included from /Users/swenzel/git/sw/SOURCES/O2/0_O2_DAQ/0/DataFormats/Headers/test/dataHeaderTest.cxx:5:
/Users/swenzel/git/sw/SOURCES/O2/0_O2_DAQ/0/DataFormats/Headers/include/Headers/DataHeader.h:200:11: warning: array index 7 is past the end of the array
(which contains 7 elements) [-Warray-bounds]
(str[1+pos] && sizeof(T) >= 4 ? ((T) str[2+pos] << (sizeof(T) >= 4 ? 16 : 0) |

Provide O2 base classes for hits

Provide a (configurable) O2 base class for hits which is compatible with the FairRoot framework (TimeStamp + Links) but which does not necessarily has the memory overhead of FairMQPoint.

Number of arguments mismatch

Hello,

When compiling AliceO2 with FairRoot there is a mismatch found in the call of the function:

FairMQTransportFactory::CreateMessage(void* data, const size_t size, fairmq_free_fn* ffn, void* hint = NULL)

from the source file:

devices/flp2epn-distributed/FLPSender.cxx

where only the first two arguments are specified. In my local fix I have added the NULL default
argument for the third one too and succeeded to compile till the end.

Thanks you for looking on this.

cheers,

Bogdan.

Build fails in pythia6 (on Mac)

aliBuild --defaults o2 build O2

ends with :

==> Building pythia6@428_O2
==> pythia6 is being built (use --debug for full output): failed
ERROR: Error while executing /Users/laurent/alice/tmp/sw/SPECS/osx_x86-64/pythia6/428_O2-1/build.sh on `nanpc420.local'.
ERROR: Log can be found in /Users/laurent/alice/tmp/sw/BUILD/pythia6-latest/log.
ERROR: Please attach this file if you intend to request support.
ERROR: Build directory is /Users/laurent/alice/tmp/sw/BUILD/pythia6-latest/pythia6

log.txt

❯ alibuild version
aliBuild version: 1.4.0

❯ uname -a
Darwin nanpc420.local 16.5.0 Darwin Kernel Version 16.5.0: Fri Mar 3 16:52:33 PST 2017; root:xnu-3789.51.2~3/RELEASE_X86_64 x86_64

Clarification/improvement of INCLUDE_DIR component in buckets

o2_define_bucket(
   NAME
   Foo

   DEPENDENCIES
   Bar
   Base
   RIO

   INCLUDE_DIRECTORIES
   BarHeaders
)

I am slightly confused about the semantics of the INCLUDE_DIRECTORIES field in the bucket definitions. It seems that this field is rarely needed when compiling modules/libraries. However, I noticed that we need to put information for BarHeaders for the purpose of ROOT dictionary generation even though Bar is already listed as dependencies.

Hence, a suggestion for improvement would be to automatically include the "INC_DIRS" of dependencies everywhere and only use INCLUDE_DIRECTORIES for things not listed in the DEPENDENCIES.

Could NOT find GTest (FairRoot)

Hi,

Started an AliceO2 build (using alibuild) from scratch a few minutes ago and got a new thing I did not get e.g. yesterday. Something new in FairRoot ?

log.txt

CMake Error at /usr/local/Cellar/cmake/3.7.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:138 (message):
Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR
GTEST_MAIN_LIBRARY)
Call Stack (most recent call first):
/usr/local/Cellar/cmake/3.7.2/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:378 (_FPHSA_FAILURE_MESSAGE)
/usr/local/Cellar/cmake/3.7.2/share/cmake/Modules/FindGTest.cmake:194 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
fairmq/test/CMakeLists.txt:9 (find_package)

Headers and libraries for Pythia

Hello,

I know some changes have been recently done with the location of the Pythia related files, but I did not quite get the final conclusion. I tried recently to install the full chain (FairSoft, DDS, FairRoot, AliRoot, AliceO2) and found that in order to eliminate the errors when building AliceO2 I have to do the following (ugly) links by hand:

cd /your_software_dir/external/FairRoot/include
ln -s /your_software_dir/external/include/Pythia8 .

cd /your_software_dir/external/lib
ln -s /your_software_dir/external/AliRoot/lib/libpythia6.so .

(which means I also have to install AliRoot)

Note that I am still using the common installation in the "external" directory.
Is this correct or am I missing something in the settings?

Thank you.

regards,
Bogdan.

PS: I am not yet using aliBuild to install O2 since I have encountered some problems, there is an issue opened about this here alisw/alibuild#431

Installation fails due to missing config/mft-dds.json file

Building O2 fails since commit e21ee97 due to absence of file config/mft-dds.json from tree, as referenced by file Detectors/ITSMFT/MFT/reconstruction/CMakeLists.txt:

DEBUG:O2:0: CMake Error at Detectors/ITSMFT/MFT/reconstruction/cmake_install.cmake:187 (file):
DEBUG:O2:0: file INSTALL cannot find
DEBUG:O2:0: "/opt/alice/sw/SOURCES/O2/master/0/Detectors/ITSMFT/MFT/reconstruction/config/mft-dds.json"

@MohammadAlTurany @bovulpes

Compilation error in AliceO2

I have successfully installed the ALFA, FAIRROOT, Aliroot and DDS. During complitation AliceO2 I got the following error.
/home/hushnud/Desktop/My_Alice_O2/O2/Utilities/aliceHLTwrapper/src/aliceHLTEventSampler.cxx: In function ‘int sendSocketPropertiesDDS(std::vector<SocketProperties_t>&)’:
/home/hushnud/Desktop/My_Alice_O2/O2/Utilities/aliceHLTwrapper/src/aliceHLTEventSampler.cxx:520:34: error: no matching function for call to ‘dds::intercom_api::CKeyValue::CKeyValue()’
dds::intercom_api::CKeyValue ddsKeyValue;
^
/home/hushnud/Desktop/My_Alice_O2/O2/Utilities/aliceHLTwrapper/src/aliceHLTEventSampler.cxx:520:34: note: candidates are:
In file included from /home/hushnud/Desktop/My_Alice_O2/O2/Utilities/aliceHLTwrapper/src/aliceHLTEventSampler.cxx:36:0:
/home/hushnud/Desktop/My_Alice_O2/ALFA/DDS/include/dds_intercom.h:59:13: note: dds::intercom_api::CKeyValue::CKeyValue(dds::intercom_api::CIntercomService&)
CKeyValue(CIntercomService& _service);
^
/home/hushnud/Desktop/My_Alice_O2/ALFA/DDS/include/dds_intercom.h:59:13: note: candidate expects 1 argument, 0 provided
/home/hushnud/Desktop/My_Alice_O2/ALFA/DDS/include/dds_intercom.h:46:15: note: constexpr dds::intercom_api::CKeyValue::CKeyValue(const dds::intercom_api::CKeyValue&)
class CKeyValue
/home/hushnud/Desktop/My_Alice_O2/O2/Utilities/aliceHLTwrapper/src/aliceHLTEventSampler.cxx:549:85: note: candidate expects 2 arguments, 3 provided
make[2]: *** [Utilities/aliceHLTwrapper/CMakeFiles/aliceHLTEventSampler.dir/src/aliceHLTEventSampler.cxx.o] Error 1
make[1]: *** [Utilities/aliceHLTwrapper/CMakeFiles/aliceHLTEventSampler.dir/all] Error 2
make: *** [all] Error 2

The O2_GENERATE_LIBRARY macro unsets variables passed to it

It looks like the O2_GENERATE_LIBRARY macro is unsetting the variables passed to it, including the LIBRARY_NAME variable.

This is confusing behavior and creates the need for hacks, like for example in Examples/flp2epn/CMakeLists.txt.

DDS not found in the cmake configuration

Using the latest alibuild and alidist, O2 cmake configuration reports that DDS is not found. Despite the fact that DDS is a dependency for both FairRoot and O2 and that it is even installed.

alidist configuration
(cd alidist; git status)
On branch IB/v5-08/o2

Using:
alibuild/aliBuild build O2

O2 build fails at installation in Utilities/QC/QCMetricsExtractor

@Barthelemy, @PatrykLesiak compiling dev branch at 6f48149
fails at installation

CMake Error at Utilities/QC/QCMetricsExtractor/cmake_install.cmake:56 (file):
  file INSTALL cannot find
  "/src/src/alisw/sw/SOURCES/O2/dev/0/Utilities/QC/QCMetricsExtractor/include/QCMetricsExtractor".
Call Stack (most recent call first):
  Utilities/QC/cmake_install.cmake:41 (include)
  Utilities/cmake_install.cmake:38 (include)
  cmake_install.cmake:51 (include)

Change `AliceO2::` namespace to `O2::` or `o2::`

I would propose we change the namespace AliceO2 to O2 or even o2 given there is little value in the long name, just extra typing. I would also propose that anything O2 specific is simply put in the O2 namespace, and does not have the O2 prefix. For example things like O2Message and O2Device should really be o2::Message or o2::Device.

Pull request verification fails with unrelated error

Jenkins is failing on PR verification, but the error is not related to the PR

DEBUG:O2:0: [ 29%] Generating G__FieldDict.cxx, G__FieldDict_rdict.pcm, ../../lib/libField.rootmap
DEBUG:O2:0: [ 29%] Linking CXX shared library ../../../lib/libQCMetricsExtractor.so
DEBUG:O2:0: input_line_12:152:10: fatal error: 'Pythia.h' file not found
DEBUG:O2:0: #include "Pythia.h"  // for Pythia
DEBUG:O2:0:          ^
DEBUG:O2:0: Error: /build/workarea/pr/2460/3/slc7_x86-64/ROOT/v6-08-02-1/bin/rootcint: compilation failure (/build/workarea/pr/2460/3/BUILD/dea1caeced1f8a1f2c0499d669fb4149d72a99b4/O2/Generators/G__GeneratorsDict0e692f09d4_dictUmbrella.h)
DEBUG:O2:0: make[2]: *** [Generators/G__GeneratorsDict.cxx] Error 1
DEBUG:O2:0: make[1]: *** [Generators/CMakeFiles/Generators.dir/all] Error 2
DEBUG:O2:0: make[1]: *** Waiting for unfinished jobs....

More details for #245 in https://alijenkins.cern.ch/job/aliceo2-pipeline/job/PR-245/1/console

C++14 feature check in cmake

Hi, I have a first version of the feature cehck in cmake in my branch

it is shamelessly "inspired" by fairroot, and it works (there are 5 checks in there implemented by Adam), but still cmake is reporting -std=c++11 cflags in the output (as set externally from an alidist recipe). This probably needs to be cleaned up and checked if the flags set by the checks are active later on in the build process. Input is welcome.

DEBUG:O2:0: --- Compiler Flags: -fPIC -g -O2 -std=c++11 -fno-omit-frame-pointer
DEBUG:O2:0: -- Checking C++14 support for "aggregate-initialization"
DEBUG:O2:0: -- Checking C++14 support for "aggregate-initialization": works
DEBUG:O2:0: -- Checking C++14 support for "binary-literals"
DEBUG:O2:0: -- Checking C++14 support for "binary-literals": works
DEBUG:O2:0: -- Checking C++14 support for "generic-lambda"
DEBUG:O2:0: -- Checking C++14 support for "generic-lambda": works
DEBUG:O2:0: -- Checking C++14 support for "user-defined-literals"
DEBUG:O2:0: -- Checking C++14 support for "user-defined-literals": works

Internal header files not found

If I remember correctly we allow public header files in ${MODULE_NAME}/include${MODULE_NAME} and internal headers which can be in the source directory ${MODULE_NAME}/src. The latter are not automatically found .

We have to add ${CMAKE_CURRENT_SOURCE_DIR}/src to the include directories.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.