编译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
即可
编译ceph源码:cython module not found问题的解决相关推荐
- Ceph源码编译和调试vstart版本(一)
ceph调试环境及版本 ubuntu18.04 ceph v14.2.22 ceph调试源码部署一个完整集群,使用ceph源码vstart脚本部署. 1.克隆源码仓库 git clone --recu ...
- Ceph源码编译和调试之vstart方式
存储系统:ceph-14.2.22 操作系统:ubuntu-server-18.04 前言 调试ceph源码需要提前部署好一个完整的集群,部署集群的方法很多,比如:通过ceph源码自带的vstart脚 ...
- 关于ceph源码 backtrace 打印函数调用栈
当集中精力看一个问题的时候,时间久了就会有这样一个状态,天空飘来五个字,那都不算事 ceph源码庞大的体量以及复杂的设计让很多人望而却步,尤其是大量的纯虚函数更是让读者迷失在代码的海洋,这个时候函数调 ...
- 【Android 高性能音频】Oboe 开发流程 ( 导入 Oboe 库 | 使用预构建的二进制库和头文件 | 编译 Oboe 源码 )
文章目录 一.导入 Oboe 库 二.使用预构建的二进制库和头文件 三.编译 Oboe 源代码 Oboe GitHub 主页 : GitHub/Oboe ① 简单使用 : Getting Starte ...
- 大数据之-Hadoop源码编译_源码编译的意义---大数据之hadoop工作笔记0044
然后我们再来看一下hadoop的源码编译, 先看看,可以去官网去下载,hadoop-2.7.2.tar.gz的源码去 下载了以后我们需要去编译,源码,为什么? 比如:上面这个源码是32位的,那么如果我 ...
- Win10+VS2019编译Jpeg源码时缺少win32.mak文件的内容
在Win10中,使用VS2019的nmake编译Jpeg源码时,缺少win32.mak文件. win32.mak文件的内容如下: # Win32.Mak - Win32 application mas ...
- windows10下使用minGW64 编译krita源码报错
系列文章目录 文章目录 系列文章目录 前言 一.错误原因 二.使用步骤 1.引入库 前言 collect2.exe: error: ld returned 1 exit status mingw32- ...
- 我在windows10下,使用CMake gui 编译krita源码,CMake gui报错:LibMyPaint_DIR-NOTFOUND
系列文章目录 文章目录 系列文章目录 前言 一.原因 二.解决 1.引入库 前言 我在windows10下,使用CMake gui 编译krita源码 where is the source code ...
- 中标麒麟编译qgis源码+PyQt环境
中标麒麟编译qgis源码 根据公司工作安排需要在中标麒麟下编译qgis3.4.7,把编译的过程随手记录一下. QGIS项目主页:http://www.qgis.org/en/site/ QGIS源码下 ...
最新文章
- pve rust 能拆家吗_RUST:2020年9月第四周:向上向上再向上!
- Hibernate 所有缓存机制详解
- 实现用户协议显示_HTTP协议工作原理及其特点
- 安装python3.7和PyCharm专业版
- 收集一些深度学习视频
- Python编程基础:第十节 while循环While Loops
- php语言 电商网站,电商网站如何做多语言架构
- C++实现归并排序(附完整源码)
- annotation - SuppressWarning
- ThinkPHP框架配置自定义的模板变量(十)
- 库存管理与订单的控制
- Winform打包-NSIS 检测.NetFramework版本(亲测可用)
- Android NDK开发如何解决logcat日志打印不全
- 2019国内高端智能云呼叫中心系统,让简单的工作变得更有值得
- 如何反编译dll文件
- linux集群渲染动画,集群渲染
- Xcode:iOS崩溃日志分析方法
- 201709-2公共钥匙盒
- 移动的项目,在tunnel为888696的情况下创建业务
- 火狐 浏览器 历史版本下载地址
热门文章
- lists,tuples and sets of Python
- 标头“Vary:Accept-Encoding”指定方法及其重要性分析
- 数据挖掘的一些经典算法
- ae编程语言as_AE开发 入门教程
- vc 只有顶级窗口可以弹出窗口_如果你刚换了新电脑,这几个地方记得设置一下,电脑可以多用几年...
- python制作图形化界面_python图形化界面设计(wxpython)一布局管理
- inno setup插件可选安装代码_代码检测工具(sonar docker方式安装)
- c 找文件服务器文件,Linux C/C++项目:虚拟文件服务器(功能匹配百度网盘)
- java rest httpclient_java http请求建议使用webClient,少用RestTemplate,不用HttpClient
- Linux阶段复习题