On 2020/1/3 上午2:06, Alexander Kanavin wrote:
On Thu, 2 Jan 2020 at 11:18, Kang Kai <[email protected] <mailto:[email protected]>> wrote:

    On 2019/11/28 上午12:39, Alexander Kanavin wrote:
    > rpm 4.15 no longer allows it, which makes sense.
    >
    > Signed-off-by: Alexander Kanavin <[email protected]
    <mailto:[email protected]>>

    Hi Alex,

    I tried this patch with rpm 4.15 and it fails to run task
    populate_sdk
    when multilib is enabled and lib32-perl is installed.

    IMAGE_INSTALL_append = " lib32-perl "


I believe this is due to DUMMYPROVIDES_PACKAGES needing the same multilib expansion as:

DUMMYPROVIDES += "${@' '.join([multilib_pkg_extend(d, pkg) for pkg in d.getVar('DUMMYPROVIDES_PACKAGES').split()])}"

So that RREPLACES has all the multilib variants included.

However, there is also a different issue, that looks similar, but actually pre-dates this patch, and rpm 4.15 update:

if you do
IMAGE_INSTALL_append = " perl "

(with multilib enabled), a similar error will happen:

Problem: package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl provided by perl-5.30.1-r0.core2_32   - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl-module-strict provided by perl-5.30.1-r0.core2_32   - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl-module-warnings provided by perl-5.30.1-r0.core2_32   - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl-module-vars provided by perl-5.30.1-r0.core2_32   - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl-module-config provided by perl-5.30.1-r0.core2_32   - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with perl-module-warnings-register provided by perl-5.30.1-r0.core2_32   - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with /usr/bin/perl provided by perl-5.30.1-r0.core2_32   - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target conflicts with libperl.so.5 provided by perl-5.30.1-r0.core2_32   - package target-sdk-provides-dummy-1.0-r0.sdk_provides_dummy_target obsoletes perl provided by perl-5.30.1-r0.core2_32
  - cannot install the best candidate for the job
  - conflicting requests

Inspecting /home/alexander/development/poky/build-multilib/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/sdk/image/opt/poky/3.0/sysroots/core2-32-poky-linux/etc/dnf/vars/arch, I see:

core2_32:i686:i586:x86:sdk_provides_dummy_target:qemux86:x86_64

Even though sdk_provides_dummy_target should be up-front, rather than in the middle (so that it takes priority over other architectures).

I could not figure out a good way to fix this, but I think this issue should be addressed first, and then we can fix the lib32/64-perl issue.


Thanks for your detailed reply. I'll try to figure a way out.

Regards,
Kai



Alex


--
Kai Kang

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to