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

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



On 5/10/18 11:21 AM, Khem Raj wrote:
> 
> 
> 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
> 

On second thought, this probably should be enabled using a config 
fragment, since its not gonna link in another library it may not be 
common case to justify for a default config.

>> 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