On 2018年08月24日 21:43, Peter Kjellerstedt wrote:
-----Original Message----- From: [email protected] <openembedded- [email protected]> On Behalf Of [email protected] Sent: den 24 augusti 2018 11:25 To: [email protected] Subject: [oe] [meta-oe][PATCH] lmbench: fix usrmerge install path From: Mingli Yu <[email protected]> Update $(base_libdir) to $(baselib) to fix the below do_install error when usrmerge enabled in DISTRO_FEATURES. | if [ ! -d /poky-build/tmp-glibc/work/core2-64-wrs-linux/lmbench/3.0- a9-r2/image/usr/usr/lib64 ]; then mkdir /poky-build/tmp-glibc/work/core2-64-wrs-linux/lmbench/3.0-a9- r2/image/usr/usr/lib64; fi | mkdir: cannot create directory /poky-build/tmp-glibc/work/core2-64- wrs-linux/lmbench/3.0-a9-r2/image/usr/usr/lib64 No such file or directory | Makefile:141: recipe for target 'install-target' failed | make[1]: *** [install-target] Error 1 Signed-off-by: Mingli Yu <[email protected]> --- meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb index 593b62f..c78e7a8 100644 --- a/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb +++ b/meta-oe/recipes-benchmark/lmbench/lmbench_3.0-a9.bb @@ -51,8 +51,13 @@ do_compile () { install -d ${S}/bin/${TARGET_SYS} oe_runmake -C src } +export baselib do_install () { + # fix the lib path when usrmerge enabled + if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then + sed -i -e "s;\$(BASE)\$(base_libdir);\$(BASE)/\$(baselib);g" ${S}/src/MakefileThe use of $(base_libdir) in the src/Makefile is introduced via an OE patch, "use-base_libdir-instead-of-hardcoded-lib.patch", and it Would be better to change that directly instead. There you should change "$(BASE)$(base_libdir)" to "$(DESTDIR)$(libdir)" while adding DESTDIR="${D}" to the oe_runmake install line in the recipe and things should end up where we want them. While at it you may as well correct the patch to install libmbench.a with its correct name again (currently it is installed as lmbench.a due to a mistake in the patch).
Thanks Peter! I will resend V2 to update the logic. Thanks you very much! Thanks,
Oh, and the Upstream-Status tag in the patch is wrong as well (it is missing the dash in Upstream-Status)... As an alternative to the above, and this is what I would recommend, you can drop the patch and instead add the following after the call to oe_runmake in do_install: if [ "${prefix}/lib" != "${libdir}" ]; then mv ${D}${prefix}/lib ${D}${libdir} fi+ fi install -d ${D}${sysconfdir}/default/volatiles \ ${D}${bindir} ${D}${mandir} ${D}${libdir}/lmbench \ ${D}${datadir}/lmbench/scripts -- 2.7.4//Peter
-- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
