交叉编译Android的nfs-utils包

时间:2014-05-23 03:48:32

标签: android linux ubuntu cross-compiling nfs

我想为我的Android设备添加NFS支持(包括客户端和服务器)。我已经构建并插入了所需的内核模块(sunrpc.kolockd.konfs.koexportfs.konfsd.ko

我的Android手机现在可以通过使用Busybox挂载充当NFS客户端。但是要作为NFS服务器工作,似乎缺少一些实用程序(例如exportfs)和服务守护程序(portmapnfsdmountd等)。

我想我需要安装nfs-utils包(http://nfs.sourceforge.net/)。

我想我应该在我的电脑上交叉编译它,然后将它安装在我手机的Linux内核上。我不熟悉整个交叉编译的事情。我现在正试图在Ubuntu上编译它,这就是我使用的命令:

$ ./configure 
  --target=arm-linux-gnueabi 
  --host=arm-linux-gnueabi 
  --build=x86_64-linux 
  CC=/usr/bin/arm-linux-gnueabi-gcc 
  CPPFLAGS="-I/usr/arm-linux-gnueabi/include/" 
  CFLAGS="-nostdlib" 
  LDFLAGS="-Wl,-rpath-link=/usr/arm-linux-gnueabi/lib/ -L/usr/arm-linux-gnueabi/lib/"
  LIBS="-lc"

这给了我错误消息:

  
    

检查libwrap ... configure:错误:*** libwrap缺失

  

config.log错误:

  1.   

    configure:3978:/ usr / bin / arm-linux-gnueabi-gcc -V>& 5

         

    arm-linux-gnueabi-gcc:致命错误:没有输入文件

  2.   

    configure:3978:/ usr / bin / arm-linux-gnueabi-gcc -qversion>& 5

         

    arm-linux-gnueabi-gcc:致命错误:没有输入文件

  3.   

    conftest.c:12:28:致命错误:ac_nonexistent.h:没有这样的文件或目录

  4.   

    conftest.c:55:28:致命错误:sys / capability.h:没有这样的文件或目录

  5. 我安装了gcc-arm-linux-gnueabi软件包,但我认为构建/链接依赖库时存在一些问题,我真的不明白。他们也应该交叉编译吗?我怎样才能做到这一点?我是否需要将这些库插入手机以使NFS正常运行?

    我对此完全陌生,所以任何帮助都会受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

你有tcp-wrappers的依赖关系,这意味着你必须首先构建和安装tcp包装器。

或者,您可以将此选项传递给./configure:

- without-tcp-wrappers \

此外,您还可以获得完整的选项列表:

./ configure --help