You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by Leif Hedstrom <zw...@apache.org> on 2016/06/16 17:53:03 UTC

[DISCUSS] Relax minimum OS version requirements ?

Hi,

[Tldr; We bump the minimum supported version to CentOS7/RHEL7, or, CentOS6/RHEL6 + devtools-2 compilers.]


Today, our minimum run- and build-time requirements are based on a simple criteria: Whatever comes with CentOS / RHEL v6.x. This dictates:

	* openssl-1.0.1e
	* gcc-4.4.7
	* glibc-2.12
	* pcre-7.8
	* tcl-8.5.7
	* expat-2.0.1

Needed when building from source (or making a distro tar-ball):
	* autoconf-2.63
	* automake-1.11.1
	* libtool-2.2.6

Optional (but recommended):
	* libcap-2.16
	* hwloc-1.5
	* libunwind-1.1


My suggestion is that we bump the tool-chain versions for the required packages to what is provided by CentOS7, which can be installed using e.g. http://people.centos.org/tru/devtools-2/6/ <http://people.centos.org/tru/devtools-2/6/> .This would bump those required versions to:

	* openssl-1.0.1e (same)
	* gcc-4.8.5 (devtools-2 only has 4.8.1, but that’s probably ok?)
	* pcre-8.32
	* tcl-8.5.13
	* expat-2.1.0


I suggest we keep the requirement on glibc at v2.12, since that’s a real PITA to upgrade safely. Odds are that the only thing that matters here is the GCC version, which is also why we’d want to do this. gcc v4.8 or later would give us almost all C++11 features available:

	https://gcc.gnu.org/gcc-4.8/cxx0x_status.html <https://gcc.gnu.org/gcc-4.8/cxx0x_status.html>

But, this is not a reason to go nuts and use every damn C++11 and STL feature there is, our normal development rules till applies! Keep it simple so I can still understand at least some of the code … Sorry Brian! :)


Tldr; We bump the minimum supported version to either CentOS7/RHEL7, or, CentOS6/RHEL6 + devtools-2 compilers.

Thoughts?

— leif


Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by "Steven R. Feltner" <sf...@godaddy.com>.
I am currently developing on CentOS 6 with devtoolset-3 in order to compile with ASAN.  Once I am ready to deploy to production, I remove ASAN and repackage.

I am slowly moving my development efforts over to CentOS 7, and hope to move our production environments to CentOS 7 in late Q3-Q4.

I would be +1 for these changes for 7.0.0.

Thanks,
Steven
________________________________
From: Leif Hedstrom <zw...@apache.org>
Sent: Monday, June 20, 2016 11:35:47 PM
To: dev@trafficserver.apache.org
Cc: users@trafficserver.apache.org
Subject: Re: [DISCUSS] Relax minimum OS version requirements ?


> On Jun 16, 2016, at 2:52 PM, Phil Sorber <so...@apache.org> wrote:
>
> With my developer hat on, I'm +1 on this for 7.0.0. I cringe a little with
> my ops hat on and +0 there. Would love to get more feedback from users on
> this.


I’m testing devtools-3 on our CentOS6 VM now, we’ll see how that goes. I’m thinking all it will need is the new gcc version. Here’s the instructions, I think:

        https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/


Cheers,

— Leif


Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by Leif Hedstrom <zw...@apache.org>.
> On Jun 16, 2016, at 2:52 PM, Phil Sorber <so...@apache.org> wrote:
> 
> With my developer hat on, I'm +1 on this for 7.0.0. I cringe a little with
> my ops hat on and +0 there. Would love to get more feedback from users on
> this.


I’m testing devtools-3 on our CentOS6 VM now, we’ll see how that goes. I’m thinking all it will need is the new gcc version. Here’s the instructions, I think:

	https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/


Cheers,

— Leif


Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by Leif Hedstrom <zw...@apache.org>.
> On Jun 16, 2016, at 2:52 PM, Phil Sorber <so...@apache.org> wrote:
> 
> With my developer hat on, I'm +1 on this for 7.0.0. I cringe a little with
> my ops hat on and +0 there. Would love to get more feedback from users on
> this.


I’m testing devtools-3 on our CentOS6 VM now, we’ll see how that goes. I’m thinking all it will need is the new gcc version. Here’s the instructions, I think:

	https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/


Cheers,

— Leif


Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by Phil Sorber <so...@apache.org>.
With my developer hat on, I'm +1 on this for 7.0.0. I cringe a little with
my ops hat on and +0 there. Would love to get more feedback from users on
this.

On Thu, Jun 16, 2016 at 2:47 PM Leif Hedstrom <zw...@apache.org> wrote:

>
> > On Jun 16, 2016, at 2:30 PM, James Peach <jp...@apache.org> wrote:
> >
> >
> >> On Jun 16, 2016, at 12:25 PM, Alan Carroll <
> solidwallofcode@yahoo-inc.com> wrote:
> >>
> >> "This is not a reason to go nuts and use every damn C++11 and STL
> feature there is"
> >>
> >> Exactly. One doesn't need a reason for that.
> >>
> >> Yes, I think we should move this up. Two feature at least that I think
> would help making the code cleaner are "auto" and lambdas. For the latter
> there is no shortage of tiny little classes that would be shorter and
> clearer with lambda.
> >
> > Rather than ad-hoc C++11 changes, we should target specific things we
> want, add it to the coding guidelines and use clang-modernize of clang-tidy
> to make the change if possible. I think nullptr, auto, and <atomic> are
> good candidates.
>
>
> Agreed, we need to have better guidelines for how we expect people to use
> C++ and how not to use STL :). But, this change is more about enabling
> C++11 as a possibility at all, so I see these two things as one (gcc 4.8)
> enabling the other (better code guidelines).
>
> It’s a bit of wild west already, with some code being way more obscure and
> unfriendly than other.
>
> Cheers,
>
> — Leif
>
>

Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by Phil Sorber <so...@apache.org>.
With my developer hat on, I'm +1 on this for 7.0.0. I cringe a little with
my ops hat on and +0 there. Would love to get more feedback from users on
this.

On Thu, Jun 16, 2016 at 2:47 PM Leif Hedstrom <zw...@apache.org> wrote:

>
> > On Jun 16, 2016, at 2:30 PM, James Peach <jp...@apache.org> wrote:
> >
> >
> >> On Jun 16, 2016, at 12:25 PM, Alan Carroll <
> solidwallofcode@yahoo-inc.com> wrote:
> >>
> >> "This is not a reason to go nuts and use every damn C++11 and STL
> feature there is"
> >>
> >> Exactly. One doesn't need a reason for that.
> >>
> >> Yes, I think we should move this up. Two feature at least that I think
> would help making the code cleaner are "auto" and lambdas. For the latter
> there is no shortage of tiny little classes that would be shorter and
> clearer with lambda.
> >
> > Rather than ad-hoc C++11 changes, we should target specific things we
> want, add it to the coding guidelines and use clang-modernize of clang-tidy
> to make the change if possible. I think nullptr, auto, and <atomic> are
> good candidates.
>
>
> Agreed, we need to have better guidelines for how we expect people to use
> C++ and how not to use STL :). But, this change is more about enabling
> C++11 as a possibility at all, so I see these two things as one (gcc 4.8)
> enabling the other (better code guidelines).
>
> It’s a bit of wild west already, with some code being way more obscure and
> unfriendly than other.
>
> Cheers,
>
> — Leif
>
>

Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by Leif Hedstrom <zw...@apache.org>.
> On Jun 16, 2016, at 2:30 PM, James Peach <jp...@apache.org> wrote:
> 
> 
>> On Jun 16, 2016, at 12:25 PM, Alan Carroll <so...@yahoo-inc.com> wrote:
>> 
>> "This is not a reason to go nuts and use every damn C++11 and STL feature there is"
>> 
>> Exactly. One doesn't need a reason for that.
>> 
>> Yes, I think we should move this up. Two feature at least that I think would help making the code cleaner are "auto" and lambdas. For the latter there is no shortage of tiny little classes that would be shorter and clearer with lambda. 
> 
> Rather than ad-hoc C++11 changes, we should target specific things we want, add it to the coding guidelines and use clang-modernize of clang-tidy to make the change if possible. I think nullptr, auto, and <atomic> are good candidates.


Agreed, we need to have better guidelines for how we expect people to use C++ and how not to use STL :). But, this change is more about enabling C++11 as a possibility at all, so I see these two things as one (gcc 4.8) enabling the other (better code guidelines).

It’s a bit of wild west already, with some code being way more obscure and unfriendly than other. 

Cheers,

— Leif


Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by Leif Hedstrom <zw...@apache.org>.
> On Jun 16, 2016, at 2:30 PM, James Peach <jp...@apache.org> wrote:
> 
> 
>> On Jun 16, 2016, at 12:25 PM, Alan Carroll <so...@yahoo-inc.com> wrote:
>> 
>> "This is not a reason to go nuts and use every damn C++11 and STL feature there is"
>> 
>> Exactly. One doesn't need a reason for that.
>> 
>> Yes, I think we should move this up. Two feature at least that I think would help making the code cleaner are "auto" and lambdas. For the latter there is no shortage of tiny little classes that would be shorter and clearer with lambda. 
> 
> Rather than ad-hoc C++11 changes, we should target specific things we want, add it to the coding guidelines and use clang-modernize of clang-tidy to make the change if possible. I think nullptr, auto, and <atomic> are good candidates.


Agreed, we need to have better guidelines for how we expect people to use C++ and how not to use STL :). But, this change is more about enabling C++11 as a possibility at all, so I see these two things as one (gcc 4.8) enabling the other (better code guidelines).

It’s a bit of wild west already, with some code being way more obscure and unfriendly than other. 

Cheers,

— Leif


Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by James Peach <jp...@apache.org>.
> On Jun 16, 2016, at 12:25 PM, Alan Carroll <so...@yahoo-inc.com> wrote:
> 
> "This is not a reason to go nuts and use every damn C++11 and STL feature there is"
> 
> Exactly. One doesn't need a reason for that.
> 
> Yes, I think we should move this up. Two feature at least that I think would help making the code cleaner are "auto" and lambdas. For the latter there is no shortage of tiny little classes that would be shorter and clearer with lambda. 

Rather than ad-hoc C++11 changes, we should target specific things we want, add it to the coding guidelines and use clang-modernize of clang-tidy to make the change if possible. I think nullptr, auto, and <atomic> are good candidates.

J

Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by James Peach <jp...@apache.org>.
> On Jun 16, 2016, at 12:25 PM, Alan Carroll <so...@yahoo-inc.com> wrote:
> 
> "This is not a reason to go nuts and use every damn C++11 and STL feature there is"
> 
> Exactly. One doesn't need a reason for that.
> 
> Yes, I think we should move this up. Two feature at least that I think would help making the code cleaner are "auto" and lambdas. For the latter there is no shortage of tiny little classes that would be shorter and clearer with lambda. 

Rather than ad-hoc C++11 changes, we should target specific things we want, add it to the coding guidelines and use clang-modernize of clang-tidy to make the change if possible. I think nullptr, auto, and <atomic> are good candidates.

J

Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by Alan Carroll <so...@yahoo-inc.com.INVALID>.
"This is not a reason to go nuts and use every damn C++11 and STL feature there is"

Exactly. One doesn't need a reason for that.

Yes, I think we should move this up. Two feature at least that I think would help making the code cleaner are "auto" and lambdas. For the latter there is no shortage of tiny little classes that would be shorter and clearer with lambda. 

Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by Alan Carroll <so...@yahoo-inc.com>.
"This is not a reason to go nuts and use every damn C++11 and STL feature there is"

Exactly. One doesn't need a reason for that.

Yes, I think we should move this up. Two feature at least that I think would help making the code cleaner are "auto" and lambdas. For the latter there is no shortage of tiny little classes that would be shorter and clearer with lambda. 

RE: [DISCUSS] Relax minimum OS version requirements ?

Posted by "Schmerge, John (Contractor)" <Jo...@cable.comcast.com>.
Hi Leif,

Small correction for you; devtoolset-2 packages GCC 4.8.2, not 4.8.1 for RH/Centos 6…

-John

From: Leif Hedstrom [mailto:zwoop@apache.org]
Sent: Thursday, June 16, 2016 1:53 PM
To: <de...@trafficserver.apache.org>; users@trafficserver.apache.org
Subject: [DISCUSS] Relax minimum OS version requirements ?

Hi,

[Tldr; We bump the minimum supported version to CentOS7/RHEL7, or, CentOS6/RHEL6 + devtools-2 compilers.]


Today, our minimum run- and build-time requirements are based on a simple criteria: Whatever comes with CentOS / RHEL v6.x. This dictates:

            * openssl-1.0.1e
            * gcc-4.4.7
            * glibc-2.12
            * pcre-7.8
            * tcl-8.5.7
            * expat-2.0.1

Needed when building from source (or making a distro tar-ball):
            * autoconf-2.63
            * automake-1.11.1
            * libtool-2.2.6

Optional (but recommended):
            * libcap-2.16
            * hwloc-1.5
            * libunwind-1.1


My suggestion is that we bump the tool-chain versions for the required packages to what is provided by CentOS7, which can be installed using e.g. http://people.centos.org/tru/devtools-2/6/ .This would bump those required versions to:

            * openssl-1.0.1e (same)
            * gcc-4.8.5 (devtools-2 only has 4.8.1, but that’s probably ok?)
            * pcre-8.32
            * tcl-8.5.13
            * expat-2.1.0


I suggest we keep the requirement on glibc at v2.12, since that’s a real PITA to upgrade safely. Odds are that the only thing that matters here is the GCC version, which is also why we’d want to do this. gcc v4.8 or later would give us almost all C++11 features available:

            https://gcc.gnu.org/gcc-4.8/cxx0x_status.html

But, this is not a reason to go nuts and use every damn C++11 and STL feature there is, our normal development rules till applies! Keep it simple so I can still understand at least some of the code … Sorry Brian! :)


Tldr; We bump the minimum supported version to either CentOS7/RHEL7, or, CentOS6/RHEL6 + devtools-2 compilers.

Thoughts?

— leif


Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by Bryan Call <bc...@apache.org>.
+1 - I would be great to have C++11 support.  I would like to see range for added to the list of acceptable C++11 features to use.

-Bryan



> On Jun 16, 2016, at 10:53 AM, Leif Hedstrom <zw...@apache.org> wrote:
> 
> Hi,
> 
> [Tldr; We bump the minimum supported version to CentOS7/RHEL7, or, CentOS6/RHEL6 + devtools-2 compilers.]
> 
> 
> Today, our minimum run- and build-time requirements are based on a simple criteria: Whatever comes with CentOS / RHEL v6.x. This dictates:
> 
> 	* openssl-1.0.1e
> 	* gcc-4.4.7
> 	* glibc-2.12
> 	* pcre-7.8
> 	* tcl-8.5.7
> 	* expat-2.0.1
> 
> Needed when building from source (or making a distro tar-ball):
> 	* autoconf-2.63
> 	* automake-1.11.1
> 	* libtool-2.2.6
> 
> Optional (but recommended):
> 	* libcap-2.16
> 	* hwloc-1.5
> 	* libunwind-1.1
> 
> 
> My suggestion is that we bump the tool-chain versions for the required packages to what is provided by CentOS7, which can be installed using e.g. http://people.centos.org/tru/devtools-2/6/ <http://people.centos.org/tru/devtools-2/6/> .This would bump those required versions to:
> 
> 	* openssl-1.0.1e (same)
> 	* gcc-4.8.5 (devtools-2 only has 4.8.1, but that’s probably ok?)
> 	* pcre-8.32
> 	* tcl-8.5.13
> 	* expat-2.1.0
> 
> 
> I suggest we keep the requirement on glibc at v2.12, since that’s a real PITA to upgrade safely. Odds are that the only thing that matters here is the GCC version, which is also why we’d want to do this. gcc v4.8 or later would give us almost all C++11 features available:
> 
> 	https://gcc.gnu.org/gcc-4.8/cxx0x_status.html <https://gcc.gnu.org/gcc-4.8/cxx0x_status.html>
> 
> But, this is not a reason to go nuts and use every damn C++11 and STL feature there is, our normal development rules till applies! Keep it simple so I can still understand at least some of the code … Sorry Brian! :)
> 
> 
> Tldr; We bump the minimum supported version to either CentOS7/RHEL7, or, CentOS6/RHEL6 + devtools-2 compilers.
> 
> Thoughts?
> 
> — leif
> 


RE: [DISCUSS] Relax minimum OS version requirements ?

Posted by "Schmerge, John (Contractor)" <Jo...@cable.comcast.com>.
Hi Leif,

Small correction for you; devtoolset-2 packages GCC 4.8.2, not 4.8.1 for RH/Centos 6…

-John

From: Leif Hedstrom [mailto:zwoop@apache.org]
Sent: Thursday, June 16, 2016 1:53 PM
To: <de...@trafficserver.apache.org>; users@trafficserver.apache.org
Subject: [DISCUSS] Relax minimum OS version requirements ?

Hi,

[Tldr; We bump the minimum supported version to CentOS7/RHEL7, or, CentOS6/RHEL6 + devtools-2 compilers.]


Today, our minimum run- and build-time requirements are based on a simple criteria: Whatever comes with CentOS / RHEL v6.x. This dictates:

            * openssl-1.0.1e
            * gcc-4.4.7
            * glibc-2.12
            * pcre-7.8
            * tcl-8.5.7
            * expat-2.0.1

Needed when building from source (or making a distro tar-ball):
            * autoconf-2.63
            * automake-1.11.1
            * libtool-2.2.6

Optional (but recommended):
            * libcap-2.16
            * hwloc-1.5
            * libunwind-1.1


My suggestion is that we bump the tool-chain versions for the required packages to what is provided by CentOS7, which can be installed using e.g. http://people.centos.org/tru/devtools-2/6/ .This would bump those required versions to:

            * openssl-1.0.1e (same)
            * gcc-4.8.5 (devtools-2 only has 4.8.1, but that’s probably ok?)
            * pcre-8.32
            * tcl-8.5.13
            * expat-2.1.0


I suggest we keep the requirement on glibc at v2.12, since that’s a real PITA to upgrade safely. Odds are that the only thing that matters here is the GCC version, which is also why we’d want to do this. gcc v4.8 or later would give us almost all C++11 features available:

            https://gcc.gnu.org/gcc-4.8/cxx0x_status.html

But, this is not a reason to go nuts and use every damn C++11 and STL feature there is, our normal development rules till applies! Keep it simple so I can still understand at least some of the code … Sorry Brian! :)


Tldr; We bump the minimum supported version to either CentOS7/RHEL7, or, CentOS6/RHEL6 + devtools-2 compilers.

Thoughts?

— leif


Re: [DISCUSS] Relax minimum OS version requirements ?

Posted by Bryan Call <bc...@apache.org>.
+1 - I would be great to have C++11 support.  I would like to see range for added to the list of acceptable C++11 features to use.

-Bryan



> On Jun 16, 2016, at 10:53 AM, Leif Hedstrom <zw...@apache.org> wrote:
> 
> Hi,
> 
> [Tldr; We bump the minimum supported version to CentOS7/RHEL7, or, CentOS6/RHEL6 + devtools-2 compilers.]
> 
> 
> Today, our minimum run- and build-time requirements are based on a simple criteria: Whatever comes with CentOS / RHEL v6.x. This dictates:
> 
> 	* openssl-1.0.1e
> 	* gcc-4.4.7
> 	* glibc-2.12
> 	* pcre-7.8
> 	* tcl-8.5.7
> 	* expat-2.0.1
> 
> Needed when building from source (or making a distro tar-ball):
> 	* autoconf-2.63
> 	* automake-1.11.1
> 	* libtool-2.2.6
> 
> Optional (but recommended):
> 	* libcap-2.16
> 	* hwloc-1.5
> 	* libunwind-1.1
> 
> 
> My suggestion is that we bump the tool-chain versions for the required packages to what is provided by CentOS7, which can be installed using e.g. http://people.centos.org/tru/devtools-2/6/ <http://people.centos.org/tru/devtools-2/6/> .This would bump those required versions to:
> 
> 	* openssl-1.0.1e (same)
> 	* gcc-4.8.5 (devtools-2 only has 4.8.1, but that’s probably ok?)
> 	* pcre-8.32
> 	* tcl-8.5.13
> 	* expat-2.1.0
> 
> 
> I suggest we keep the requirement on glibc at v2.12, since that’s a real PITA to upgrade safely. Odds are that the only thing that matters here is the GCC version, which is also why we’d want to do this. gcc v4.8 or later would give us almost all C++11 features available:
> 
> 	https://gcc.gnu.org/gcc-4.8/cxx0x_status.html <https://gcc.gnu.org/gcc-4.8/cxx0x_status.html>
> 
> But, this is not a reason to go nuts and use every damn C++11 and STL feature there is, our normal development rules till applies! Keep it simple so I can still understand at least some of the code … Sorry Brian! :)
> 
> 
> Tldr; We bump the minimum supported version to either CentOS7/RHEL7, or, CentOS6/RHEL6 + devtools-2 compilers.
> 
> Thoughts?
> 
> — leif
>