> -----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/Makefile
The 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).
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