[OE-core] [PATCH 6/6] multilib: fix install file conflicts

Kang Kai Kai.Kang at windriver.com
Tue Sep 4 09:52:48 UTC 2018


On 2018年09月04日 17:16, richard.purdie at linuxfoundation.org wrote:
> On Sun, 2018-08-26 at 06:06 -0700, Kai Kang wrote:
>> Fix install files conflicts between multlib packages:
>>
>>> Error: Transaction check error:
>>>    file /usr/bin/g-ir-annotation-tool conflicts between attempted installs of lib32-gobject-introspection-1.56.1-r0.x86 and gobject-introspection-1.56.1-r0.core2_64
>>>    file /usr/bin/g-ir-scanner conflicts between attempted installs of lib32-gobject-introspection-1.56.1-r0.x86 and gobject-introspection-1.56.1-r0.core2_64
>>>    file /usr/bin/cairo-trace conflicts between attempted installs of lib32-libcairo-perf-utils-1.14.12-r0.x86 and libcairo-perf-utils-1.14.12-r0.core2_64
>>>    file /usr/bin/icu-config conflicts between attempted installs of lib32-icu-dev-62.1-r0.x86 and icu-dev-62.1-r0.core2_64
>>>    file /usr/share/gir-1.0/GLib-2.0.gir conflicts between attempted installs of gobject-introspection-dev-1.56.1-r0.core2_64 and lib32-gobject-introspection-dev-1.56.1-r0.x86
>>>    file /usr/bin/gpgrt-config conflicts between attempted installs of lib32-libgpg-error-dev-1.32-r0.x86 and libgpg-error-dev-1.32-r0.core2_64
>>>    file /usr/share/pkgconfig/udev.pc conflicts between attempted installs of eudev-dev-3.2.5-r0.core2_64 and lib32-eudev-dev-3.2.5-r0.x86
> .pc files installed into /usr/share are architecture
> independent. Either it is arch dependent in which case its in the wrong
> place, or it needs to be fixed.

For .pc file of eudev, it sets udevdir with prefix ${libdir}

$ diff -u image/usr/share/pkgconfig/udev.pc 
../../../x86-pokymllib32-linux/lib32-eudev/3.2.5-r0/image/usr/share/pkgconfig/udev.pc
--- image/usr/share/pkgconfig/udev.pc   2018-08-31 16:03:35.721580345 +0800
+++ 
../../../x86-pokymllib32-linux/lib32-eudev/3.2.5-r0/image/usr/share/pkgconfig/udev.pc 
2018-09-03 14:20:05.320474868 +0800
@@ -3,4 +3,4 @@
  Version: 220
  prefix=/usr
  exec_prefix=/usr
-udevdir=/lib64/udev
+udevdir=/lib/udev


>
> We are not putting these under control of update-alternatives!
>
> It would be helpful to understand the kinds of differences in some of
> these files. gir files in /usr/share/gir-1.0/ should also really be
> arch independent...

For the .gir file, it contains some length of types, such as long and 
pointer.

@@ -21251,16 +21251,16 @@
  This is ":" on UNIX machines and ";" under Windows.</doc>
        <type name="utf8" c:type="gchar*"/>
      </constant>
-    <constant name="SIZEOF_LONG" value="8" c:type="GLIB_SIZEOF_LONG">
+    <constant name="SIZEOF_LONG" value="4" c:type="GLIB_SIZEOF_LONG">
        <type name="gint" c:type="gint"/>
      </constant>
-    <constant name="SIZEOF_SIZE_T" value="8" c:type="GLIB_SIZEOF_SIZE_T">
+    <constant name="SIZEOF_SIZE_T" value="4" c:type="GLIB_SIZEOF_SIZE_T">
        <type name="gint" c:type="gint"/>
      </constant>
-    <constant name="SIZEOF_SSIZE_T" value="8" c:type="GLIB_SIZEOF_SSIZE_T">
+    <constant name="SIZEOF_SSIZE_T" value="4" c:type="GLIB_SIZEOF_SSIZE_T">
        <type name="gint" c:type="gint"/>
      </constant>
-    <constant name="SIZEOF_VOID_P" value="8" c:type="GLIB_SIZEOF_VOID_P">
+    <constant name="SIZEOF_VOID_P" value="4" c:type="GLIB_SIZEOF_VOID_P">
        <type name="gint" c:type="gint"/>
      </constant>
      <record name="SList" c:type="GSList">


Regards,
Kai

>
> Cheers,
>
> Richard
>

-- 
Regards,
Neil | Kai Kang




More information about the Openembedded-core mailing list