按照http://wiki.jikexueyuan.com/project/docker-technology-and-combat/local_repo.html 的方法本地安装一个私有仓库,在执行sudo pip install docker-registry
这一步的时候,出现了这样的一个错误:
既然说我没有swig,于是我yum install swig -y
,安装的是2.0.10-5.el7
版本。然后再次pip install docker-registry
,一顿噼里啪啦之后,这次成了这样:
又说没有openssl的文件,那执行yum install openssl-devel
,OK了之后再次pip install docker-registry
,再一次噼里啪啦,如下:
反馈我:/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
741 #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
741 #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
,终于成功…