<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugzilla.yoctoproject.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugzilla.yoctoproject.org/"
          
          maintainer="it-coreprojects-helpdesk@linuxfoundation.org"
>

    <bug>
          <bug_id>12222</bug_id>
          
          <creation_ts>2017-10-12 22:21:49 +0000</creation_ts>
          <short_desc>populate_sdk fails with multilib due to lib32- packages uninstallable</short_desc>
          <delta_ts>2017-12-28 08:43:48 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>7</classification_id>
          <classification>Build System, Metadata &amp; Runtime</classification>
          <product>OE-Core</product>
          <component>devtools / tool chain</component>
          <version>2.2.2</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>Medium</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>2.5 M2</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ferry">ferry.toth</reporter>
          <assigned_to name="Rebecca Chang">rebecca.swee.fun.chang</assigned_to>
          <cc>ferry.toth</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>Don&apos;t know</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>77557</commentid>
    <comment_count>0</comment_count>
    <who name="Ferry">ferry.toth</who>
    <bug_when>2017-10-12 22:21:49 +0000</bug_when>
    <thetext>When I build for x86_64 I found I needed to enable multilib to be able to
build u-boot (actually lib32_u-boot). U-boot now builds.

However &apos;bitbake edison-image -c populate_sdk&apos; now errors with Build
Configuration:
BB_VERSION        = &quot;1.32.0&quot;
BUILD_SYS         = &quot;x86_64-linux&quot;
NATIVELSBSTRING   = &quot;universal&quot;
TARGET_SYS        = &quot;x86_64-poky-linux&quot;
MACHINE           = &quot;edison&quot;
DISTRO            = &quot;poky-edison&quot;
DISTRO_VERSION    = &quot;2.2.2&quot;
TUNE_FEATURES     = &quot;m64 core2&quot;

ERROR: edison-image-1.0-r0 do_populate_sdk: Unable to install packages. Command &apos;/home/ferry/tmp/edison-intel/my/edison-morty/out/linux64/build/tmp/sysroots/x86_64-linux/usr/bin/apt-get  install —force-yes —allow-unauthenticated connman-tools wget bluez5-dev python-unittest e2fsprogs-badblocks python-misc e2fsprogs-mke2fs ap-mode-toggle libnss-mdns-dev python-pydoc wpa-supplicant ldd resize-rootfs alsa-utils-amixer sudo pciutils mosquitto-dev mcu-fw-load python swig alsa-utils-alsactl libcom-err2 gstreamer1.0-meta-audio libss2 kernel-modules python-paho-mqtt-dev blink-led packagegroup-core-tools-debug libpulsecommon python-audio hostapd net-tools alsa-utils-alsamixer i2c-tools run-postinsts python-smartpm screen alsa-utils-aplay mcu-fw-bin gstreamer1.0-meta-base python-argparse python-distutils packagegroup-core-ssh-openssh python-ctypes openssh-sftp-server oobe libpulse-simple0 nodejs-dev packagegroup-core-boot packagegroup-core-buildessential sst-fw-bin connman cppzmq-dev libe2p2 iperf3 python-compile lib32-packagegroup-core-standalone-sdk-target packagegroup-core-standalone-sdk-target-dbg apt pulseaudio-server iotkit-opkg watchdog-sample connman-client bcm43340-fw e2fsprogs-tune2fs tcpdump ethtool dpkg libgomp1 pulseaudio-misc dosfstools crashlog upm-dev python-pkgutil libext2fs2 bluez5-obex iotkit-agent python-netserver lib32-packagegroup-core-standalone-sdk-target-dbg libstdc++6 file bluetooth-rfkill-event ofono python-importlib systemd-analyze iptables cleanjournal wireless-tools parted sketch-check post-install u-boot-fw-utils tzdata libpulse0 gstreamer1.0 mosquitto-clients e2fsprogs-e2fsck python-html libpulsecore zeromq-dev perf battery-voltage usbutils python-numbers python-image bluez5-noinst-tools libpam packagegroup-core-standalone-sdk-target nodejs-npm lib32-libgcc1 python-json mraa-dev pwr-button-handler bluez5-testtools mraa-doc lsof python-xmlrpc alsa-lib python-email&apos; returned 100:
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.

The following packages have unmet dependencies:
 lib32-packagegroup-core-standalone-sdk-target :
Depends: lib32-glibc but it is not installable
Depends: lib32-glibc-dbg but it is not installable 
Depends: lib32-glibc-dev but it is not installable
Depends: lib32-glibc-gconv-cp1252 but it is not installable
Depends: lib32-glibc-gconv-ibm850 but it is not installable
Depends: lib32-glibc-gconv-iso8859-1 but it is not installable
Depends: lib32-glibc-gconv-iso8859-15 but it is not installable
Depends: lib32-glibc-localedata-i18n but it is not installable
Depends: lib32-glibc-thread-db but it is not installable
Depends: lib32-glibc-utils but it is not installable
Depends: lib32-libatomic but it is not installable
Depends: lib32-libatomic-dev but it is not installable
Depends: lib32-libgcc but it is not installable
Depends: lib32-libgcc-dev but it is not installable
Depends: lib32-libsegfault but it is not installable
Depends: lib32-libstdc++ but it is not installable
Depends: lib32-libstdc++-dev but it is not installable
E: Unable to correct problems, you have held broken packages.

Other than u-boot I am not building any lib32- packages. In my image
recipy I have:
EXTRA_IMAGEDEPENDS += &quot;lib32-u-boot&quot;

In my conf file I have:
#multilib
require conf/multilib.conf MULTILIBS = &quot;multilib:lib32&quot;
DEFAULTTUNE_virtclass-multilib-lib32 = &quot;core2-32&quot;
IMAGE_INSTALL_append = &quot; lib32-libgcc&quot;

In the meanwhile I could really use a workaround, f.i. by preventing lib32-* packages all together in the sdk, or by creating a separate conf to build u-boot. Any tips much appreciated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77798</commentid>
    <comment_count>1</comment_count>
    <who name="Rebecca Chang">rebecca.swee.fun.chang</who>
    <bug_when>2017-10-25 05:41:57 +0000</bug_when>
    <thetext>Hi Ferry, would you please provide more details on your configurations?
Why would you need to install &quot;lib32-libgcc&quot; as you mentioned you just need to build uboot which is already successful?

I tried with YP core BSPs with multilib but did not reproduce your lib32-* issues. Probably you could clean the shared-state cache of your build and retry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77801</commentid>
    <comment_count>2</comment_count>
    <who name="Ferry">ferry.toth</who>
    <bug_when>2017-10-25 08:51:55 +0000</bug_when>
    <thetext>Hi Rebecca,

Sure, the image is here https://github.com/htot/meta-intel-edison/blob/morty-64/meta-intel-edison-distro/recipes-core/images/edison-image.bb

The problem is: the target is 64 bit Edison and u-boot is mixed 32/64 bit.

The original (32 bit) edison image has IMAGE_INSTALL += &quot;u-boot&quot;. This is probably not 100% correct as it also installs u-boot on the image. Nevertheless it causes the u-boot image to be built and deployed in the deploy directory.

I found that changing the tune to 64 bit causes do_compile to fail for u-boot. Apparently u-boot needs  lib32-libgcc to build (also building u-boot outside of YP on a x86_64 platform requires to have multilib installed).

I found that installing multilib with  lib32-libgcc and changing to IMAGE_INSTALL += &quot;lib32-u-boot&quot; at least causes u-boot to build (plain u-boot still fails).

But now building the sdk failed even after cleaning the sstate.

PS I now have more success by creating a 2nd conf (with multilib) and removing multilib from the default conf file and removing lib32-u-boot from the image.

Now I can build the image with bitbake -k edison-image and u-boot with bitbake -R u-boot.conf lib32-u-boot. While building the sdk also works.

Still the errors below show something is wrong in the sdk code. As far as I can tell, it tries to install all packages it finds that where built during the image build. But I don&apos;t know why there are not installable.

The only problem with the mentioned work around is, it is not very convenient to do 2 separate builds and the u-boot image now does not get deployed. Not sure how to get that done.

Eventually I want to get Edison added to this layer https://github.com/westeri/meta-acpi to get Edison to boot with ACPI provided by u-boot (thanks to Andy Shevshenko&apos;s work on both u-boot and linux).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77854</commentid>
    <comment_count>3</comment_count>
    <who name="Stephen K Jolley">sjolley.yp.pm</who>
    <bug_when>2017-10-27 18:27:00 +0000</bug_when>
    <thetext>It appears the question has been answered.  If need be restate the question and put it back in NEEDINFO.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>77924</commentid>
    <comment_count>4</comment_count>
    <who name="Rebecca Chang">rebecca.swee.fun.chang</who>
    <bug_when>2017-11-01 23:15:22 +0000</bug_when>
    <thetext>(In reply to comment #2)
&gt; PS I now have more success by creating a 2nd conf (with multilib) and
&gt; removing multilib from the default conf file and removing lib32-u-boot from
&gt; the image.
Hi Ferry,

Could you try with multilib configurations but removing lib32-u-boot from IMAGE_INSTALL and use DEPENDS in u-boot recipe instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78853</commentid>
    <comment_count>5</comment_count>
    <who name="Rebecca Chang">rebecca.swee.fun.chang</who>
    <bug_when>2017-12-28 08:43:48 +0000</bug_when>
    <thetext>Issue is not able to reproduce in poky environment.
I am going to close this until we get further update from reporter and we could reopen this in future.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>