Skip to content
This repository was archived by the owner on Mar 20, 2023. It is now read-only.
This repository was archived by the owner on Mar 20, 2023. It is now read-only.

CMake should check for minimum GCC version requirement for C++14 support #228

Closed

Description

@pramodk

CoreNEURON currently requires compiler with C++14 support. We have following in top level CMake:

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

This make sure to add C++14 flags (e.g. -std=c++1y) but this is not sufficient for C++14 and result into following error:

[  6%] Building CXX object external/coreneuron/coreneuron/CMakeFiles/coreneuron.dir/nrniv/cvodestb.cpp.o
In file included from /home/ext_salvadordura_gmail_com/nrn/external/coreneuron/coreneuron/nrniv/cvodestb.cpp:29:0:
/home/ext_salvadordura_gmail_com/nrn/external/coreneuron/coreneuron/coreneuron.hpp:77:7: internal compiler error: in gen_type_die_with_usage, at dwarf2out.c:19525
 class CoreNeuron {
       ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.
Preprocessed source stored into /tmp/ccqWAT4G.out file, please attach this to your bugreport.
make[2]: *** [external/coreneuron/coreneuron/CMakeFiles/coreneuron.dir/nrniv/cvodestb.cpp.o] Error 1
make[1]: *** [external/coreneuron/coreneuron/CMakeFiles/coreneuron.dir/all] Error 2
make: *** [all] Error 2

See #219 (comment).

Activity

  1. added this to the NEURON v8.0 Release milestone on Jul 24, 2020
  2. pramodk commented on Nov 30, 2020

    @pramodk
    CollaboratorAuthor
  3. alkino commented on Nov 30, 2020

    @alkino
    Member

    We can ask for specific c++14 feature ;)

  4. olupton commented on Jun 29, 2021

    @olupton
    Contributor

    I think this is still live, but it should be as simple as checking for cxx_std_14 in ${CMAKE_CXX_COMPILE_FEATURES} and printing an error.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions