编译ceph源码:cython module not found问题的解决
环境:centos7.5
ceph版本:12.2.1
在当前环境对ceph源码rpm包进行重新编译
执行命令rpmbuild --rebuild ceph-12.2.1-0.el7.src.rpm
最后出现错误如下:
Could not find cython3. Please install Cython.
- 查看此时对
Cython3
模块的编译规则
vim /BUILD/ceph-12.2.1/cmake/modules/FindCython.cmake
SET(Cython${PYTHON_VERSION}_FOUND FALSE) # Try to run Cython, to make sure it works: execute_process(COMMAND ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -m cython --version #为此时执行的命令RESULT_VARIABLE CYTHON_RESULTOUTPUT_QUIETERROR_QUIET) if (CYTHON_RESULT EQUAL 0)SET(Cython${PYTHON_VERSION}_FOUND TRUE) endif (CYTHON_RESULT EQUAL 0)IF (Cython${PYTHON_VERSION}_FOUND)IF (NOT Cython_FIND_QUIETLY)MESSAGE(STATUS "Found cython${PYTHON_VERSION}")ENDIF (NOT Cython_FIND_QUIETLY) ELSE (Cython${PYTHON_VERSION}_FOUND)IF (Cython_FIND_REQUIRED)MESSAGE(FATAL_ERROR "Could not find cython${PYTHON_VERSION}. Please install Cython.")#命令执行失败,没有找到cython模块的打印#增加如下一行,来进行执行命令的打印MESSAGE(FATAL_ERROR ${PYTHON${PYTHON_VERSION}_EXECUTABLE} -m cython --version )ENDIF (Cython_FIND_REQUIRED) ENDIF (Cython${PYTHON_VERSION}_FOUND)
- 通过以上过程确认到在编译过程中执行如下命令报出错误:
/usr/bin/python3 -m cython --version
则单独执行该命令报出如下错误cython module not found问题的解决
- 此时问题非常明显,我们环境中的python3版本cython模块缺失
再次确认该问题,执行如下命令[node1@localhost build]$ which python3 #查看python3的绝对路径 /usr/bin/python3 [node1@localhost build]$ /usr/bin/python3 --version #查看当前python3的版本 Python 3.6.8 [node1@localhost build]$ cd /usr/lib/python3.6/site_packages/ #进入到python3.6.8版本的lib库目录 #发现该目录为空
- 此时问题已经确认,python3.6.8版本未完全安装,尝试解决cython module的问题
在cython官网下载最新的Cython-0.29.10.tar.gz
代码,执行如下步骤进行安装cd Cython0.29.10#这里一定要加python对应的版本,我们是python3获取不到cython模块,所以要安装对应的python3版本的cython /usr/bin/python3 setup.py install
- 安装好python3的cython模块,但是因为python3.6.8很多动态库都没有装上,后续仍然会有很多python3的库问题
这里建议重新安装python3.6.8版本,进入python官网,下载python3.6.8源码的tar包
执行如下步骤进行源码的编译安装#解压压缩包 tar xzvf Python-3.6.8.tgz cd Python-3.6.8 # 编译安装 #./configure --help查看编译参数 #默认安装在'/usr/local/bin','/usr/local/lib' etc #可以通过参数指定如:--prefix=/usr/local/python3 #这里我将我python3.6.8的安装路径放在/usr目录下,它会自己将可执行文件放到/usr/bin目录下,动态库已经模块放到/usr/lib目录下 ./configure --prefix=/usr/ make && make install
- 安装成功之后再次确认
/usr/lib/python3.6/site_packages/
目录库是否足够,如果此时再次出现cython
缺失,那么按照我们进行cython
源码安装的步骤再次使用python3
进行依次安装即可
此时问题我们再次执行rpmbuild --rebuild ceph-12.2.1-0.el7.src.rpm
可以成功执行下去。综上,我们的问题仍然是操作系统对应的python3未安装完全导致,如果设备联通外网,可以重新yum update python3
或者yum upgrade python3
即可
相关文章:

把mysql 中的字符gb2312 改为gbk的方法
第一步:查找mysql的字符: mysql> show variables like %char%;------------------------------------------------------------| Variable_name | Value |------------------------------------------------------------|…

1h2g云服务器做网站,云服务器1h2g
云服务器1h2g 内容精选换一换IP地址组是多个IP地址的集合,可被安全组规则引用,可统一管理具有相同安全要求或需要频繁修改的IP地址。通过使用IP地址组,可有效应对需要重复多次编辑安全组规则的场景,方便管理。您需要先创建一个IP地…

×××S:Reporting Services 技巧
S:Reporting Services 技巧 表达式 1、序号:RunningValue(1, sum, nothing) 2、总记录数: CountRows() 3、今天日期:Today 4、本月初:CDate(Now().ToString("yyyy-MM-01")) 5、换行效果(<br/&…

vim 常用指令
1 移动光标 光标动作 hjkl,方向键 移动一位,hjkl代表左、下、上、右 数字0 移至本行开头 ^ 移至本行第一个非空字符,匹配开头 $ 移至本行结尾,可以包含空格 w 移至下一单词或标点的开头…

ceph osd 由于“No space left on device” 异常down,通过扩容文件系统或者显式运行osd进程解决
文章目录ceph版本:环境配置:异常问题:问题解决:总结ceph版本: ceph 12.2.1 环境配置: tier_pool 16个分区大小800G 的osd容量 3副本 data_pool 32个4T盘 3副本 异常问题: ps:在分布式存储中遇到任何问题都不要先…

java云服务器系统选择,java云服务器系统选择
java云服务器系统选择 内容精选换一换登录Windows操作系统弹性云服务器时,无法正常进入系统。自启动系统修复模式,但选择修复选项后报错,无法继续进行系统恢复。Windows文件已损坏。登录管理控制台,选择“计算 > 弹性云服务器”…

WordPress数据库优化技巧
各位站长都知道wordpress用久了就会越来越慢。今天就给大家介绍如何给自己的wordpress提速,分两种方法:1.插件属性wordpress的都知道其插件是相当的多,只要你能想得到的基本都有,在这给大家介绍几个小编知道的插件:WP-…

【JDK7】新特性(2) 语法
2019独角兽企业重金招聘Python工程师标准>>> JDK7对Java语法有少量更新,重点是在易用性和便捷性的改进。 1.二进制字面量 JDK7开始,终于可以用二进制来表示整数(byte,short,int和long)。使用二进制字面量的好处是&am…

AtcoderCodeForces杂题11.6
Preface NOIP前突然不知道做什么,感觉思维有点江僵化,就在vjudge上随便组了6道ABC DCF Div2 C/D做,发现比赛质量还不错,知识点涉及广,难度有梯度,码量稍小,思维较多. 同时发现vjudge的比赛功能很不错 A. ABC112-D-Partition 难度感觉比NOIP T1简单了些了 首先naiive的想法是枚举…

centos下将vim配置为强大的源码阅读器
每日杂事缠身,让自己在不断得烦扰之后终于有了自己的清静时光来熟悉一下我的工具,每次熟悉源码都需要先在windows端改好,拖到linux端,再编译。出现问题,还得重新回到windows端,这个过程太耗费时间。 vim作为…

虚拟机看服务器mac地址,虚拟机修改服务器mac地址吗
虚拟机修改服务器mac地址吗 内容精选换一换本章节指导用户为Windows系统的ECS主机添加域名解析并添加安全组,防止下载Agent安装包与采集监控数据时出现异常。修改ECS的DNS配置有两种方式:Windows图形化界面和管理控制台。您可以根据自己的使用习惯选择其…

条件注释判断浏览器!--[if !IE]!--[if IE]!--[if lt IE 6]!--[if gte IE 6]
条件注释判断浏览器<!--[if !IE]><!--[if IE]><!--[if lt IE 6]><!--[if gte IE 6]> <!--[if !IE]><!--> 除IE外都可识别 <!--<![endif]--><!--[if IE]> 所有的IE可识别 <![endif]--><!--[if IE 6]> 仅IE6可识…

USACO09FEB Fair Shuttle
题目传送门 据说\(NOIp\)前发题解可以\(\mathfrak{RP}\) 因为要尽可能满足更多奶牛,所以按照这种区间贪心题的套路,先按右端点排序,然后依次遍历,能坐车的就让它们坐车,这样一定是最优的。 在贪心的时候,我…

diy高性能存储服务器,diy存储服务器
diy存储服务器 内容精选换一换帮助用户完成专属云服务器备份任务的创建,快速完成服务器数据保护。专属云服务器不支持应用一致性备份。当专属对象存储的容量不足时,会导致专属云服务器备份创建失败。已开通专属对象存储。登录管理控制台。单击࿰…

使用内存盘 格式化文件系统以及部署ceph-osd
文章目录创建RAMDISK使用内存盘使用内存盘格式化文件系统使用内存盘部署ceph-osd删除内存盘为了测试内存盘类型的磁盘做ceph osd的io性能,将内存部分空间取出来用作普通物理磁盘(RAMDISK),并在该磁盘上部署ceph osd支持该操作的系统驱动为brd.koPS &…

iBatis的CRUD操作详细总结
昨天晚上看了一下关于iBatis的一个讲解的视频,讲的和我的这个简单的总结差不多.... 思考了一下还是把主要操作都总结一下吧,当然这里也不是全的,知识简单的CRUD。。。 首先我觉得持久层的操作主要就是这几个: public interface IP…

min聚合函数查询带有额外字段sql|dense_rank()over(partition)|+班级学生成绩最高
oracle爱好者和群snowg的问题 上面的这个,有站点stationid,year,month,day和每天记录的day_tmin字段。现在要求统计处每个stationid下面每月每日的最小day_tmin字段,因为不关注year,所以sql这样写 select …

提升jmeter自身性能
JMeter负载测试时使用GUI界面和较多的收集测试结果的监听器容易造成jmeter的性能瓶颈,远程测试时的控制台尤为明显。提升JMeter负载测试时性能的方法如下: 官方的解决办法:http://jakarta.apache.org/jmeter/usermanual/best-practices.html#…

C++ STL的reserve函数
在阅读ceph源码过程中发现部分C语法还是不够熟悉,特此做一下笔记。 关于STL中的reserve函数的使用 reserve()是为容器预留空间,即为当前容器设定一个空间分配的阈值,但是并不会为容器直接allocate具体的空间,具体空间的分配是在创…

AJAX进行分页
新建数据集:PagingDataSet.xsd SELECT * from ( select id, areaID, area, father,Row_Number() over (order by areaID) rownum FROM dbo.area) t where t.rownum >startRowIndex and t.rownum <endRowIndex在集合中添加两个参数: startRowIndex…

华为服务器引入清空外部配置文件,云服务器还原配置文件
云服务器还原配置文件 内容精选换一换外部镜像文件在从原平台导出前,没有按照“Windows操作系统的镜像文件限制”的要求完成初始化操作,推荐您使用弹性云服务器完成相关配置。流程如图1所示。云服务器的正常运行依赖于XEN Guest OS driver(PV driver)和K…

脚本SFTP定时取Linux服务器文件
为什么80%的码农都做不了架构师?>>> 在工作中尤其是政府机关为了安全方面考虑,通常是不开通服务器与服务器之间FTP服务 如果每天又要巡检服务器,每次都要登录查看某个文件给自己的工作带来很大的不便 这里通过 winscp工具使用S…

使用sigaction处理内核信号
文章目录函数描述函数使用抓取发送信号的进程信息mark一次获取内核信号,并作相应处理的手段linux内核中断机制的一个重要实现就是信号。信号使得内核和用户态的交互更加便捷,这个便捷对开发者来说可以更好的利用系统原生内核来处理信息。《深入理解unix内…

ios share extension 真机不显示_ios企业签名:APPGroups实现App之间数据共享
一、认识App GroupsAppGroup allows data sharing between two different apps or even app and widgets by creating one common shared path (like document directory). Data saved over there can be accessed by any app which is associated with that particular AppGro…

处理 JSON null 和空数组及对象
描述了对 JSON 数据中使用的 null 和空数组及对象的处理。 JSON 数据具有 null 和空数组及对象的概念。此部分说明其中每个概念如何映射到 null 和未设置的数据对象概念。 Null 值 JSON 具有特殊值 null,可以对任何数据类型设置该值,包括数组、对象、数字…

xml file too big to import to wordpress website
xml文件太大无法上传到wordpress 原因:从一个wordpress上导出了自己所有的文章,大概6~7MB,准备导入到本机自建的一个wordpress,不过上传文件有限制,最大2MB。 解决方法: 1. 网上很多关于修改配置文件的…

亚麻 面经_ml
Ds -如何预测一个人会不会在下一个月在Amazon买东西,有什么模型。https://mlwave.com/predicting-repeat-buyers-vowpal-wabbit/https://www.researchgate.net/post/How_can_I_study_the_past_spending_behaviour_of_a_customer_in_a_banking_perspective_and_predi…

ceph bluestore源码分析:C++ 获取线程id
阅读ceph源码过程中需要明确当前操作是由哪个线程发出,此时需要根据线程id来确认线程名称 C获取线程id是通过系统调用来直接获取 函数描述 头文件:<sys/syscall.h> 函数名称:syscall(SYS_gettid) 该函数直接返回了一个pid_t int类型的数字,即为当…

判断两直线段是否相交
转自:http://www.cnblogs.com/shengshouzhaixing/archive/2013/03/17/2964950.html //功能:求点在有向直线左边还是右边 //返回:0共线、1左边、-1右边 int left_right(point a,point b,double x,double y) { d…

led显示屏建设标准_户外LED显示屏3大防护标准_显示屏应对恶劣天气?
户外LED显示屏是现在LED显示屏应用最棺广泛的领域。面积巨大,显示效果震撼。同时为了更好的宣传效果,通常安装余楼顶,道路等空旷无遮挡地带。由于面积大且处于露天状态,LED显示屏面临巨大的环境挑战。经常要面对大风、暴雨、冰雹等…