Building with ABI_X86="32" enabled fails because of binary incompatibility. Reproducible: Always
Created attachment 340534 [details] build.log
This is not a x32 issue, but a 32-bit issue. The problem is simply that one needs a 32-bit virtual/mpi, which we currently don't have.
Could we simply add something along this? REQUIRED_USE="abi_x86_32? ( !mpi )"
(In reply to comment #3) > Could we simply add something along this? > > REQUIRED_USE="abi_x86_32? ( !mpi )" Yeah or virtual/mpi[${MULTILIB_USEDEP]. I am not 100% sure if it is useful to port mpi to 32-bit, but mpich2 shouldn't be a big deal.
(In reply to comment #4) > (In reply to comment #3) > > Could we simply add something along this? > > > > REQUIRED_USE="abi_x86_32? ( !mpi )" > Yeah or virtual/mpi[${MULTILIB_USEDEP]. I am not 100% sure if it is useful > to port mpi to 32-bit, but mpich2 shouldn't be a big deal. I won't do that as you have to make sure that all ports of the deps of the virtual work correctly on every ABI.
(In reply to comment #3) > Could we simply add something along this? > > REQUIRED_USE="abi_x86_32? ( !mpi )" REQUIRED_USE="amd64? ( abi_x86_32? ( !mpi ) )" Please don't forget about the amd64 or you will block whole x86 :). But of course, the target way would be to update the virtual. (In reply to comment #5) > (In reply to comment #4) > > (In reply to comment #3) > > > Could we simply add something along this? > > > > > > REQUIRED_USE="abi_x86_32? ( !mpi )" > > Yeah or virtual/mpi[${MULTILIB_USEDEP]. I am not 100% sure if it is useful > > to port mpi to 32-bit, but mpich2 shouldn't be a big deal. > > I won't do that as you have to make sure that all ports of the deps of the > virtual work correctly on every ABI. I don't understand this. You could make some of the dependencies conditional to multilib being enabled. As in you get || () for all providers if you don't do multilib, or just a limited set if you do.
(In reply to comment #5) > (In reply to comment #4) > > (In reply to comment #3) > > > Could we simply add something along this? > > > > > > REQUIRED_USE="abi_x86_32? ( !mpi )" > > Yeah or virtual/mpi[${MULTILIB_USEDEP]. I am not 100% sure if it is useful > > to port mpi to 32-bit, but mpich2 shouldn't be a big deal. > > I won't do that as you have to make sure that all ports of the deps of the > virtual work correctly on every ABI. For mpich2, it would be dev-libs/libaio (no deps), sys-apps/hwloc (many deps, but only sys-libs/ncurses needed) and net-fs/nfs-utils for romio.
+ 01 Mar 2013; Justin Lecher <jlec@gentoo.org> fftw-3.3.3-r1.ebuild: + Block 32bit ABI with USE=mpi on amd64, #459758 +
Justin's solution is the best for now. Let's get rid of emul-linux-x86-baselibs first and then port virtual/mpi.