总结下samba-2.2.7a的移植过程:
1.下载源代码
从 http://www.samba.org 下载 samba-2.2.7a.tar.gz 并解压。
2.设置环境变量
export CPPFLAGS=-I/opt/host/armv4l/armv4l-unknown-linux/include/
export LDFLAGS=-L/opt/host/armv4l/armv4l-unknown-linux/lib/
export CC=/opt/host/armv4l/bin/armv4l-unknown-linux-gcc
3.
./configure --host=i686 --target=arm-linux
3.
make
4. make 后出错
Compiling smbd/server.c
In file included from include/includes.h:683,
from smbd/server.c:22:
include/smb.h:380: parse error before `int32'
(分析:显然少定义)
在include/config.h文件里增加:
#define SIZEOF_INT 4
#define SIZEOF_LONG 4
#define SIZEOF_SHORT 2
#define HAVE_GETTIMEOFDAY_TZ 1
#define USE_SETEUID 1
#define HAVE_IFACE_IFCONF 1
引用自 http://www.linuxforum.net/forum/ ... 5&page=4&o=
在此对前辈表示万分的感谢
5. 继续make再次出错,提示找不到 sys/capability.h
在/include/includes.h
注释掉这一行 #include <sys/capability.h>
6. make 出了一大堆warning但是编译成功
7. 把bin下的smbclient放到开发板上测试,运行提示少个库文件,在交叉编译器的lib里可以找到,放到开发板lib/下。ok!
(如果要使用samba服务器还需要添加相应的配置文件,具体做法可以参考上面的的网址)。
1.下载源代码
从 http://www.samba.org 下载 samba-2.2.7a.tar.gz 并解压。
2.设置环境变量
export CPPFLAGS=-I/opt/host/armv4l/armv4l-unknown-linux/include/
export LDFLAGS=-L/opt/host/armv4l/armv4l-unknown-linux/lib/
export CC=/opt/host/armv4l/bin/armv4l-unknown-linux-gcc
3.
./configure --host=i686 --target=arm-linux
3.
make
4. make 后出错
Compiling smbd/server.c
In file included from include/includes.h:683,
from smbd/server.c:22:
include/smb.h:380: parse error before `int32'
(分析:显然少定义)
在include/config.h文件里增加:
#define SIZEOF_INT 4
#define SIZEOF_LONG 4
#define SIZEOF_SHORT 2
#define HAVE_GETTIMEOFDAY_TZ 1
#define USE_SETEUID 1
#define HAVE_IFACE_IFCONF 1
引用自 http://www.linuxforum.net/forum/ ... 5&page=4&o=
在此对前辈表示万分的感谢
5. 继续make再次出错,提示找不到 sys/capability.h
在/include/includes.h
注释掉这一行 #include <sys/capability.h>
6. make 出了一大堆warning但是编译成功
7. 把bin下的smbclient放到开发板上测试,运行提示少个库文件,在交叉编译器的lib里可以找到,放到开发板lib/下。ok!
(如果要使用samba服务器还需要添加相应的配置文件,具体做法可以参考上面的的网址)。