On 2016-06-08, Jonathan Wakely <jwakely@xxxxxxxxxxxxxxxxx> wrote: > On 08/06/16 07:37 +0000, Petr Pisar wrote: >>Guidelines require devel packages to be architecture specific (no >>BuildArch: noarch). Guidelines require having dependencies between >>architecture specific packages restricted to the architecture >>(Requires: foo-devel%{?_isa}). C guildelines require depending on "gcc" >>for standard C library header files. >> >>Files in devel packages usually include standard C library header >>files, thus one needs to "Require: gcc%{?_isa}" from the devel packages. > > Why? > Because "#include <stdlib.h>" fails without stdlib.h on the system, you need to depend on something that provides the stdlib.h. And guidelines says the provider is "gcc". >>But it's not possible to install gcc.x86_64 and gcc.i686 at the same >>time (they conflicts on /usr/libexec/getconf/default). >> >>So the final question: When gcc package will be multilib-safe? Without >>multlib-safe gcc package, all the aim in all the other packages is >>useless because all the dependencies lead to gcc. > > Which dependencies? > "Requires: gcc%{?_isa}" in *-devel packages. > The 'gcc' package doesn't install any multilib headers, so why do you > need gcc%{?_isa} ? > <https://fedoraproject.org/wiki/Packaging:C_and_C%2B%2B#BuildRequires_and_Requires>. > I can see how you might need libstdc++-devel%{?_isa} or other > components of GCC, but those *are* multilibbed, so you can have both > libstdc++-devel.i686 and libstdc++-devel.x86_64 installed at the same > time. > Last I was those are implementation details and I should depend on GCC instead. You should know because you were involved in the discussion that leads to the C packaging guidelines. -- Petr -- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://lists.fedoraproject.org/admin/lists/devel@xxxxxxxxxxxxxxxxxxxxxxx