<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Sep 19, 2013 at 1:28 PM, Langdon White <span dir="ltr">&lt;<a href="mailto:langdon@fedoraproject.org" target="_blank">langdon@fedoraproject.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 09/19/2013 03:18 PM, Dave Johansen wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
On Thu, Sep 19, 2013 at 10:47 AM, Ralf Corsepius &lt;<a href="mailto:rc040203@freenet.de" target="_blank">rc040203@freenet.de</a><br></div><div class="im">
&lt;mailto:<a href="mailto:rc040203@freenet.de" target="_blank">rc040203@freenet.de</a>&gt;&gt; wrote:<br>
<br>
    On 09/18/2013 09:33 PM, Dave Johansen wrote:<br>
<br>
        For example, I am working on packaging odb (<br></div>
        <a href="https://bugzilla.redhat.com/__show_bug.cgi?id=975310" target="_blank">https://bugzilla.redhat.com/__<u></u>show_bug.cgi?id=975310</a><div><div class="h5"><br>
        &lt;<a href="https://bugzilla.redhat.com/show_bug.cgi?id=975310" target="_blank">https://bugzilla.redhat.com/<u></u>show_bug.cgi?id=975310</a>&gt; ), but it<br>
        requires<br>
        gcc 4.5 or greater for plugin support and that is only available<br>
        on EL<br>
        5/6 through the devtoolset.<br>
<br>
<br>
    What are the causes? To me, this sounds like a non-portable package.<br>
<br>
<br>
There are two parts of ODB: 1) the compiler and 2) the runtime. The<br>
compiler takes an input and generates C++ code that can be built against<br>
and used with the runtime. The generated code and the runtime can be<br>
used with gcc 4.2 or greater.<br>
<br>
The issue is that ODB requires gcc&#39;s plugin support (<br>
<a href="http://gcc.gnu.org/wiki/plugins" target="_blank">http://gcc.gnu.org/wiki/<u></u>plugins</a> ) to parse the input (which was<br>
introduced in gcc 4.5). Only gcc 4.4 is available on RHEL 5/6, but the<br>
devtoolset makes a newer version available, which enables the use of the<br>
compiler and not just the runtime.<br>
<br>
<br>
        So if it was possible to build on Koji using<br>
        the devtoolset, then it would enable odb to be packaged for EL<br>
        5/6 and<br>
        then those with access to the devtoolset could make use of it.<br>
<br>
    To me this boils down to the question: &quot;Are people allowed to use<br>
    RH&#39;s devtoolset in EPEL?&quot;.<br>
<br>
    Correct me if I am wrong, but to my knowledge, RH&#39;s devtoolset is<br>
    only available to RH customers, which would mean EPEL can not use it.<br>
<br>
<br>
Yes, the devtoolset requires the appropriate subscription from RH, but<br>
that is the point of my request. I would like to request that devtoolset<br>
be made available on Koji so it can be used to build certain packages.<br>
The idea is that then it will build the rpm on the server and it will be<br>
available in the EPEL (but not the devtoolset itself). This means that<br>
anyone who would want to use this package would need to have the<br>
devtoolset installed, so it doesn&#39;t violate any of the RH/EPEL policies,<br>
but would enable the use of the devtoolset with the EPEL.<br>
<br>
</div></div></blockquote>
<br>
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).<br>
</blockquote><div><br></div><div>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&#39;s actually making use of the gcc compiler itself when it runs and isn&#39;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&#39;s the reason for needing the devtoolset.<br>
<br></div><div>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&#39;t require the devtoolset or anything special.<br></div></div></div></div>