标签:arc ftp cannot 测试 解压 编译openssl config and login
/*-------------------------------------------------------------*/
为了方便调试Qt程序,也方便传输文件,需要用sftp功能,开发板的dropbear没有此功能
所以需要自己编译sftp-server程序,复制到开发板中运行。
sftp-server是openssh的一部分,所以要编译openssh。
openssh依赖zlib和OpenSSL,所以也要编译zlib和OpenSSL。
此前我曾编译过一个sftp-server,用的是openssl1.1.0,复制到开发板中报错:./sftp-server: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory,明显是缺少库文件。
看下还缺哪些库:
root@myd-imx8mm:~/zy/final/usr/local/libexec# ldd sftp-server
linux-vdso.so.1 (0x0000ffffb9320000)
libcrypto.so.1.1 => not found
libc.so.6 => /lib/libc.so.6 (0x0000ffffb9171000)
/lib/ld-linux-aarch64.so.1 (0x0000ffffb92f5000)
看来只缺libcrypto.so.1.1,但是在开发板中找到了libcrypto.so.1.0.2,所以问题是库文件版本与我此前编译用的库对不上,索性重新下载1.0.2版本的库重新编译。
以下是编译OpenSSH过程:
下载压缩包
openssh-8.5p1.tar.gz
openssl-1.0.2.tar.gz(就是这个版本对不上)
zlib-1.2.11.tar.gz
放到/home/neat/openssh/compressed文件夹下
解压
tar -xvf openssh-8.5p1.tar.gz ../source
tar -xvf openssl-1.0.2.tar.gz ../source
tar -xvf zlib-1.2.11.tar.gz ../source
设置编译环境
//下面是厂家提供的编译环境快速设置程序,主要功能是设置CC,CPP,INCLUDE,SYSROOT等环境变量
source /opt/myir-imx-xwayland/4.14-sumo/environment-setup-aarch64-poky-linux
编译zlib
cd /home/neat/openssh/source
./configure --prefix=/home/neat/openssh/install #此处最好用绝对路径,因为我碰到过用相对路径的时候,安装时找不到路径的问题
make
make install
编译openssl
./Configure --prefix=/home/neat/openssh/install os/compile:linux-armv4 #os/compile根据需要修改
make
make install
编译openssh::sftp-server(因为我只需要sftp-server这个程序,所以只编译这个)
./configure --prefix=/home/neat/openssh/install --with-libs --with-zlib=/home/neat/openssh/install --with-ssl-dir=/home/neat/openssh/install --disable-etc-default-login --host=aarch64-poky-linux-gcc
#--prefix(编译后程序的安装位置),--with-zlib(zlib安装位置)--with-ssl-dir(openssl安装位置)--host需要根据自己的编译工具修改
make sftp-server
编译完成,复制到开发板测试
root@myd-imx8mm:~/zy# ldd sftp-server
linux-vdso.so.1 (0x0000ffff9c89e000)
libcrypto.so.1.0.2 => /usr/lib/libcrypto.so.1.0.2 (0x0000ffff9c683000)
libc.so.6 => /lib/libc.so.6 (0x0000ffff9c52f000)
/lib/ld-linux-aarch64.so.1 (0x0000ffff9c873000)
libdl.so.2 => /lib/libdl.so.2 (0x0000ffff9c51c000)
OK
/*-------------------------------------------------------------*/
标签:arc ftp cannot 测试 解压 编译openssl config and login
原文地址:https://www.cnblogs.com/imaneveryman/p/14903215.html