octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A word about C++11 (my humble opinion)


From: Mike Miller
Subject: Re: A word about C++11 (my humble opinion)
Date: Wed, 22 Jun 2016 08:33:43 -0700
User-agent: Mutt/1.6.0 (2016-04-01)

On Wed, Jun 22, 2016 at 11:26:48 +0200, Julien Bect wrote:
> Just wanted to share my disappointment: I just realized that, because of the
> introduction of C++11 features, the "parallel" package cannot be installed
> on Ubuntu 12.04 LTS.

I can't speak for Olaf's decision on the parallel package, only for
Octave itself.

> The reason is that Ubuntu 12.04 LTS has gcc 4.6.3, which only has a limited
> support for C++11 features (and apparently not the ones needed by the
> parallel package, I have bypassed the configure check and can confirm than
> compilation indeed fails).

Correct, and thank you for confirming that GCC 4.6 doesn't cut it.

> I wouldn't call Ubuntu 12.04 LTS a *very* old release.  It is certainly old
> in some sense, but Ubuntu 12.04 LTS was release only four years ago, Ubuntu
> 12.04.5 two years ago, and this distribution hasn't reached its "end of
> life" date...

But it has been superseded by two LTS releases in the meantime. If one
is wary of upgrading to an LTS release in the first few months after its
release, 14.04 should be a viable “stable” release.

Just because it is not EOL does not mean users should expect all new
software to still work flawlessly with it. Being “supported” means that
you can still use it with the generation of software that it was
released with and still get security updates.

> I haven't tested, but the same can be said of Debian Wheezy (7.0), which was
> released in 2013 and will reach its LTS end of life in May 2018.  Wheezy has
> gcc 4.7, with a better but still incomplete support of C++11...

Correct, I would say the same thing about Debian 7. I still have a
Debian 7 server running that I haven't gotten around to updating, but I
wouldn't expect to be able to run the latest software on it, only to
keep it running as is with the software that was packaged for it.

> I have seen messages in the mailing list suggesting that more and more C++11
> feature are starting to be used in Octave itself...

Correct.

> Does anyone know what is currently the oldest version of gcc that can
> compile octave stable ? default ?

I believe that the default branch can be compiled with GCC 4.8 and
newer. I think that is a reasonable minimum version to aim for.

I think the stable (4.0.x) branch can still be compiled with GCC 4.1
(RHEL 5).

> Wouldn't it be a reasonable policy to refrain from using C++11 features that
> are unsupported in versions of gcc that are still "in production" ?

Yes, we may have different definitions of what “in production” means :)

I think it is a reasonable policy to require a GCC that is available on
“stable” versions of popular distributions at the time of the next
release. That includes Debian 8, Ubuntu 14.04, and RHEL/CentOS 7.

If someone wants to attempt to build Octave on a “barely hanging on”
version of a distribution, we can surely help them do that to some
extent. The first step would be installing/upgrading the system tools
and libraries to newer versions, including GCC, and probably OpenBLAS
and SuiteSparse as well.

Thanks for the feedback and discussion,

-- 
mike



reply via email to

[Prev in Thread] Current Thread [Next in Thread]