I am trying to compile CTA 5.2.10 on a Rocky 8 host and I have the following questions:
What is the required Ceph version (for the librados-devel, libradosstriper-devel and librados2 packages)? Just to note that there isn’t a 15.2.15-0 Octopus version in our ceph-el8-x86_64 mirrors repo, the earliest Octopus version in this repo is 15.2.16-0…)
Currently at CERN for CTA we are using CentOS-7 with this packages: versionlock.list
For Ceph we are using `15.2.15-0.el7.
For oracle-instant-client we are using 19.3 , described in cta.spec.in. You can try to use the version oracle-instantclient19.13-devel-19.13.0.0.0-2.x86_64.rpm. In Alma9 we will use oracle-instantclient19.19-devel-19.19.0.0.0-1.el9.x86_64.rpm because it’s the only available version.
For protobuf3-devel we use the default one in CentOS7
Thanks for the reply. I am aware of these package versions in the case of Centos-7/EL7.
I was basically wondering what are the corresponding versions of these same packages
in the of EL8.
Hi George,
we know We just mentioned the closest configuration we are sure of, in case it is useful, as no one has given a Rocky8-specific answer yet. Since we plan to skip from CentOS7 straight to Alma9 we will likely not have a good answer for you here.
Morning!
The Alma9 setup is being worked on by Jorge (see also his comment above for Alma9 details) in issue #499. Additional build details can be seen in the corresponding branch & MR: 499-compile-and-running-cta-in-alma9-linux
Thanks and sorry for missing Jorge’s comment on the version of oracle-instantclient1; I will try the version oracle-instantclient19.19.
Would it be please possible to confirm also the versions of Ceph/rados and eos-protobuf3 (as the protobuf3 packages are now called in the diopside deps repo)? I didn’t manage to find these in the above gitlab #499 issue.
No worries if you haven’t decided on these yet. Please post an update in this thread whenever you can!
I have managed to build the src.rpm and install all package deps but I get compilation errors the “build_rpm” stage. I paste the last few lines of the compilation output. Can you please help?
In file included from /root/CTA/build_rpm/RPM/BUILD/cta-4.10.0-2/objectstore/ObjectOps.hpp:22,
from /root/CTA/build_rpm/RPM/BUILD/cta-4.10.0-2/objectstore/Agent.hpp:20,
from /root/CTA/build_rpm/RPM/BUILD/cta-4.10.0-2/scheduler/OStoreDB/OStoreDB.hpp:32,
from /root/CTA/build_rpm/RPM/BUILD/cta-4.10.0-2/objectstore/Helpers.hpp:34,
from /root/CTA/build_rpm/RPM/BUILD/cta-4.10.0-2/objectstore/Algorithms.hpp:31,
from /root/CTA/build_rpm/RPM/BUILD/cta-4.10.0-2/objectstore/ArchiveQueueAlgorithms.hpp:20,
from /root/CTA/build_rpm/RPM/BUILD/cta-4.10.0-2/objectstore/ArchiveQueueToTransferAlgorithms.cpp:19:
/root/CTA/build_rpm/RPM/BUILD/cta-4.10.0-2/build/objectstore/cta.pb.h:23681:13: note: declared here
inline void RetrieveRequestRepackInfo::set_force_disabled_tape(bool value) {
^~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
make[6]: *** [objectstore/CMakeFiles/ctaobjectstore.dir/build.make:251: objectstore/CMakeFiles/ctaobjectstore.dir/ArchiveQueueToTransferAlgorithms.cpp.o] Error 1
make[5]: *** [CMakeFiles/Makefile2:2614: objectstore/CMakeFiles/ctaobjectstore.dir/all] Error 2
make[4]: *** [Makefile:136: all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.qnR592 (%build)
This seems to be some problem with the building of the protobuf files. I have seen it happen before, and it’s usually because they were not rebuilt properly.
I’m not sure what can help in this specific case, but I would try the following:
Clear manually all build files
Clear ccache (if used)
Run git submodule update --init --recursive to pull the correct commits of all submodules
WARNING: Target “EosGrpcClient” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “EosGrpcClient” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “ctaCmdlineToolsCommon” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “cta-send-event” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “cta-change-storage-class-in-catalogue” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “cta-restore-deleted-files” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “cta-eos-namespace-inject” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “cta-admin-grpc” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “cta-admin-grpc” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “cta-frontend-async-grpc” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “cta-frontend-async-grpc” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
WARNING: Target “cta-frontend-grpc” requests linking to directory “/opt/eos/grpc”. Targets may link only to libraries. CMake is dropping the item.
– Generating done
– Build files have been written to: /root/CTA/build_rpm
to get past the “cmake3 …/” stage. It is just when I do “make cta_rpm” I get errors about grpc and grpc++ not being found which results eventually in the compilation to abort.
This, I think, means that my changes in cmake/FindGRPC.cmake are not correct hence my question. Can you please clarify how should I set the following?
For the record, I suppose it is bit of of an overkill to try and build CTA on Rocky 9 but I just want to have a back-up option in case your Alma9 builds have issues running on our Rocky 9 hosts.