最近再次学习caffe框架,看了一些原网站英文内容,了解了更多的细节
后来想安装caffe试试,公司刚迁移了开发机,新开发机上使用简单的命令下载不成功,出错,就研究了下
sudo git clone https://github.com/BVLC/caffe.git
显示错误
0D0890A1:asn1 encoding routines:ASN1_verify:unknown message digest algorithm
百度上查了下,是因为openssl版本老,无法解析SHA算法,详细见 http://blog.csdn.net/slvher/article/details/41485311
和 http://blog.csdn.net/u012889638/article/details/51178513
一看自己开发家是ssl 0.9.7,需要0.9.8o版本以上的才可以,就百度搜索openssl去原网站下载安装
原网站https://www.openssl.org/,到git目录 https://github.com/openssl/openssl
没找打 0.9.8o版本,开始下载了OpenSSL 0.9.8h-fips-dev test version,版本不行,没注意到fips,
后来看README,还有 OpenSSL 0.9.8g, 不确定行不行,后来看READMEOpenSSL 0.9.8 zi-dev,最后commit时间 Dec 3 2015Dec 3 2015,比其他时间更近,就下载下来试试因为前面原因里讲的是curl的编译依赖ssl,所以使用ldd /usr/bin/curl 看编译依赖需要的两个so都是openssl编译出来的
libssl.so.4 => /lib64/libssl.so.4 (0x00007f524c647000)
libcrypto.so.4 => /lib64/libcrypto.so.4 (0x00007f1c9e335000)
所以后面就是更新这两个so。
默认编译openssl没有生成so,查了下需要 shared配置才有so产生,也就是
./config --prefix=/usr/bin/ --openssldir=/usr/local/openssl/ shared
这样编译完产生了两个so,更新到/lib64目录下
使用了命令行查看了ssl的版本,显示ssl版本已经更新到了自己安装的版本
python -c 'import ssl; print ssl.OPENSSL_VERSION' OpenSSL 0.9.8zi-dev xx XXX xxxx
后面再运行 git clone caffe那个地址就行了