openeuler ceph10编译问题

简介: ceph10在openeuler环境上的编译问题

RPM install

cat ceph.spec | grep BuildRequires | awk -F' ' '{print $2}' | xargs -i yum install -y {}
# 缺少rpm包
libxio-devel redhat-rpm-config FastCGI-devel libexpat-devel babeltrace-devel Cython redhat-lsb-core python-Sphinx  openldap2-devel lsb-release libopenssl-devel keyutils-devel mozilla-nss-devel btrfsprogs libbz2-devel systemd-rpm-macros python-nose python-devel 

make ERROR:

1. signal error 找不到 sys_siglist
# define sig_str(signum) strsignal(signum)
//#ifndef HAVE_REENTRANT_STRSIGNAL
//# define sig_str(signum) sys_siglist[signum]
//#else
//# define sig_str(signum) strsignal(signum)
//#endif


2. boost错误,删除调用函数
rbd_replay/Replayer.cc: In member function ‘void rbd_replay::Replayer::wait_for_actions(const Dependencies&)’:
rbd_replay/Replayer.cc:342:141: error: no matching function for call to ‘boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000000>::subsecond_duration(float)’
  342 |     boost::system_time sub_release_time(action_completed_time + boost::posix_time::microseconds(dep.time_delta * m_latency_multiplier / 1000));
      |                                                                                                                                             ^
In file included from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:16,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/lock_types.hpp:18,
                 from /usr/include/boost/thread/pthread/mutex.hpp:16,
                 from /usr/include/boost/thread/mutex.hpp:16,
                 from rbd_replay/Replayer.hpp:18,
                 from rbd_replay/Replayer.cc:15:
/usr/include/boost/date_time/time_duration.hpp:296:36: note: candidate: ‘template<class T> constexpr boost::date_time::subsecond_duration<base_duration, frac_of_second>::subsecond_duration(const T&, typename boost::enable_if<boost::is_integral<T>, void>::type*) [with T= T; base_duration = boost::posix_time::time_duration; long int frac_of_second = 1000000]’
  296 |     BOOST_CXX14_CONSTEXPR explicit subsecond_duration(T const& ss,
      |                                    ^~~~~~~~~~~~~~~~~~
/usr/include/boost/date_time/time_duration.hpp:296:36: note:   template argument deduction/substitution failed:
/usr/include/boost/date_time/time_duration.hpp: In substitution of ‘template<class T> constexpr boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000000>::subsecond_duration(const T&, typename boost::enable_if<boost::is_integral<T>, void>::type*) [with T = float]’:
rbd_replay/Replayer.cc:342:141:   required from here
/usr/include/boost/date_time/time_duration.hpp:296:36: error: no type named ‘type’ in ‘struct boost::enable_if<boost::is_integral<float>, void>’
In file included from /usr/include/boost/date_time/posix_time/posix_time_config.hpp:16,
                 from /usr/include/boost/date_time/posix_time/posix_time_system.hpp:13,
                 from /usr/include/boost/date_time/posix_time/ptime.hpp:12,
                 from /usr/include/boost/date_time/posix_time/posix_time_types.hpp:12,
                 from /usr/include/boost/thread/thread_time.hpp:11,
                 from /usr/include/boost/thread/lock_types.hpp:18,
                 from /usr/include/boost/thread/pthread/mutex.hpp:16,
                 from /usr/include/boost/thread/mutex.hpp:16,
                 from rbd_replay/Replayer.hpp:18,
                 from rbd_replay/Replayer.cc:15:
/usr/include/boost/date_time/time_duration.hpp:281:30: note: candidate: ‘constexpr boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000000>::subsecond_duration(const boost::date_time::subsecond_duration<boost::posix_time::time_duration, 1000000>&


3. 指针问题
./common/dout.h:82:12: error: base operand of ‘->’ is not a pointer
   82 |   _ASSERT_H->_log->submit_entry(_dout_e);  \
      |            ^~
./common/dout.h:82:12: note: in definition of macro ‘dendl’
   82 |   _ASSERT_H->_log->submit_entry(_dout_e);  \
      |            ^~
./common/dout.h:62:18: warning: unused variable ‘_dout_cct’ [-Wunused-variable]
   62 |     CephContext *_dout_cct = cct;     \
      |                  ^~~~~~~~~
./common/dout.h:62:18: note: in definition of macro ‘dout_impl’
   62 |     CephContext *_dout_cct = cct;     \
      |                  ^~~~~~~~~
test/librados_test_stub/TestWatchNotify.cc:267:5: note: in expansion of macro ‘ldout’
  267 |     ldout(m_cct, 10) << "oid=" << oid << ", notify_id=" << notify_id
      |     ^~~~~
./common/dout.h:82:12: error: base operand of ‘->’ is not a pointer
   82 |   _ASSERT_H->_log->submit_entry(_dout_e);
   
相关文章
|
分布式计算 关系型数据库 MySQL
DolphinScheduler安装部署
DolphinScheduler安装部署
1176 0
|
缓存 Perl
如何修改openeuler为阿里源
修改openeuler为阿里源
3551 0
|
运维 资源调度 Kubernetes
Kubernetes Scheduler Framework 扩展: 1. Coscheduling
# 前言 ## 为什么Kubernetes需要Coscheduling功能? Kubernetes目前已经广泛的应用于在线服务编排,为了提升集群的的利用率和运行效率,我们希望将Kubernetes作为一个统一的管理平台来管理在线服务和离线作业。但是默认的调度器是以Pod为调度单元进行依次调度,不会考虑Pod之间的相互关系。但是很多数据计算类的作业具有All-or-Nothing特点,要求所有的
2927 0
|
18天前
|
存储 NoSQL Java
APScheduler简介
APScheduler简介
31 0
|
5月前
|
Kubernetes Linux Docker
suse 12 二进制部署 Kubernetets 1.19.7 - 第08章 - 部署kube-scheduler组件
suse 12 二进制部署 Kubernetets 1.19.7 - 第08章 - 部署kube-scheduler组件
21 0
|
9月前
|
自然语言处理 分布式计算 数据可视化
DolphinScheduler
DolphinScheduler是一款开源的分布式任务调度系统,它基于分布式架构设计,支持多租户、多语言、多框架、多数据源等特性。DolphinScheduler提供了可视化的工作流设计器和任务调度管理界面,使得任务的调度和管理更加方便和可靠。
396 0
|
10月前
|
负载均衡 网络协议 Linux
Anolis/openEuler 下 DPVS 的编译与部署
海光C86 7169+Anolis/openEuler 部署 DPVS v1.9.4版本;
727 0
Anolis/openEuler 下 DPVS 的编译与部署
QGS
|
11月前
|
人工智能 安全 Java
(openEuler-x86)安装配置OpenJDK1.8+TongWeb7.0
openEuler是一款开源操作系统。当前openEuler内核源于Linux,支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等应用场景。同时,openEuler是一个面向全球的操作系统开源社区,通过社区合作,打造创新平台,构建支持多处理器架构、统一和开放的操作系统,推动软硬件应用生态繁荣发展。
QGS
341 0
|
Kubernetes Linux Shell
Kubeadm 快速搭建 k8s v1.24.1 集群(openEuler 22.03 LTS)
kubeadm 是 Kubernetes 官方提供的用于快速安部署 Kubernetes 集群的工具,伴随 Kubernetes 每个版本的发布都会同步更新,kubeadm 会对集群配置方面的一些实践做调整,通过实验 kubeadm 可以学习到 Kubernetes 官方在集群配置上一些新的最佳实践...
2217 3
Kubeadm 快速搭建 k8s v1.24.1 集群(openEuler 22.03 LTS)
|
缓存
华为openEuler(EulerOS)系统 设置yum源
华为openEuler(EulerOS)系统 设置yum源
3295 0
华为openEuler(EulerOS)系统 设置yum源

热门文章

最新文章