On Mon, 18 May 2020 18:48:56 +0200
Gerrit Kuehn <gerrit.ku...@aei.mpg.de> wrote:

> USE="-static-libs" ABI_X86="32%* (64%*) (-x32)"
> 
> I'm not familiar with the ABI flags (is there any documentation on
> that, Google doesn't come up with anything useful for me right now?).
> What does the "%" mean, and how would I turn off 32bit completely?

I think I made some progress on this and found that my old ebuilds
install and search libs in "lib32" paths (see --libdir setting below):

---
>>> Configuring source
>>> in /var/tmp/portage/x11-misc/printproto-1.0.5-r2/work/printproto-1.0.5 ...
 * abi_x86_32.x86: running multilib-minimal_abi_src_configure
 * econf: updating printproto-1.0.5/config.guess
with /usr/share/gnuconfig/config.guess
 * econf: updating printproto-1.0.5/config.sub
with /usr/share/gnuconfig/config.sub
/var/tmp/portage/x11-misc/printproto-1.0.5-r2/work/printproto-1.0.5/configure
--prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu
--mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
--sysconfdir=/etc --localstatedir=/var/lib
--disable-dependency-tracking --disable-silent-rules
--docdir=/usr/share/doc/printproto-1.0.5-r2
--htmldir=/usr/share/doc/printproto-1.0.5-r2/html --libdir=/usr/lib32
--enable-shared --disable-static
---


From https://wiki.gentoo.org/wiki/Project:AMD64/Multilib_layout I
understand that 32bit libs should go to /lib and /usr/lib, not to lib32
anymore. I guess this may be the root cause for my ebuild issues?! I
see the same with the libXp ebuild:

---
>>> Configuring source
>>> in /var/tmp/portage/x11-libs/libXp-1.0.3/work/libXp-1.0.3 ...
 * abi_x86_32.x86: running multilib-minimal_abi_src_configure
 * econf: updating libXp-1.0.3/config.guess
with /usr/share/gnuconfig/config.guess
 * econf: updating libXp-1.0.3/config.sub
with /usr/share/gnuconfig/config.sub
/var/tmp/portage/x11-libs/libXp-1.0.3/work/libXp-1.0.3/configure
--prefix=/usr --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu
--mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share
--sysconfdir=/etc --localstatedir=/var/lib
--disable-dependency-tracking --disable-silent-rules
--docdir=/usr/share/doc/libXp-1.0.3
--htmldir=/usr/share/doc/libXp-1.0.3/html --with-sysroot=/
--libdir=/usr/lib32 --disable-selective-werror --enable-shared
--disable-static
---

This probably makes it look into /usr/lib32 for dependent 32bit
libraries like libXau and so on that it complains about not finding
them later. Indeed, these are to be found in /usr/lib, not /usr/lib32.
But why doesn't emerge (or multilib-minimal_abi_src_configure) know
about this and doesn't "do the right thing"?

I looked into other X lib ebuilds like libXext-1.3.4.ebuild. This is
installing 32bit libs into the correct directory, but it looks not
different to me. I updated my ebuild to using EAPI=7 and xorg-3 (instead
of the original EAPI=5 and xorg-2), but it still insists on using lib32
paths.

Any further hints would be really appreciated.


cu
  Gerrit

Reply via email to