libnls2 - nativesdk prepare_recipe_sysroot error fix#65
libnls2 - nativesdk prepare_recipe_sysroot error fix#65moorthy-bs wants to merge 1 commit intoopenembedded:dunfellfrom
Conversation
| # yppasswd.h which causes conflict on do_recipe_prepare_sysroot() | ||
| do_install_append_libc-glibc_class-nativesdk() { | ||
| rm -f ${D}${includedir}/rpcsvc/yppasswd.x | ||
| rm -f ${D}${includedir}/rpcsvc/yppasswd.h |
There was a problem hiding this comment.
are these files different between glibc and libnsl2 ? if so what are differences?
I think it should be provided by libnsl2 which means it should
be deleted from glibc recipe
There was a problem hiding this comment.
There is no difference in yppasswd.x but some API in glibc's yppasswd.h are declared under STDC and __cplusplus macros as below
#if defined(__STDC__) || defined(__cplusplus)
#define YPPASSWDPROC_UPDATE 1
extern int * yppasswdproc_update_1(yppasswd *, CLIENT *);
extern int * yppasswdproc_update_1_svc(yppasswd *, struct svc_req *);
extern int yppasswdprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
#else /* K&R C */
#define YPPASSWDPROC_UPDATE 1
extern int * yppasswdproc_update_1();
extern int * yppasswdproc_update_1_svc();
extern int yppasswdprog_1_freeresult ();
#endif /* K&R C */
/* the xdr functions */
#if defined(__STDC__) || defined(__cplusplus)
extern bool_t xdr_passwd (XDR *, passwd*);
extern bool_t xdr_yppasswd (XDR *, yppasswd*);
#else /* K&R C */
extern bool_t xdr_passwd ();
extern bool_t xdr_yppasswd ();
#endif /* K&R C */
There was a problem hiding this comment.
another observation that the nativesdk-glibc in yoe build doesn't populate /usr/include/rpcsvc directory so that no error faced. The difference observed is yoe generates esdk toolchain installer version is 3.3.0-beta whereas from usual oe-core dunfell build is 2.0. Is that a reason for the error?
There was a problem hiding this comment.
on eSDK population, nativesdk of libnsl2 and glibc both install yppasswd.x and yppasswd.h files which causes conflict while preparing recipe sysroot of nativesdk-libnss-nis and nativesdk-python 3.8 The fix resolves below error ERROR: nativesdk-libnss-nis-3.1+gitAUTOINC+062f31999b-r0 do_prepare_recipe_sysroot: The file /opt/rdk/2.0/sysroots/x86_64-rdksdk-linux/usr/include/rpcsvc/yppasswd.x is installed by both nativesdk-libnsl2 and nativesdk-glibc, aborting ERROR: nativesdk-libnss-nis-3.1+gitAUTOINC+062f31999b-r0 do_prepare_recipe_sysroot: The file /opt/rdk/2.0/sysroots/x86_64-rdksdk-linux/usr/include/rpcsvc/yppasswd.h is installed by both nativesdk-libnsl2 and nativesdk-glibc, aborting
addb7ea to
5dce6b7
Compare
on eSDK population, nativesdk of libnsl2 and
glibc both install yppasswd.x and yppasswd.h files which causes
conflict while preparing recipe sysroot of nativesdk-libnss-nis and nativesdk-python 3.8
The fix resolves below error
ERROR: nativesdk-libnss-nis-3.1+gitAUTOINC+062f31999b-r0 do_prepare_recipe_sysroot:
The file /opt/rdk/2.0/sysroots/x86_64-rdksdk-linux/usr/include/rpcsvc/yppasswd.x is installed by both nativesdk-libnsl2 and nativesdk-glibc, aborting
ERROR: nativesdk-libnss-nis-3.1+gitAUTOINC+062f31999b-r0 do_prepare_recipe_sysroot:
The file /opt/rdk/2.0/sysroots/x86_64-rdksdk-linux/usr/include/rpcsvc/yppasswd.h is installed by both nativesdk-libnsl2 and nativesdk-glibc, aborting