[Networkit] Using C++14 in NetworKit [was setup.py compiler detection cleanup]

Maximilian Vogel maximilian.vogel at student.kit.edu
Mon Nov 9 12:08:14 CET 2015

On 09.11.2015 11:43, Moritz v. Looz wrote:
> One reason would be that gcc 4.9 is not in the repositories for Ubuntu 
> 14.04, the current LTS version.
> Using the current Dev branch of NetworKit would require system 
> upgrades or manual installation of gcc for Elisabetta and me.
> Since we are probably not outliers in the user base, this would affect 
> many other users as well.
These are good arguments. I think it's too early for a "hard" 
requirement of a C++14 compiler.

> What about installing NetworKit with pip? Can pip automatically 
> download and install a newer gcc if it is not available?
I was about to mention PIP, too. PIP can download and install other 
build or runtime dependencies, but quite understandably GCC is not on 
PyPI, so this won't work. The only solution I can imagine is doing a 
test compilation with the c++14 flag and fall back to the c++11 flag if 
it doesn't work.

> Am 04.11.2015 um 22:34 schrieb Christian Staudt:
>> By the way: Are we ready for the “new” (almost a year old) C++14?
>> Today was the first time I wanted a feature from the C++14 standard: The [[deprecated]] attribute, which allows me to give outdated code a warning before I have to kill it.
Does this also get through to Python users? I guess the Python code has 
to be annotated as well.
>> Any reasons why we shouldn’t upgrade? Reasons please, not “But I like my GCC 4.6”. The evolution of C++ is already very slow and careful.
phipute's GCC is only at 4.8, so jupyterhub would be restricted to 
NetworKit 3.6 until a more recent GCC is installed.
I had to reset the flags manually. It then compiled without problems so 
it seems that this attribute is just ignored on older __GCC__ versions, 
which makes the above solution regarding PIP feasible.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ira.uni-karlsruhe.de/mailman/private/networkit/attachments/20151109/571c2463/attachment.html>

More information about the NetworKit mailing list