缘起
要给测试支持一下,在SUSE Linux上安装libssh2,环境上有了openssl-1.0.1g和libssh2-1.8.0。
uname -a还看不了发行版本。只能使用cat /etc/issue或lsb_release -a查看。
解决过程
第一步
之前没有安装过,于是搜索一番。linux环境编译libssh2
有且只找到一个合适的,当时一直卡在 -fPIC 参数的问题,虽解决./config的问题,但make时又报错。
没招了,跟同事反馈了一下,给了一份简要的指导
./config –prefix=/home/openssl-1.0.1g –openssldir=/home/openssl-1.0.1g/ssl,根据文档里的这个命令改成源码的路径。
执行报错 Makefile:548: recipe for target ‘install_sw’ failed,根据提示,重新配置了一下,make OK。
第二步
移交给测试后,她试了一下还是报错。fatal error:libssh2_config.h:No such file or directory。
这个大概率就是路径没有配置正确。-I/src -I/include
在.profile里export LIBSSH2_HOME=/usr/local/libssh2,执行source .profile后,编译代码路径下的Makefile.incl.platform就能得值,执行就OK。
第三步
说是HP和SUSE的还不太一样,HP的还需要再修改值。被勉励了 要自己多思考和定位,而不要总想着现成的。
想到了之前升级GCC6的时候,其实也这么配过,但没想过这么多,当时就是照着抄了。
源代码编译时,要抽象出一些方法论来,确实思路都差不多。
内容
cd openssl-1.0.1s/
./config –prefix=/usr/local/openssl –openssldir=/usr/local/openssl/ssl
make && make install
./config shared –prefix=/usr/local/openssl –openssldir=/usr/local/openssl/ssl
make clean
make && make install
cd libssh2-1.8.0/
./configure –prefix=/usr/local/libssh2 –with-openssl CPPFLAGS=”-I/usr/local/openssl/include” LDFLAGS=”-L/usr/local/openssl/lib”
make clean
make && make install
其它
20190128安装的,20190129整理。
转载请注明:XAMPP中文组官网 » SUSE Linux上源码安装libssh2