Problem with grpc@v1.34.0-alice2 during aliBuilding QualityControl on ubuntu 20.04

Dear all,

I experienced following problem during aliBuilding QualityControl:

==> Building grpc@v1.34.0-alice2
==> grpc is being built (use --debug for full output): failed

aliBuild version: v1.8.9 (ubuntu2004_x86-64)

Full output of aliBuild and grpc build log can be found here.
It seems that it complains about OpenSSL libraries not found (how can it be if they were just built few steps before during same aliBuild run?).
There are also messages in sw/BUILD/grpc-latest/grpc/CMakeCache.txt that

OPENSSL_CRYPTO_LIBRARY:FILEPATH=OPENSSL_CRYPTO_LIBRARY-NOTFOUND

//Path to a file.
OPENSSL_INCLUDE_DIR:PATH=OPENSSL_INCLUDE_DIR-NOTFOUND

//No help, variable specified on the command line.
OPENSSL_ROOT_DIR:UNINITIALIZED=sw/ubuntu2004_x86-64/OpenSSL/latest/

//Path to a library.
OPENSSL_SSL_LIBRARY:FILEPATH=OPENSSL_SSL_LIBRARY-NOTFOUND

Can it be some problem with broken cmake rules for grpc?

Also I tried is to remove alidist and sw folders and to run
aliBuild init QualityControl@master --defaults o2
but no luck. Any help/hints are very welcome.

By the way, O2 build was successful and works well.

Thank you & regards,
Sergey

Hi Sergey,

Sorry for the late reply.

As it is on Ubuntu, I let @hristov have a look at it.

Cheers,

Dear Barth,

thank you very much. The problem is still persistent and I ran out of ideas what to do.

Best regards,
Sergey

Hello @bvonhall @hristov ,

I managed to solve the issue by completely removing sw/ and alidist/, system updating & upgrading and re-installing libssl-dev package. It seems that problem was somehow corrupted OpenSSL stuff in my system.

By the way, I have a question regarding OpenSSL. Why ALICE soft depends on so old version of OpenSSL (v1.0.2o)? At least for me ~60% of building problems were related to conflicts between system and alidist OpenSSL packages. Probably it is ubuntu-specific behaviour?

Thank you!
Sergey

Hi @sevdokim,

I was about to propose the “solution” that you had found - remove sw/, update alibuild and alidist, and recompile. My compilation has just completed successfully. However, I see another problem in ReadoutCard - the version of Python in Boost is 3.6, the system python is 3.8 and there is a conflict. I will try to find a solution.

Concerning OpenSSL, 1.0.2o is the last version that compiles with all our packages. I tried unsuccessfully to bump to newer version, and at the end I added support for this old version in Arrow. Probably we can try again, but many attempts just failed.

Best regards,
Peter

Dear @hristov, all,

It seems that many people experiencing problems with openssl package on ubuntu. It is conflicting with system library. See for example today’s message from @prsnko:

Dear experts,
It looks like we have a mixture of different versions on libcrypto libraries in compilation of QualityControl on ubuntu 18.04.

First I built QualityControl without problems, but it crashed when I run it because it tried to use system library instead of one installed with AliBuild:
[6094:QC-CHECK-RUNNER-sink-QC_QcTask-mo_0]: #6 0x00007ff0e6d92fc0 in ASN1_TIME_check () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
[6094:QC-CHECK-RUNNER-sink-QC_QcTask-mo_0]: #7 0x00007ff0e5ea1b42 in TJAlienCredentials::checkCertValidity(char const*) () from /home/prsnko/alice/sw/ubuntu1804_x86-64/libj
alienO2/0.1.3-local2/lib/libjalienO2.so
[6094:QC-CHECK-RUNNER-sink-QC_QcTask-mo_0]: #8 0x00007ff0e5ea3298 in TJAlienCredentials::selectPreferedCredentials() () from /home/prsnko/alice/sw/ubuntu1804_x86-64/libjali
enO2/0.1.3-local2/lib/libjalienO2.so
[6094:QC-CHECK-RUNNER-sink-QC_QcTask-mo_0]: #9 0x00007ff0e5ee3bd0 in o2::ccdb::CcdbApi::init (this=0x1b1f6d8, host=…) at /home/prsnko/alice/sw/SOURCES/O2/dev/0/CCDB/src/CcdbApi.cxx:77
[6094:QC-CHECK-RUNNER-sink-QC_QcTask-mo_0]: #10 0x00007ff0e7eb1e61 in o2::quality_control::repository::CcdbDatabase::init (this=) at /home/prsnko/alice/sw/SOURCES/QualityControl/master/0/Framework/src/CcdbDatabase.cxx:108

then I removed libssl-dev package and re-compiled QualityControl from scratch. In this case compilation failed:
CMake Error at /home/prsnko/alice/sw/ubuntu1804_x86-64/CMake/v3.19.2-local1/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:218 (message):
Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
OPENSSL_INCLUDE_DIR)
Call Stack (most recent call first):
/home/prsnko/alice/sw/ubuntu1804_x86-64/CMake/v3.19.2-local1/share/cmake-3.19/Modules/FindPackageHandleStandardArgs.cmake:582 (_FPHSA_FAILURE_MESSAGE)
/home/prsnko/alice/sw/ubuntu1804_x86-64/CMake/v3.19.2-local1/share/cmake-3.19/Modules/FindOpenSSL.cmake:536 (find_package_handle_standard_args)
cmake/ssl.cmake:66 (find_package)
CMakeLists.txt:253 (include)
Any ideas how to fix this?

 Best regards, Dmitri

I think some investigation should be done as many intellectual resources are already wasted by people. Is there any advise where to start looking? I feel like problem can be solved easily by prepending correct path to libraries to LD_LIBRARY_PATH. But in which script?

Thank you & regards,
Sergey

Dear @hristov, @sevdokim,
I removed sw completely and recompiled QualityControl from scratch - it worked. Then I build AliPhysics and QualityControl stop working with same error:
[30043:QC-CHECK-RUNNER-sink-QC_PHOSCalibLED-mo_0]: #6 0x00007fc311bdffc0 in ASN1_TIME_check () from /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1
[30043:QC-CHECK-RUNNER-sink-QC_PHOSCalibLED-mo_0]: #7 0x00007fc310cecb42 in TJAlienCredentials::checkCertValidity(char const*) () from /home/prsnko/alice/sw/ubuntu1804_x86-
64/libjalienO2/0.1.3-local2/lib/libjalienO2.so
[30043:QC-CHECK-RUNNER-sink-QC_PHOSCalibLED-mo_0]: #8 0x00007fc310cee298 in TJAlienCredentials::selectPreferedCredentials() () from /home/prsnko/alice/sw/ubuntu1804_x86-64/
libjalienO2/0.1.3-local2/lib/libjalienO2.so

It is too expensive to spend 2 days to switch between O2 and AliPhysics… Probably other solution exists?
Best regards, Dmitri

Dear experts,

I recently reinstalled from scratch both AliPhysics (with --defaults o2) and O2-QC, in separate directories. Both builds went through smoothly, but now, when I try to run some json related to the trending in QC, it crashes with a segmentation violation and the same error as @prsnko.

I would like therefore to ask if a solution has been found to solve this issue?

Thanks in advance.
Best,
Cindy

Dear @cimordas
unfortunately I did not find any good solution. I had to remove everything and re-install from scratch another time. Finally it completed.
Best regards, Dmitri

Dear @prsnko,

many thanks for the prompt reply. Hopefully, this will work for me as well. :slight_smile:

Best,
Cindy