<?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>11513</bug_id>
          
          <creation_ts>2017-05-16 15:12:42 +0000</creation_ts>
          <short_desc>Python3 isn&apos;t multilib compatible</short_desc>
          <delta_ts>2018-02-20 20:13:29 +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.3</version>
          <rep_platform>x86</rep_platform>
          <op_sys>Multiple</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</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>
          <dependson>11472</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Burton">ross.burton</reporter>
          <assigned_to name="Ross Burton">ross.burton</assigned_to>
          <cc>alex.kanavin</cc>
    
    <cc>leonardo.sandoval.gonzalez</cc>
    
    <cc>meta.mr.watcher</cc>
    
    <cc>meta.watcher</cc>
    
    <cc>philip</cc>
    
    <cc>randy.macleod</cc>
    
    <cc>sgw</cc>
          
          
          <cf_os>---</cf_os>
          <cf_regression_type>---</cf_regression_type>
          
          <cf_docchange>No (bug/feature does not impact docs)</cf_docchange>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>73280</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2017-05-16 15:12:42 +0000</bug_when>
    <thetext>If you build an image with python3-core and lib64-python3-core you get file conflicts and the rootfs won&apos;t build (whereas python-core and lib64-python-core work together).

This is because /usr/bin/python3-config contains lines such as:

CFLAGS=$(echo &quot; -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/data/poky-master/tmp/work/x86_64-pokymllib64-linux/lib6
4-python3/3.5.3-r1.0=/usr/src/debug/lib64-python3/3.5.3-r1.0 -fdebug-prefix-map=/data/poky-master/tmp/work/x86_64-pokymllib64-linux/lib
64-python3/3.5.3-r1.0/recipe-sysroot-native= -fdebug-prefix-map=/data/poky-master/tmp/work/x86_64-pokymllib64-linux/lib64-python3/3.5.3
-r1.0/lib64-recipe-sysroot=  -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security&quot; | sed &quot;s#
$prefix_build#$prefix_real#&quot;)

So the files differ, and rpm won&apos;t overlay them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73282</commentid>
    <comment_count>1</comment_count>
    <who name="Alejandro Hernandez">alejandro.hernandez</who>
    <bug_when>2017-05-16 17:01:10 +0000</bug_when>
    <thetext>Hey Ross,

Could you specify what your multilib configuration is, I am indeed getting an error on rootfs, but I also get it with python-core and lib64-python-core, so I&apos;m assuming I screwed up when setting multilib.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73284</commentid>
    <comment_count>2</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2017-05-16 17:28:40 +0000</bug_when>
    <thetext>Okay, if you&apos;re seeing python2 do the same then that&apos;s also a bug, I assumed it worked as the AB broke when we moved opkg-utils to py3 from py2.

master will have no py2 in shortly, so lets just sort out py3.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73491</commentid>
    <comment_count>3</comment_count>
    <who name="Alejandro Hernandez">alejandro.hernandez</who>
    <bug_when>2017-05-24 22:14:41 +0000</bug_when>
    <thetext>I still don&apos;t believe I have the correct configuration, since I am getting a different error.

This is the configuration I&apos;ve got:
CORE_IMAGE_EXTRA_INSTALL += &quot;lib64-python-core python-core&quot;
require conf/multilib.conf
MULTILIBS = &quot;multilib:lib64&quot;
DEFAULTTUNE_virtclass-multilib-lib64 = &quot;x86-64&quot;


These are the errors I am getting (along with many others):

file /usr/lib64/python2.7/types.pyc conflicts between attempted installs of lib64-python-core-2.7.13-r1.x86_64 and python-core-2.7.13-r1.core2_64
  file /usr/lib64/python2.7/warnings.pyc conflicts between attempted installs of lib64-python-core-2.7.13-r1.x86_64 and python-core-2.7.13-r1.core2_64
  file /lib64/libtinfo.so.5.9 conflicts between attempted installs of libtinfo5-6.0+20161126-r0.core2_64 and lib64-libtinfo5-6.0+20161126-r0.x86_64
  file /usr/lib64/libhistory.so.7.0 conflicts between attempted installs of libreadline7-7.0-r0.core2_64 and lib64-libreadline7-7.0-r0.x86_64
  file /usr/lib64/libreadline.so.7.0 conflicts between attempted installs of libreadline7-7.0-r0.core2_64 and lib64-libreadline7-7.0-r0.x86_64
  file /usr/lib64/python2.7/lib-dynload/readline.so conflicts between attempted installs of lib64-python-readline-2.7.13-r1.x86_64 and python-readline-2.7.13-r1.core2_64
  file /usr/lib64/python2.7/rlcompleter.pyc conflicts between attempted installs of lib64-python-readline-2.7.13-r1.x86_64 and python-readline-2.7.13-r1.core2_64



I am not sure what the behavior should be here, but it looks to me that both lib64-python-core and python-core are the same package (because of my multilib configuration), but they are considered different packages by rpm.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74355</commentid>
    <comment_count>4</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2017-06-19 22:20:42 +0000</bug_when>
    <thetext>*** Bug 11690 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75068</commentid>
    <comment_count>5</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2017-07-17 15:35:17 +0000</bug_when>
    <thetext>With the following configuration (which I believe is that Ross used)

IMAGE_INSTALL_append = &quot;lib64-python3-core python3-core&quot;
require conf/multilib.conf
MULTILIBS = &quot;multilib:lib64&quot;
DEFAULTTUNE_virtclass-multilib-lib64 = &quot;x86-64&quot;

This is what I am getting this error

ERROR: Could not invoke dnf. Command &apos;TOPDIR/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot-native/usr/bin/dnf -y -c TOPDIR/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=TOPDIR/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/yum.repos.d --repofrompath=oe-repo,TOPDIR/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo --installroot=TOPDIR/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/rootfs --setopt=logdir=TOPDIR/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/temp --nogpgcheck install lib64-python3-core packagegroup-core-boot python3-core run-postinsts&apos; returned 1:
Unable to detect release version (use &apos;--releasever&apos; to specify release version)
Added oe-repo repo from TOPDIR/tmp/work/qemux86-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo


Full log at: http://errors.yoctoproject.org/Errors/Details/147659/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75069</commentid>
    <comment_count>6</comment_count>
    <who name="Alexander Kanavin">alex.kanavin</who>
    <bug_when>2017-07-17 15:46:43 +0000</bug_when>
    <thetext>Would it be okay to move python3-config to the -dev package, as it&apos;s only for developers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75080</commentid>
    <comment_count>7</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2017-07-17 19:41:56 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; Would it be okay to move python3-config to the -dev package, as it&apos;s only
&gt; for developers?

but in this case, the problem is just moved to another package, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75083</commentid>
    <comment_count>8</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2017-07-17 20:33:57 +0000</bug_when>
    <thetext>(In reply to comment #0)
&gt; If you build an image with python3-core and lib64-python3-core you get file
&gt; conflicts and the rootfs won&apos;t build (whereas python-core and
&gt; lib64-python-core work together).
&gt; 
&gt; This is because /usr/bin/python3-config contains lines such as:
&gt; 
&gt; CFLAGS=$(echo &quot; -O2 -pipe -g -feliminate-unused-debug-types
&gt; -fdebug-prefix-map=/data/poky-master/tmp/work/x86_64-pokymllib64-linux/lib6
&gt; 4-python3/3.5.3-r1.0=/usr/src/debug/lib64-python3/3.5.3-r1.0
&gt; -fdebug-prefix-map=/data/poky-master/tmp/work/x86_64-pokymllib64-linux/lib
&gt; 64-python3/3.5.3-r1.0/recipe-sysroot-native=
&gt; -fdebug-prefix-map=/data/poky-master/tmp/work/x86_64-pokymllib64-linux/lib64-
&gt; python3/3.5.3
&gt; -r1.0/lib64-recipe-sysroot=  -fstack-protector-strong -D_FORTIFY_SOURCE=2
&gt; -Wformat -Wformat-security -Werror=format-security&quot; | sed &quot;s#
&gt; $prefix_build#$prefix_real#&quot;)
&gt; 
&gt; So the files differ, and rpm won&apos;t overlay them.

Right Ross. The exact diff is the following

 diff -Naur i586-poky-linux/python3/3.5.3-r1.0/packages-split/python3-core/usr/bin/python3.5m-config x86_64-pokymllib64-linux/lib64-python3/3.5.3-r1.0/packages-split/lib64-python3-core/usr/bin/python3.5m-config
--- i586-poky-linux/python3/3.5.3-r1.0/packages-split/python3-core/usr/bin/python3.5m-config    2017-07-17 12:48:23.061720905 -0700
+++ x86_64-pokymllib64-linux/lib64-python3/3.5.3-r1.0/packages-split/lib64-python3-core/usr/bin/python3.5m-config       2017-07-17 12:49:24.691221100 -0700
@@ -33,8 +33,8 @@
 exec_prefix_build=&quot;/usr&quot;
 exec_prefix=$(echo &quot;$exec_prefix_build&quot; | sed &quot;s#$exec_prefix_build#$prefix_real#&quot;)
 includedir=$(echo &quot;/usr/include&quot; | sed &quot;s#$prefix_build#$prefix_real#&quot;)
-libdir=$(echo &quot;/usr/lib&quot; | sed &quot;s#$prefix_build#$prefix_real#&quot;)
-CFLAGS=$(echo &quot; -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/lsandov1/poky-testing/poky-python3-multilib/build-p3/tmp/work/i586-poky-linux/python3/3.5.3-r1.0=/usr/src/debug/python3/3.5.3-r1.0 -fdebug-prefix-map=/home/lsandov1/poky-testing/poky-python3-multilib/build-p3/tmp/work/i586-poky-linux/python3/3.5.3-r1.0/recipe-sysroot-native= -fdebug-prefix-map=/home/lsandov1/poky-testing/poky-python3-multilib/build-p3/tmp/work/i586-poky-linux/python3/3.5.3-r1.0/recipe-sysroot= &quot; | sed &quot;s#$prefix_build#$prefix_real#&quot;)
+libdir=$(echo &quot;/usr/lib64&quot; | sed &quot;s#$prefix_build#$prefix_real#&quot;)
+CFLAGS=$(echo &quot; -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/lsandov1/poky-testing/poky-python3-multilib/build-p3/tmp/work/x86_64-pokymllib64-linux/lib64-python3/3.5.3-r1.0=/usr/src/debug/lib64-python3/3.5.3-r1.0 -fdebug-prefix-map=/home/lsandov1/poky-testing/poky-python3-multilib/build-p3/tmp/work/x86_64-pokymllib64-linux/lib64-python3/3.5.3-r1.0/recipe-sysroot-native= -fdebug-prefix-map=/home/lsandov1/poky-testing/poky-python3-multilib/build-p3/tmp/work/x86_64-pokymllib64-linux/lib64-python3/3.5.3-r1.0/lib64-recipe-sysroot= &quot; | sed &quot;s#$prefix_build#$prefix_real#&quot;)
 VERSION=&quot;3.5&quot;
 LIBM=&quot;-lm&quot;
 LIBC=&quot;&quot;
@@ -49,7 +49,7 @@
 LDVERSION=&quot;${VERSION}${ABIFLAGS}&quot;
 LIBDEST=${prefix}/lib/python${VERSION}
 LIBPL=$(echo &quot;${LIBDIR}/python3.5/config-${VERSION}${ABIFLAGS}&quot; | sed &quot;s#$prefix_build#$prefix_real#&quot;)
-SO=&quot;.cpython-35m-i386-linux-gnu.so&quot;
+SO=&quot;.cpython-35m-x86_64-linux-gnu.so&quot;
 PYTHONFRAMEWORK=&quot;&quot;
 INCDIR=&quot;-I$includedir/python${VERSION}${ABIFLAGS}&quot;
 PLATINCDIR=&quot;-I$includedir/python${VERSION}${ABIFLAGS}&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75261</commentid>
    <comment_count>9</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2017-07-24 16:24:46 +0000</bug_when>
    <thetext>(In reply to comment #6)
&gt; Would it be okay to move python3-config to the -dev package, as it&apos;s only
&gt; for developers?

Alex, after doing some review on this area, your suggestion is what I sent to the mailing list. Thanks for the tip.

http://lists.openembedded.org/pipermail/openembedded-core/2017-July/140066.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>75600</commentid>
    <comment_count>10</comment_count>
    <who name="Leonardo Sandoval Gonzalez">leonardo.sandoval.gonzalez</who>
    <bug_when>2017-08-02 21:12:42 +0000</bug_when>
    <thetext>I proposed a solution to fix this problem [1] but according to Alex, this wont fit the new model to be proposed soon. So, assigning this task to him so he can latter integrate the pieces I worked on.


[1] http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=lsandov1/python3-manifest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>76212</commentid>
    <comment_count>11</comment_count>
    <who name="Alejandro Hernandez">alejandro.hernandez</who>
    <bug_when>2017-08-28 21:44:01 +0000</bug_when>
    <thetext>Integrated with the new manifest, but the changes were moved to 2.5 per Richard&apos;s request.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79514</commentid>
    <comment_count>12</comment_count>
    <who name="Ross Burton">ross.burton</who>
    <bug_when>2018-02-20 20:13:29 +0000</bug_when>
    <thetext>Apparently fixed with the new manifest code so merged in oe-core 54ac820b8a639950ccb534dcd9d6eaf8b2b736e0.</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>