On Thu, Jun 09, 2016 at 08:02:55AM +0000, Petr Pisar wrote:
> Think about it: you can't build 32-bit software **at all**
unless you
> install glibc-devel.i686, not even just "int main() { }" with no
> headers at all.
>
That's because gcc.x86_64 accepts -m32 but cannot produce 32-bit
executable without the i686 toolchain packages. It sounds like broken
dependencies.
Nope, it is completely intentional. Not everybody wants to be able to build
32-bit programs, many people, even when they want to have the compiler
installed, want a 64-bit only install.
If gcc.x86_64 added dependencies on glibc.i686, glibc-devel.i686,
libgcc.i686, libgomp.i686 (and indirectly nss-softokn-freebl.i686) etc.,
people could either have 64-bit only
install, but without any compiler, or, if they need a compiler, would need
to install various 32-bit packages.
Every time a new distribution is going to be released, I'm asked
by release engineers what i686 packages should be put into x86_64
repository. They don't know. I don't know. I also get bug reports from
QE that some of those packages are not multilib safe. I would fix them
sooner if I knew that they are handled as multilib. But again I have no
way how to know that.
For gcc subpackages, the rule is:
gcc*
cpp*
libstdc++-docs*
(and in the past when we were shipping libgcj also: libgcj-src*)
are not multilib packages, should be shipped just for the primary arch
everything else is multilib
Jakub