On Thu, Sep 19, 2013 at 1:28 PM, Langdon White <langdon(a)fedoraproject.org>wrote:
On 09/19/2013 03:18 PM, Dave Johansen wrote:
> On Thu, Sep 19, 2013 at 10:47 AM, Ralf Corsepius <rc040203(a)freenet.de
> <mailto:firstname.lastname@example.org>> wrote:
> On 09/18/2013 09:33 PM, Dave Johansen wrote:
> For example, I am working on packaging odb (
> ), but it
> gcc 4.5 or greater for plugin support and that is only available
> on EL
> 5/6 through the devtoolset.
> What are the causes? To me, this sounds like a non-portable package.
> There are two parts of ODB: 1) the compiler and 2) the runtime. The
> compiler takes an input and generates C++ code that can be built against
> and used with the runtime. The generated code and the runtime can be
> used with gcc 4.2 or greater.
> The issue is that ODB requires gcc's plugin support (
> parse the input (which was
> introduced in gcc 4.5). Only gcc 4.4 is available on RHEL 5/6, but the
> devtoolset makes a newer version available, which enables the use of the
> compiler and not just the runtime.
> So if it was possible to build on Koji using
> the devtoolset, then it would enable odb to be packaged for EL
> 5/6 and
> then those with access to the devtoolset could make use of it.
> To me this boils down to the question: "Are people allowed to use
> RH's devtoolset in EPEL?".
> Correct me if I am wrong, but to my knowledge, RH's devtoolset is
> only available to RH customers, which would mean EPEL can not use it.
> Yes, the devtoolset requires the appropriate subscription from RH, but
> that is the point of my request. I would like to request that devtoolset
> be made available on Koji so it can be used to build certain packages.
> The idea is that then it will build the rpm on the server and it will be
> available in the EPEL (but not the devtoolset itself). This means that
> anyone who would want to use this package would need to have the
> devtoolset installed, so it doesn't violate any of the RH/EPEL policies,
> but would enable the use of the devtoolset with the EPEL.
I am not an expert, but I believe the point of the devtoolset is that you
do *not* need the devtoolset upon deployment. As a result, you would not be
required to have the devtoolset to use the rpm (unless you were rebuilding
it or something).
In general that is true, because the devtoolset generates binaries that can
run on a vanilla RHEL system (i.e. without the devtoolset installed), but
the issue is that the ODB compiler is a gcc plugin that uses gcc itself to
parse C++ code (its input). So it's actually making use of the gcc compiler
itself when it runs and isn't just code that is built into a stand alone
executable like is the normal case for most projects. Since plugin support
only exists in gcc 4.5 or greater, that's the reason for needing the
Also worth noting is that this is only true for the ODB compiler because
the ODB runtime works with gcc 4.2 or greater and doesn't require the
devtoolset or anything special.