You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kudu.apache.org by Dan Burkert <da...@cloudera.com> on 2016/01/12 19:01:43 UTC

Moving Kudu to C++11

Hi all,

I've been working on a patch to Kudu to move us to C++11.  C++11 is a big
step forward, introducing features like move semantics and improved
standard libraries that should allow us to improve code cleanliness,
safety, performance, and reduce a fair amount of util code.

The patch is currently under review
<http://gerrit.cloudera.org:8080/#/c/1687/>.  The improvements and cleanup
that this enables will mostly come in follow-up commits.  What this means
for Kudu developers is that Kudu will require a C++11 capable system
compiler (GCC 4.8 or greater on Linux).  RHEL 6 will remain supported for
building from source via the Red Hat Developer Toolset
<https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3/html/3.0_Release_Notes/index.html>
as
a compile-time dependency (it can be installed through the Software
Collections
<https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/> project
on Centos).  The goal is to land the patch onto master in a matter of days.

The C++11 client (libkudu_client.so) will not require C++11 as a result of
this patch.  Moving the client to C++11 may be desirable, but we need to
study how it affects our downstream users and integrations before flipping
the switch.

If you have any concerns or questions let me know. I'm looking forward to
unlocking the future of the late aughts!

- Dan

Re: Moving Kudu to C++11

Posted by Dan Burkert <da...@cloudera.com>.
Hi all,

The C++11 commit just landed.  After you pull the latest changes, I
recommend that you completely remove all built-artifacts from the thirdparty
directory.  This is easiest done with the git clean -fdx thirdparty/ command.
The organization in thirdparty has changed and some of the dependencies
have been bumped, so a full rebuild is necessary anyway.

- Dan

On Tue, Jan 12, 2016 at 12:19 PM, Mike Percy <mp...@cloudera.com> wrote:

> This is great stuff Dan. The future is now!
>
> Mike
>
> On Tue, Jan 12, 2016 at 10:01 AM, Dan Burkert <da...@cloudera.com> wrote:
>
> > Hi all,
> >
> > I've been working on a patch to Kudu to move us to C++11.  C++11 is a big
> > step forward, introducing features like move semantics and improved
> > standard libraries that should allow us to improve code cleanliness,
> > safety, performance, and reduce a fair amount of util code.
> >
> > The patch is currently under review
> > <http://gerrit.cloudera.org:8080/#/c/1687/>.  The improvements and
> cleanup
> > that this enables will mostly come in follow-up commits.  What this means
> > for Kudu developers is that Kudu will require a C++11 capable system
> > compiler (GCC 4.8 or greater on Linux).  RHEL 6 will remain supported for
> > building from source via the Red Hat Developer Toolset
> > <
> >
> https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3/html/3.0_Release_Notes/index.html
> > >
> > as
> > a compile-time dependency (it can be installed through the Software
> > Collections
> > <https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/>
> project
> > on Centos).  The goal is to land the patch onto master in a matter of
> days.
> >
> > The C++11 client (libkudu_client.so) will not require C++11 as a result
> of
> > this patch.  Moving the client to C++11 may be desirable, but we need to
> > study how it affects our downstream users and integrations before
> flipping
> > the switch.
> >
> > If you have any concerns or questions let me know. I'm looking forward to
> > unlocking the future of the late aughts!
> >
> > - Dan
> >
>

Re: Moving Kudu to C++11

Posted by Mike Percy <mp...@cloudera.com>.
This is great stuff Dan. The future is now!

Mike

On Tue, Jan 12, 2016 at 10:01 AM, Dan Burkert <da...@cloudera.com> wrote:

> Hi all,
>
> I've been working on a patch to Kudu to move us to C++11.  C++11 is a big
> step forward, introducing features like move semantics and improved
> standard libraries that should allow us to improve code cleanliness,
> safety, performance, and reduce a fair amount of util code.
>
> The patch is currently under review
> <http://gerrit.cloudera.org:8080/#/c/1687/>.  The improvements and cleanup
> that this enables will mostly come in follow-up commits.  What this means
> for Kudu developers is that Kudu will require a C++11 capable system
> compiler (GCC 4.8 or greater on Linux).  RHEL 6 will remain supported for
> building from source via the Red Hat Developer Toolset
> <
> https://access.redhat.com/documentation/en-US/Red_Hat_Developer_Toolset/3/html/3.0_Release_Notes/index.html
> >
> as
> a compile-time dependency (it can be installed through the Software
> Collections
> <https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/> project
> on Centos).  The goal is to land the patch onto master in a matter of days.
>
> The C++11 client (libkudu_client.so) will not require C++11 as a result of
> this patch.  Moving the client to C++11 may be desirable, but we need to
> study how it affects our downstream users and integrations before flipping
> the switch.
>
> If you have any concerns or questions let me know. I'm looking forward to
> unlocking the future of the late aughts!
>
> - Dan
>