解决 error: command 'swig' failed with exit status 1

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

# pip install docker-registry


分析:观察出现的错误,发现最开始报错的地方提示不能找到openssl.h头文件。一般.h头文件都是放到/usr/inclue目录下的,而且头文件所在的安装包一般叫openssl-devel

解决办法:使用yum install openssl-devel安装openssl的头文件,成功后重新执行pip install docker-registry。又出现了下面的错误

    running build_ext
    building 'M2Crypto.__m2crypto' extension
    swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
    swig -python -I/usr/include/python2.7 -I/usr/include -I/usr/include/openssl -includeall -modern -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
    /usr/include/openssl/opensslconf.h:36: Error: CPP #error ""This openssl-devel package does not work your architecture?"". Use the -cpperraswarn option to continue swig processing.
    error: command 'swig' failed with exit status 1

即“/usr/include/openssl/opensslconf.h:36: Error: CPP #error ""This openssl-devel package does not work your architecture?"". Use the -cpperraswarn option to continue swig processing.

网上说的,重新安装m2crypto,先卸载系统中已经安装的m2crypto再用pip安装的方法都是没有用的。

解决办法:这个提示大意是说openssl-devel版本不适合你的系统架构,也就是x86的去找x86的头文件,x86_64的去找x86_64文件,但现在是互相找不到对方。

查看一下安装的文件是否x86x64位的头文件都有

# ls /usr/include/openssl/

opensslconf-x86_64.h  opensslconf.h

文件都是存在的。看一下哪个文件报的错,/usr/include/openssl/opensslconf.h:36,第36行报错,打开这个文件

#include "opensslconf-sparc.h"

#elif defined(__x86_64__)

#include "opensslconf-x86_64.h"    #原来是这样写的,说明默认去找x86_64位的头文件

#else

#error "This openssl-devel package does not work your architecture?"

#endif

 

#undef openssl_opensslconf_multilib_redirection_h

默认去找x86_64位的头文件报了错,那就说明希望去找x86的文件了,修改方法如下

#include "opensslconf-sparc.h"

#elif defined(__x86_64__)

#include "opensslconf-x86_64.h"

#else

#include "opensslconf.h"     #去掉了原来的error提示,改成了安装opensslconf.h文件。

#endif

 

#undef openssl_opensslconf_multilib_redirection_h

再次执行pip install docker-registry

……

Successfully installed M2Crypto-0.22.3 docker-registry-0.9.1 sqlalchemy-0.9.4

问题解决

转载于:https://my.oschina.net/lionel45/blog/664017

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android安全-SO动态库注入

2019独角兽企业重金招聘Python工程师标准>>> 关于这方面技术,网上已经有大把的实现。在此,我只是记录下自己的学习过程。 0x1 原理 所谓的SO注入就是将代码拷贝到目标进程中,并结合函数重定向等其他技术,最终达到监控或…

添加远程链接MySQL的权限

mysql> grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名用户地址 identified by ‘连接口令’;权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。当权限1,权限2,…权限n被…

C# Java间进行RSA加密解密交互(二)

接着前面一篇文章C# Java间进行RSA加密解密交互,继续探讨这个问题。 在前面,虽然已经实现了C# Java间进行RSA加密解密交互,但是还是与项目中要求的有所出入。在项目中,客户端(Java)的加密是通过这么一个方法…

BUG日志-2022.7.12——关于VSCode感叹号无法生成HTML骨架问题

解决办法:放弃使用多年的!,而采用html:5的形式。 原因:好像是因为VScode已经更新了 好多扩展也失效了。

hadoop 入门实例【转】

原文链接:http://www.cnblogs.com/xia520pi/archive/2012/06/04/2534533.html 1、数据去重 "数据去重"主要是为了掌握和利用并行化思想来对数据进行有意义的筛选。统计大数据集上的数据种类个数、从网站日志中计算访问地等这些看似庞杂的任务都会涉及数据…

AWS安装CDH5.3-CentOS6.4中关键操作步骤

1、在AWS masternode 上下载cloudera-manager-installer.bin安装包 [rootip-172-21-42-114 ~]# wget http://archive.cloudera.com/cm5/installer/latest/coludera-manager-installer.bin 此时会提示:-bash: wget: command not find 所以要现安装wget命令 [rootip-1…

You have an error in your SQL syntax; check the manual that corresponds to...

问题缘由: 使用datagrip插入数据时发生报错 使用插入语句为: insert into ev_name (‘username’,‘password’) values (‘admin’,‘123456’); 错误提示: You have an error in your SQL syntax; check the manual that corresponds to …

Linux命令之文件相关

cd 绝对路径相对路径 --转到对应目录 touch-a --更新访问时间 touch -m --更新修改时间(ls -l只能显示修改时间) touch -t 【【cc】yy】mmddhhmm【ss】 --修改文件时间为任意时间0-68为20**,69-99为19**, touch 不存在的文件 --新…

省赛第一次选拔赛

就是第11届浙江省省赛的套题,总共11题,A了3题,排第25,中途就走了,其实那道同模取余题我是可以做出的,找规律我也想到了,但tmd我只打了30个的表,规律是第48个后出现,点背啊…

getaddrinfo ENOTFOUND 127.0.0.1:3306

错误缘由: 在写nodejs项目时,连接数据库发现找不到数据库。 解决: 发现数据库连接池没有设置端口号,需设置端口号3306。 解决效果: 成功解决

357. Count Numbers with Unique Digits

357. Count Numbers with Unique Digits Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Example:Given n 2, return 91. (The answer should be the total numbers in the range of 0 ≤ x < 100, excluding [11,22,3…

Foundation框架: 5.常用结构体知识补充

前面我们已经把常用的四个结构体学完了, 知道怎么去创建怎么去使用了, 但还有一些小细节没有补充完, 下面让我们一起来看看吧: 例子: #import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {// 用来比较两个点是否相同(x, y)BOOL p CGPointEqualT…

一幅长文细学node.js——一幅长文系列

文章目录1 Node.js概述1.1 初识Node.js1.2 Node.js简介1.3 Node.js安装1.4 使用Node.js运行JS代码2 fs文件系统模块2.1 读取文件2.2 写入文件2.3 路径问题3 Path路径模块3.1 Path模块概述3.2 路径拼接3.3 获取路径的文件名4 Http模块4.1 Http概述4.2 服务器相关的概念4.3 创建W…

怎么在图片上面加个div层,让它浮于图片上方

怎么在图片上面加个div层,让它浮于图片上方 1、首先当然是要插入一张图片啦&#xff0c;代码如下&#xff1a;<a href"#" target"_blank"><img src"images/13.png" width"240" heigth"240"></a>图片路径自…

java 级联删除文件夹下的所有文件

public void deletefile(String delpath) throws Exception {try {File file new File(delpath);// 当且仅当此抽象路径名表示的文件存在且 是一个目录时&#xff0c;返回 trueif (!file.isDirectory()) {file.delete();} else if (file.isDirectory()) {String[] filelist f…

一幅长文细学GaussDB(一)——数据库介绍

文章目录1 数据库介绍1.1 数据库技术1.2 数据库技术发展史数据库技术产生和发展数据库三个阶段比较数据库系统优势层次模型网状模型关系模型关系数据库产品历史结构化查询语言SQL面向对象数据模型&#xff08;OO模型&#xff09;数据管理技术的新挑战NoSQL技术特点和类型主要No…

spring中注解的通俗解释

我们在没有用注解写spring配置文件的时候,会在spring配置文件中定义Dao层的bean,这样我们在service层中,写setDao方法,就可以直接通过接口调用Dao层,用了注解写法后,在配置文件中不用再写Dao层的bean,只需要在Dao实现类中加入Repositorypublic Class TestDaoImpl(){}在service层…

Unity 通过Unity Admob Plugin插件集成admob教程

原创&#xff1a;officemaster.cn下载Unity Admob Demo&#xff0c;插件里面包含Admob_Unity_Demo.unitypackage 插件文件AdmobPluginRes 是Admob 的ios sdk和插件使用样例代码打开样例代码可以看到代码里面如何使用Unity Admob插件把Admob Unity插件添加进unity工程1. 打开Un…

WKWebview与js交互

应用场景&#xff1a; 项目中在原有h5界面中嵌入js代码&#xff0c;在指定位置加入第三方分享 此部分为js点击分享绑定部分代码&#xff0c;这里的事件名需要h5和前端协商好一致。 window.webkit.messageHandlers.<事件名>.postMessage(需要传递的数据) iOS端 首先需要遵…