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安装部署
1324 0
|
2月前
|
大数据 Linux 数据库
openEuler操作系统介绍
openEuler是一款开源免费的操作系统,由openEuler社区运作,支持多种处理器,适用于数据库、大数据、云计算等场景。它源自华为EulerOS,现分为创新版和LTS版,分别每半年和每两年发布一次。本课程以openEuler 20.03 LTS版为例,介绍其安装流程和环境准备。
176 3
|
缓存 Perl
如何修改openeuler为阿里源
修改openeuler为阿里源
4518 0
|
4月前
|
缓存 负载均衡 算法
The Linux Scheduler: a Decade of Wasted Cores
The Linux Scheduler: a Decade of Wasted Cores
53 5
|
2月前
OpenEuler配置本地yum源
本文档介绍了如何在服务器和虚拟机上挂载光盘镜像并配置本地Yum仓库,包括创建挂载点、编辑repo文件、实现挂载持久化以及通过FTP共享本地仓库的方法。适用于需要频繁安装软件包或管理多台机器的场景。
398 0
OpenEuler配置本地yum源
|
2月前
|
虚拟化
vmware安装OpenEuler系统
vmware安装OpenEuler系统
|
2月前
|
编解码 Linux iOS开发
openEuler系统下neofetch工具的安装与基本使用
【10月更文挑战第2天】openEuler系统下neofetch工具的安装与基本使用
67 0
openEuler系统下neofetch工具的安装与基本使用
|
4月前
|
分布式计算 Hadoop 关系型数据库
dolphinscheduler搭建
先根据伪集群来部署、部署中参考非伪集群 1、mysql数据库 mysql -h主机地址 -u用户名 -p 2、查看等 less:G、上下按键、ctrl+b、ctrl+f、q find / -iname '*mysql*' 更改目录所有者 chown -R dolphinscheduler:dolphinscheduler apache-dolphinscheduler-*-bin /usr/apache-dolphinscheduler-3.1.0-bin/tools/libs 里面也需要mysql驱动
77 1
|
6月前
|
虚拟化
VirtualBox安装OpenEuler1
VirtualBox安装OpenEuler
|
6月前
|
安全 Unix Linux
在 openEuler 上安装桌面环境
在 openEuler 上安装桌面环境
162 0