[OE-core] [PATCH] busybox: Enable FEATURE_MOUNT_NFS and use libtirpc

Khem Raj raj.khem at gmail.com
Thu May 10 18:21:18 UTC 2018



On 5/10/18 6:01 AM, Burton, Ross wrote:
> Fails to build here:
> 
>   coreutils/lib.a(mktemp.o): In function `mktemp_main':
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/coreutils/mktemp.c:105:
> warning: the use of `mktemp' is dangerous, better use `mkstemp' or
> `mkdtemp'
> | util-linux/lib.a(mount.o): In function `xdr_fhstatus':
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1057:
> undefined reference to `xdr_u_int'
> | util-linux/lib.a(mount.o): In function `xdr_fhandle':
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1052:
> undefined reference to `xdr_opaque'
> | util-linux/lib.a(mount.o): In function `xdr_mountstat3':
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1089:
> undefined reference to `xdr_enum'
> | util-linux/lib.a(mount.o): In function `xdr_fhandle3':
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1071:
> undefined reference to `xdr_bytes'
> | util-linux/lib.a(mount.o): In function `xdr_mountres3_ok':
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1080:
> undefined reference to `xdr_int'
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1080:
> undefined reference to `xdr_array'
> | util-linux/lib.a(mount.o): In function `xdr_dirpath':
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1066:
> undefined reference to `xdr_string'
> | util-linux/lib.a(mount.o): In function `get_mountport':
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1145:
> undefined reference to `pmap_getmaps'
> | util-linux/lib.a(mount.o): In function `nfsmount':
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1662:
> undefined reference to `clnttcp_create'
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1677:
> undefined reference to `authunix_create_default'
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1652:
> undefined reference to `clntudp_create'
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1672:
> undefined reference to `clnt_spcreateerror'
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1702:
> undefined reference to `clnt_sperror'
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1707:
> undefined reference to `clnt_sperror'
> | /usr/src/debug/busybox/1.27.2-r0/busybox-1.27.2/util-linux/mount.c:1788:
> undefined reference to `pmap_getport'
> 

We need to specify

CONFIG_EXTRA_LDLIBS="tirpc"

along with

CONFIG_FEATURE_MOUNT_NFS=y

secondly in v2 please delete

# CONFIG_FEATURE_MOUNT_NFS is not set

from meta/recipes-core/busybox/busybox/musl.cfg as well

> Ross
> 
> On 10 May 2018 at 13:20, Martin Jansa <martin.jansa at gmail.com> wrote:
>> * We dropped in-tree obsoleted rpc from glibc and now busybox builds
>>    which had CONFIG_FEATURE_MOUNT_NFS enabled were failing with:
>>    | util-linux/mount.c:252:11: fatal error: rpc/rpc.h: No such file or directory
>>    |  # include <rpc/rpc.h>
>>    |            ^~~~~~~~~~~
>>    | compilation terminated.
>>    | make[1]: *** [util-linux/mount.o] Error 1
>>
>> Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
>> ---
>>   meta/recipes-core/busybox/busybox.inc       | 6 +++---
>>   meta/recipes-core/busybox/busybox/defconfig | 2 +-
>>   2 files changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/meta/recipes-core/busybox/busybox.inc b/meta/recipes-core/busybox/busybox.inc
>> index d1675c37aa..2db19ed317 100644
>> --- a/meta/recipes-core/busybox/busybox.inc
>> +++ b/meta/recipes-core/busybox/busybox.inc
>> @@ -3,7 +3,7 @@ DESCRIPTION = "BusyBox combines tiny versions of many common UNIX utilities into
>>   HOMEPAGE = "http://www.busybox.net"
>>   BUGTRACKER = "https://bugs.busybox.net/"
>>
>> -DEPENDS += "kern-tools-native"
>> +DEPENDS += "kern-tools-native libtirpc"
>>
>>   # bzip2 applet in busybox is based on lightly-modified bzip2 source
>>   # the GPL is version 2 only
>> @@ -15,8 +15,8 @@ SECTION = "base"
>>   # Whether to split the suid apps into a seperate binary
>>   BUSYBOX_SPLIT_SUID ?= "1"
>>
>> -export EXTRA_CFLAGS = "${CFLAGS}"
>> -export EXTRA_LDFLAGS = "${LDFLAGS}"
>> +export EXTRA_CFLAGS = "${CFLAGS} -I${STAGING_INCDIR}/tirpc"
>> +export EXTRA_LDFLAGS = "${LDFLAGS} -ltirpc"
>>
>>   EXTRA_OEMAKE = "CC='${CC}' LD='${CCLD}' V=1 ARCH=${TARGET_ARCH} CROSS_COMPILE=${TARGET_PREFIX} SKIP_STRIP=y HOSTCC='${BUILD_CC}' HOSTCPP='${BUILD_CPP}'"
>>
>> diff --git a/meta/recipes-core/busybox/busybox/defconfig b/meta/recipes-core/busybox/busybox/defconfig
>> index fbb5fd852c..816555fc21 100644
>> --- a/meta/recipes-core/busybox/busybox/defconfig
>> +++ b/meta/recipes-core/busybox/busybox/defconfig
>> @@ -638,7 +638,7 @@ CONFIG_MOUNT=y
>>   # CONFIG_FEATURE_MOUNT_VERBOSE is not set
>>   # CONFIG_FEATURE_MOUNT_HELPERS is not set
>>   # CONFIG_FEATURE_MOUNT_LABEL is not set
>> -# CONFIG_FEATURE_MOUNT_NFS is not set
>> +CONFIG_FEATURE_MOUNT_NFS=y
>>   # CONFIG_FEATURE_MOUNT_CIFS is not set
>>   CONFIG_FEATURE_MOUNT_FLAGS=y
>>   CONFIG_FEATURE_MOUNT_FSTAB=y
>> --
>> 2.17.0
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list