[OE-core] do_prepare_recipe_sysroot: The file /usr/bin/instmodsh is installed by both perl-native and extutils-makemaker-perl-native, aborting

Jens Rehsack sno at netbsd.org
Sat Feb 2 17:38:40 UTC 2019


Hi,

I'm trying to get some recipes building after perl-update, but I'm struggeling for:

ERROR: plack-middleware-fixmissingbodyinredirect-perl-0.12-r0 do_prepare_recipe_sysroot: The file /usr/bin/instmodsh is installed by both perl-native and extutils-makemaker-perl-native, aborting
ERROR: plack-middleware-fixmissingbodyinredirect-perl-0.12-r0 do_prepare_recipe_sysroot: Function failed: extend_recipe_sysroot
ERROR: Logfile of failure stored in: /home/sno/gpw-community-bsp/gpw-yocto-platform/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/plack-middleware-fixmissingbodyinredirect-perl/0.12-r0/temp/log.do_prepare_recipe_sysroot.23078

Logfile contains:
DEBUG: Executing python function do_prepare_recipe_sysroot
DEBUG: Executing python function extend_recipe_sysroot
NOTE: Direct dependencies are ['virtual:native:/home/sno/gpw-community-bsp/sources/poky/meta/recipes-devtools/qemu/qemu_3.1.0.bb:do_populate_sysroot', '/home/sno/gpw-community-bsp/sources/poky/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb:do_populate_sysroot', '/home/sno/gpw-community-bsp/sources/poky/meta/recipes-devtools/gcc/gcc-cross_8.2.bb:do_populate_sysroot', 'virtual:native:/home/sno/gpw-community-bsp/sources/meta-cpan/recipes-devel/extutils-makemaker-perl/extutils-makemaker-perl_7.34.bb:do_populate_sysroot', '/home/sno/gpw-community-bsp/sources/poky/meta/recipes-devtools/gcc/gcc-runtime_8.2.bb:do_populate_sysroot', '/home/sno/gpw-community-bsp/sources/poky/meta/recipes-core/glibc/glibc_2.29.bb:do_populate_sysroot', 'virtual:native:/home/sno/gpw-community-bsp/sources/poky/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb:do_populate_sysroot', '/home/sno/gpw-community-bsp/sources/poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb:do_populate_sysroot', 'virtual:native:/home/sno/gpw-community-bsp/sources/meta-cpan/recipes-www/http-message-perl/http-message-perl_6.18.bb:do_populate_sysroot']
ERROR: The file /usr/bin/instmodsh is installed by both perl-native and extutils-makemaker-perl-native, aborting
DEBUG: Python function extend_recipe_sysroot finished
DEBUG: Python function do_prepare_recipe_sysroot finished
ERROR: Function failed: extend_recipe_sysroot

Typically such an issue is fixed by:

poky:

diff --git a/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb b/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
index 71653feb53..f66f96919e 100644
--- a/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
+++ b/meta/recipes-devtools/perl-sanity/perl_5.28.1.bb
@@ -168,6 +168,39 @@ perl_package_preprocess () {
             ${PKGD}${libdir}/perl5/config.sh
 }

+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "100"
+
+ALTERNATIVE_${PN} = "corelist cpan enc2xs encguess h2ph h2xs instmodsh json_pp libnetcfg \
+                     piconv pl2pm pod2html pod2man pod2text pod2usage podchecker podselect \
+                     prove ptar ptardiff ptargrep shasum splain xsubpp zipdetails"
+ALTERNATIVE_LINK_NAME[corelist] = "${bindir}/corelist"
+ALTERNATIVE_LINK_NAME[cpan] = "${bindir}/cpan"
+ALTERNATIVE_LINK_NAME[enc2xs] = "${bindir}/enc2xs"
+ALTERNATIVE_LINK_NAME[encguess] = "${bindir}/encguess"
+ALTERNATIVE_LINK_NAME[h2ph] = "${bindir}/h2ph"
+ALTERNATIVE_LINK_NAME[h2xs] = "${bindir}/h2xs"
+ALTERNATIVE_LINK_NAME[instmodsh] = "${bindir}/instmodsh"
+ALTERNATIVE_LINK_NAME[json_pp] = "${bindir}/json_pp"
+ALTERNATIVE_LINK_NAME[libnetcfg] = "${bindir}/libnetcfg"
+ALTERNATIVE_LINK_NAME[piconv] = "${bindir}/piconv"
+ALTERNATIVE_LINK_NAME[pl2pm] = "${bindir}/pl2pm"
+ALTERNATIVE_LINK_NAME[pod2html] = "${bindir}/pod2html"
+ALTERNATIVE_LINK_NAME[pod2man] = "${bindir}/pod2man"
+ALTERNATIVE_LINK_NAME[pod2text] = "${bindir}/pod2text"
+ALTERNATIVE_LINK_NAME[pod2usage] = "${bindir}/pod2usage"
+ALTERNATIVE_LINK_NAME[podchecker] = "${bindir}/podchecker"
+ALTERNATIVE_LINK_NAME[podselect] = "${bindir}/podselect"
+ALTERNATIVE_LINK_NAME[prove] = "${bindir}/prove"
+ALTERNATIVE_LINK_NAME[ptar] = "${bindir}/ptar"
+ALTERNATIVE_LINK_NAME[ptardiff] = "${bindir}/ptardiff"
+ALTERNATIVE_LINK_NAME[ptargrep] = "${bindir}/ptargrep"
+ALTERNATIVE_LINK_NAME[shasum] = "${bindir}/shasum"
+ALTERNATIVE_LINK_NAME[splain] = "${bindir}/splain"
+ALTERNATIVE_LINK_NAME[xsubpp] = "${bindir}/xsubpp"
+ALTERNATIVE_LINK_NAME[zipdetails] = "${bindir}/zipdetails"
+
 require perl-ptest.inc

 FILES_${PN} = "${bindir}/perl ${bindir}/perl.real ${bindir}/perl${PV} ${libdir}/libperl.so* \

meta-cpan:

diff --git a/recipes-devel/extutils-makemaker-perl/extutils-makemaker-perl_7.34.bb b/recipes-devel/extutils-makemaker-perl/extutils-makemaker-perl_7.34.bb
index a9d21b1..7a958ed 100644
--- a/recipes-devel/extutils-makemaker-perl/extutils-makemaker-perl_7.34.bb
+++ b/recipes-devel/extutils-makemaker-perl/extutils-makemaker-perl_7.34.bb
@@ -41,4 +41,11 @@ do_install_prepend_class-native() {
        export PERL5LIB="${PERL_ARCHLIB}"
 }

+inherit update-alternatives
+
+ALTERNATIVE_PRIORITY = "90"
+
+ALTERNATIVE_${PN} = "instmodsh"
+ALTERNATIVE_LINK_NAME[instmodsh] = "${bindir}/instmodsh"
+
 BBCLASSEXTEND = "native"

But unfortunately it doesn't show any effect.

Any ideas?

Best regards
--
Jens Rehsack - rehsack at gmail.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20190202/54aef712/attachment.sig>


More information about the Openembedded-core mailing list