arm-linux下vsftpd的移植和配置
(2011-03-21 18:18:59)
标签:
it |
分类: linux学习 |
1.下载源码包:vsftpd-2.3.4.tar.gz
2.修改Makefile文件
CC
=
/usr/local/arm/arm-2009q1/bin/arm-none-linux-gnueabi-gcc
3.执行make,如果报错执行4
4.修改vsffindlibs.sh
屏蔽掉 50 51 54 行:# Look for libcap (capabilities)
if locate_library /lib/libcap.so.1; then
echo "/lib/libcap.so.1";
#elif locate_library /lib/libcap.so.2; then
# echo "/lib/libcap.so.2";
else
locate_library /usr/lib/libcap.so
&& echo "-lcap";
# locate_library /lib/libcap.so
&& echo "-lcap";
locate_library /lib64/libcap.so
&& echo "-lcap";
fi
注:网上有文章说可以把库的路径设置到交叉编译器的库路径下,我没有试过,在此处采取屏蔽的方式。
5.make 成功
6.因为是动态编译,所以需要把动态链接库从编译器的lib下拷贝到跟文件系统的lib目录下
[root@uestc vsftpd-2.3.4]# file vsftpd
vsftpd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, stripped
[root@uestc vsftpd-2.3.4]# arm-none-linux-gnueabi-readelf -d vsftpd
Dynamic section at offset 0x1700c contains 30 entries:
Tag
Type
Name/Value
0x00000001
(NEEDED)
Shared library: [libcrypt.so.1]
0x00000001
(NEEDED)
Shared library: [libdl.so.2]
0x00000001
(NEEDED)
Shared library: [libnsl.so.1]
0x00000001
(NEEDED)
Shared library: [libresolv.so.2]
0x00000001
(NEEDED)
Shared library: [libutil.so.1]
0x00000001
(NEEDED)
Shared library: [libgcc_s.so.1]
0x00000001
(NEEDED)
Shared library: [libc.so.6]
0x0000000c
(INIT)
0x9714
0x0000000d
(FINI)
0x1ae30
0x00000019
(INIT_ARRAY)
2.修改Makefile文件
CC
3.执行make,如果报错执行4
4.修改vsffindlibs.sh
屏蔽掉 50 51 54 行:# Look for libcap (capabilities)
if locate_library /lib/libcap.so.1; then
#elif locate_library /lib/libcap.so.2; then
#
else
#
fi
注:网上有文章说可以把库的路径设置到交叉编译器的库路径下,我没有试过,在此处采取屏蔽的方式。
5.make 成功
6.因为是动态编译,所以需要把动态链接库从编译器的lib下拷贝到跟文件系统的lib目录下
[root@uestc vsftpd-2.3.4]# file vsftpd
vsftpd: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, stripped
[root@uestc vsftpd-2.3.4]# arm-none-linux-gnueabi-readelf -d vsftpd
Dynamic section at offset 0x1700c contains 30 entries: