Hi,
I am trying to compile CTA 4.6.1-1 ( git checkout tags/v4.6.1-1
) on an SL7 OpenStack VM using cmake3 and devtoolset-8. I get compilations errors that you can see here
http://www-public.gridpp.rl.ac.uk/antares/CTA461_build_errors
Do you know what should I do?
George
/root/CTA/build_rpm/RPM/BUILD/cta-4.6.1-1/cmdline/CtaAdminTextFormatter.cpp:1080:15: error: ‘const class cta::admin::DiskSystemLsItem’ has no member named ‘free_space_query_url’
/root/CTA/build_rpm/RPM/BUILD/cta-4.6.1-1/cmdline/CtaAdminTextFormatter.cpp:1081:15: error: ‘const class cta::admin::DiskSystemLsItem’ has no member named ‘refresh_interval’
make[6]: Target cmdline/CMakeFiles/cta-admin.dir/build' not remade because of errors. /root/CTA/build_rpm/RPM/BUILD/cta-4.6.1-1/xroot_plugins/XrdCtaDiskSystemLs.hpp:89:14: error: 'class cta::admin::DiskSystemLsItem' has no member named 'set_free_space_query_url' /root/CTA/build_rpm/RPM/BUILD/cta-4.6.1-1/xroot_plugins/XrdCtaDiskSystemLs.hpp:90:14: error: 'class cta::admin::DiskSystemLsItem' has no member named 'set_refresh_interval' make[6]: Target
xroot_plugins/CMakeFiles/XrdSsiCta.dir/build’ not remade because of errors.
make[5]: Target all' not remade because of errors. make[4]: Target
default_target’ not remade because of errors.
/root/CTA/build_rpm/RPM/BUILD/cta-4.6.1-1/cmdline/CtaAdminTextFormatter.cpp:1080:15: error: ‘const class cta::admin::DiskSystemLsItem’ has no member named ‘free_space_query_url’
/root/CTA/build_rpm/RPM/BUILD/cta-4.6.1-1/cmdline/CtaAdminTextFormatter.cpp:1081:15: error: ‘const class cta::admin::DiskSystemLsItem’ has no member named ‘refresh_interval’
/root/CTA/build_rpm/RPM/BUILD/cta-4.6.1-1/xroot_plugins/XrdCtaDiskSystemLs.hpp:89:14: error: ‘class cta::admin::DiskSystemLsItem’ has no member named ‘set_free_space_query_url’
/root/CTA/build_rpm/RPM/BUILD/cta-4.6.1-1/xroot_plugins/XrdCtaDiskSystemLs.hpp:90:14: error: ‘class cta::admin::DiskSystemLsItem’ has no member named ‘set_refresh_interval’
Hello George,
in the git checkout tags/v4.6.1-1
you can have a look at the .gitlab-ci.yml
file that contains the code we use to automatically build CTA in the gitlab Continuous Integration.
Build is performed in 2 stages:
rpm build stage gets the build dependencies from cta srpms.
Reading this file will get you the needed steps to add devtoolset-8
additional step.
As you can see from this file too our default build environment is the standard cc7-base image from gitlab-registry.cern.ch/linuxsupport/cc7-base.
I hope it helps,
Cheers,
Julien
Hi Julien,
Thanks for this. I was following a procedure very similar (but not identical) to the one described in .gitlab-ci.yml. Following more closely .gitlab-ci.yml (I omitted steps I was sure I didn’t need like some yum installs and the copying of CERN repos which I cant access to /etc/yum.repos.d./), I managed now to compile CTA!
This what I did
http://www-public.gridpp.rl.ac.uk/antares/Build_CTA61_new.txt
Can you briefly sanity-check it?
The only differences compared to my procedure were the following
- git submodule update --init --recursive (I ran this immediatelly after git clone)
- cd xrootd-ssi-protobuf-interface && export XROOTD_SSI_PROTOBUF_INTERFACE_VERSION=$(git describe --tags --abbrev=0) && cd … (First time I see this; I was running it at all)
- Updated rpm-build package (when I ran yum install -y devtoolset-8 cmake cmake3 make rpm-build
George
Hi George,
I had a quick look at your compile logs, they look good.
You can still double check with the complete logs of our build for 4.6.1-1:
Regarding the steps:
- recursively update the submodules of CTA repo to the specific commit if of their respective git stub
- this is to set correctly the version of the SSI protubuf version in the environmental variable: basically the latest tag after the submodule commit id from step 1. this is mainly so that
cta-admin --json version
reports the correct SSI version on CLI
On my Fedora laptop I try to do it like in CI: compile CTA in a fresh CC7 container instantiated via podman
: I just wrote 2 small shell scripts to run the few lines from gitlab-ci.yml
Julien