在安装docker私有仓库的时候遇到的openssl问题

按照http://wiki.jikexueyuan.com/project/docker-technology-and-combat/local_repo.html 的方法本地安装一个私有仓库,在执行sudo pip install docker-registry这一步的时候,出现了这样的一个错误:
paradin

既然说我没有swig,于是我yum install swig -y,安装的是2.0.10-5.el7版本。然后再次pip install docker-registry,一顿噼里啪啦之后,这次成了这样:
paradin

又说没有openssl的文件,那执行yum install openssl-devel,OK了之后再次pip install docker-registry,再一次噼里啪啦,如下:
paradin

反馈我:/usr/include/openssl/opensslconf.h:44: Error: CPP #error ""This openssl-devel package does not work your architecture?"". Use the -cpperraswarn option to continue swig processing.,这个提示大意是说openssl-devel版本不适合你的系统架构,也就是x86的去找x86的头文件,x86_64的去找x86_64文件,但现在是互相找不到对方。

既然说/usr/include/openssl/opensslconf.h这个第44行有错误,那我们就打开这个文件去看看第44行写的是啥:

1
2
3
4
5
6
7
41 #elif defined(__x86_64__)
42 #include "opensslconf-x86_64.h"
43 #else
44 #error "This openssl-devel package does not work your architecture?"
45 #endif
46
47 #undef openssl_opensslconf_multilib_redirection_h

这里我把第44行改成了这样:

1
2
3
4
5
6
7
41 #elif defined(__x86_64__)
42 #include "opensslconf-x86_64.h"
43 #else
44 #include "opensslconf.h" #去掉了原来的error提示,改成了安装opensslconf.h文件。
45 #endif
46
47 #undef openssl_opensslconf_multilib_redirection_h

这一次重新执行sudo pip install docker-registry,终于成功…
paradin

akb48

感谢您请我喝咖啡~O(∩_∩)O,如果要联系请直接发我邮箱chenx1242@163.com,我会回复你的
-------------本文结束感谢您的阅读-------------