Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiling on linux #177

Closed
benfulcher opened this issue Dec 13, 2018 · 2 comments
Closed

Compiling on linux #177

benfulcher opened this issue Dec 13, 2018 · 2 comments
Assignees
Labels

Comments

@benfulcher
Copy link
Collaborator

headnode:~/nftsim > gcc --version
gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
headnode:~/nftsim > make
g++  -c src/firing_response.cpp -o obj/firing_response.o
In file included from /usr/include/c++/4.8.2/random:35:0,
                 from src/random.h:13,
                 from src/timeseries.h:15,
                 from src/population.h:23,
                 from src/coupling.h:19,
                 from src/firing_response.h:19,
                 from src/firing_response.cpp:15:
/usr/include/c++/4.8.2/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support for the \
  ^
In file included from src/firing_response.h:17:0,
                 from src/firing_response.cpp:15:
src/array.h:23:9: error: expected nested-name-specifier before ‘size_type’
   using size_type = typename std::vector<T>::size_type;
         ^
src/array.h:23:9: error: using-declaration for non-member at class scope
src/array.h:23:19: error: expected ‘;’ before ‘=’ token
   using size_type = typename std::vector<T>::size_type;
                   ^
src/array.h:23:19: error: expected unqualified-id before ‘=’ token
src/array.h:30:25: error: declaration of ‘operator[]’ as non-function
   inline T* operator[]( size_type index ) const; ///< accesses underlying vector's `operator[]`.
                         ^
src/array.h:30:22: error: expected ‘;’ at end of member declaration
   inline T* operator[]( size_type index ) const; ///< accesses underlying vector's `operator[]`.
                      ^
src/array.h:30:35: error: expected ‘)’ before ‘index’
   inline T* operator[]( size_type index ) const; ///< accesses underlying vector's `operator[]`.
                                   ^
src/array.h:31:3: error: ‘size_type’ does not name a type
   size_type size() const; ///< accesses underlying vector's `size()` member.
   ^
src/array.h: In member function ‘void Array<T>::add(std::vector<T*>)’:
src/array.h:44:8: error: ‘size_type’ was not declared in this scope
   for( size_type i=0; i<t.size(); i++ ) {
        ^
src/array.h:44:18: error: expected ‘;’ before ‘i’
   for( size_type i=0; i<t.size(); i++ ) {
                  ^
src/array.h:44:23: error: ‘i’ was not declared in this scope
   for( size_type i=0; i<t.size(); i++ ) {
                       ^
src/array.h: In member function ‘virtual void Array<T>::step()’:
src/array.h:56:8: error: ‘size_type’ was not declared in this scope
   for( size_type i=0; i<m.size(); i++ ) {
        ^
src/array.h:56:18: error: expected ‘;’ before ‘i’
   for( size_type i=0; i<m.size(); i++ ) {
                  ^
src/array.h:56:23: error: ‘i’ was not declared in this scope
   for( size_type i=0; i<m.size(); i++ ) {
                       ^
src/array.h: In member function ‘virtual void Array<T>::pstep()’:
src/array.h:66:8: error: ‘size_type’ was not declared in this scope
   for( size_type i=0; i<m.size(); i++ ) {
        ^
src/array.h:66:18: error: expected ‘;’ before ‘i’
   for( size_type i=0; i<m.size(); i++ ) {
                  ^
src/array.h:66:23: error: ‘i’ was not declared in this scope
   for( size_type i=0; i<m.size(); i++ ) {
                       ^
src/array.h: At global scope:
src/array.h:72:21: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
 Array<T>::Array() = default;
                     ^
src/array.h: In destructor ‘virtual Array<T>::~Array()’:
src/array.h:76:8: error: ‘size_type’ was not declared in this scope
   for( size_type i=0; i<m.size(); i++ ) {
        ^
src/array.h:76:18: error: expected ‘;’ before ‘i’
   for( size_type i=0; i<m.size(); i++ ) {
                  ^
src/array.h:76:23: error: ‘i’ was not declared in this scope
   for( size_type i=0; i<m.size(); i++ ) {
                       ^
src/array.h: At global scope:
src/array.h:84:26: error: declaration of ‘operator[]’ as non-function
 T* Array<T>::operator[]( size_type index ) const {
                          ^
src/array.h:84:26: error: ‘size_type’ was not declared in this scope
src/array.h:89:47: error: no ‘typename Array<T>::size_type Array<T>::size() const’ member function declared in class ‘Array<T>’
 typename Array<T>::size_type Array<T>::size() const {
                                               ^
In file included from src/firing_response.h:18:0,
                 from src/firing_response.cpp:15:
src/configf.h:24:29: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Configf(const Configf&) = delete;  ///< No copy constructor allowed.
                             ^
src/configf.h:25:15: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Configf() = delete;                ///< No default constructor allowed.
               ^
src/configf.h:26:40: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Configf& operator=(const Configf&) = delete; ///< No copy assignment operator allowed.
                                        ^
src/configf.h:30:12: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   ~Configf() override;
            ^
src/configf.h: In member function ‘void Configf::param(const string&, T&, int)’:
src/configf.h:74:12: error: ‘EXIT_FAILURE’ was not declared in this scope
       exit(EXIT_FAILURE);
            ^
src/configf.h:74:24: error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available [-fpermissive]
       exit(EXIT_FAILURE);
                        ^
src/configf.h:74:24: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
src/configf.h:86:10: error: ‘EXIT_FAILURE’ was not declared in this scope
     exit(EXIT_FAILURE);
          ^
src/configf.h:86:22: error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available [-fpermissive]
     exit(EXIT_FAILURE);
                      ^
src/configf.h: In member function ‘void Configf::param(const string&, T&, int) [with T = std::basic_string<char>; std::string = std::basic_string<char>]’:
src/configf.h:97:12: error: ‘EXIT_FAILURE’ was not declared in this scope
       exit(EXIT_FAILURE);
            ^
src/configf.h:97:24: error: ‘exit’ was not declared in this scope
       exit(EXIT_FAILURE);
                        ^
src/configf.h:101:10: error: ‘EXIT_FAILURE’ was not declared in this scope
     exit(EXIT_FAILURE);
          ^
src/configf.h:101:22: error: ‘exit’ was not declared in this scope
     exit(EXIT_FAILURE);
                      ^
src/configf.h: In member function ‘bool Configf::optional(const string&, T&, int)’:
src/configf.h:111:12: error: ‘EXIT_FAILURE’ was not declared in this scope
       exit(EXIT_FAILURE);
            ^
src/configf.h:111:24: error: there are no arguments to ‘exit’ that depend on a template parameter, so a declaration of ‘exit’ must be available [-fpermissive]
       exit(EXIT_FAILURE);
                        ^
In file included from src/coupling.h:17:0,
                 from src/firing_response.h:19,
                 from src/firing_response.cpp:15:
src/nf.h: At global scope:
src/nf.h:24:9: error: expected nested-name-specifier before ‘size_type’
   using size_type = std::vector<double>::size_type;
         ^
src/nf.h:24:9: error: using-declaration for non-member at class scope
src/nf.h:24:19: error: expected ‘;’ before ‘=’ token
   using size_type = std::vector<double>::size_type;
                   ^
src/nf.h:24:19: error: expected unqualified-id before ‘=’ token
src/nf.h:28:17: error: expected ‘)’ before ‘nodes’
   NF( size_type nodes, double deltat, size_type index );
                 ^
src/nf.h:29:3: error: ‘size_type’ does not name a type
   size_type nodes;  ///< number of nodes in simulation
   ^
src/nf.h:31:3: error: ‘size_type’ does not name a type
   size_type index;  ///< object index within the population/connection model
   ^
src/nf.h:33:10: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   NF() = delete;  ///< No default constructor allowed.
          ^
In file included from src/population.h:20:0,
                 from src/coupling.h:19,
                 from src/firing_response.h:19,
                 from src/firing_response.cpp:15:
src/tau.h:24:3: error: ‘size_type’ does not name a type
   size_type max; ///< if tau is inhomogeneous, == biggest element
   ^
src/tau.h:25:15: error: ‘size_type’ was not declared in this scope
   std::vector<size_type> m; ///< tau values across nodes, size()==1 if homogeneous
               ^
src/tau.h:25:24: error: template argument 1 is invalid
   std::vector<size_type> m; ///< tau values across nodes, size()==1 if homogeneous
                        ^
src/tau.h:25:24: error: template argument 2 is invalid
src/tau.h:27:31: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void init( Configf& configf ) override;
                               ^
src/tau.h:29:21: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Tau(const Tau&) = delete;  // No copy constructor allowed.
                     ^
src/tau.h:31:18: error: expected ‘)’ before ‘nodes’
   Tau( size_type nodes, double deltat, size_type index );
                  ^
src/tau.h:32:8: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   ~Tau() override;
        ^
src/tau.h:33:13: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void step() override;
             ^
In file included from src/population.h:21:0,
                 from src/coupling.h:19,
                 from src/firing_response.h:19,
                 from src/firing_response.cpp:15:
src/propagator.h:29:31: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void init( Configf& configf ) override;
                               ^
src/propagator.h:36:3: error: ‘size_type’ does not name a type
   size_type longside;
   ^
src/propagator.h:40:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
   double range = 0.0;     ///< Characteristic axonal range
                  ^
src/propagator.h:41:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
   double velocity = 0.0;  ///< Mean axonal conduction Speed
                     ^
src/propagator.h:42:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
   double gamma = 0.0;     ///< Damping coefficient
                  ^
src/propagator.h:45:18: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Propagator() = delete;                  // No default constructor allowed.
                  ^
src/propagator.h:46:35: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Propagator(const Propagator&) = delete; // No copy constructor allowed.
                                   ^
src/propagator.h:48:25: error: expected ‘)’ before ‘nodes’
   Propagator( size_type nodes, double deltat, size_type index, Population& prepop,
                         ^
src/propagator.h:50:15: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   ~Propagator() override;
               ^
src/propagator.h:51:13: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void step() override;
             ^
src/propagator.h:54:29: error: ‘size_type’ has not been declared
   inline double operator[]( size_type node ) const;
                             ^
src/propagator.h:55:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void output( Output& output ) const override;
                                 ^
src/propagator.h:58:32: error: declaration of ‘operator[]’ as non-function
 double Propagator::operator[]( size_type node ) const {
                                ^
src/propagator.h:58:32: error: ‘size_type’ was not declared in this scope
In file included from src/timeseries.h:15:0,
                 from src/population.h:23,
                 from src/coupling.h:19,
                 from src/firing_response.h:19,
                 from src/firing_response.cpp:15:
src/random.h:16:10: error: ‘uint_fast64_t’ does not name a type
   static uint_fast64_t id; // Auto-increment the ID of each Random instance to use as the default seed
          ^
src/random.h:18:3: error: ‘mt19937_64’ in namespace ‘std’ does not name a type
   std::mt19937_64 gen; ///< Generator
   ^
src/random.h:19:3: error: ‘normal_distribution’ in namespace ‘std’ does not name a type
   std::normal_distribution<double> dist; ///< Distribution
   ^
src/random.h:22:27: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Random(const Random&) = delete; // No copy constructor allowed.
                           ^
src/random.h:25:33: error: expected ‘)’ before ‘seed’
   explicit Random(uint_fast64_t seed, double mean = 0.0, double std = 1.0);
                                 ^
src/random.h:26:13: error: ‘uint_fast64_t’ has not been declared
   void init(uint_fast64_t seed, double mean, double std);
             ^
In file included from src/population.h:23:0,
                 from src/coupling.h:19,
                 from src/firing_response.h:19,
                 from src/firing_response.cpp:15:
src/timeseries.h:23:9: error: expected nested-name-specifier before ‘series_size_type’
   using series_size_type = std::vector<double>::size_type;
         ^
src/timeseries.h:23:9: error: using-declaration for non-member at class scope
src/timeseries.h:23:26: error: expected ‘;’ before ‘=’ token
   using series_size_type = std::vector<double>::size_type;
                          ^
src/timeseries.h:23:26: error: expected unqualified-id before ‘=’ token
src/timeseries.h:24:31: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void init( Configf& configf ) override;
                               ^
src/timeseries.h:27:15: error: ‘size_type’ was not declared in this scope
   std::vector<size_type> node;
               ^
src/timeseries.h:27:24: error: template argument 1 is invalid
   std::vector<size_type> node;
                        ^
src/timeseries.h:27:24: error: template argument 2 is invalid
src/timeseries.h:28:54: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
   double inf = std::numeric_limits<double>::infinity(); ///< Infinity
                                                      ^
src/timeseries.h:29:14: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
   double t = 0.0;     ///< Current time relative to stimulus onset.
              ^
src/timeseries.h:30:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
   double onset = 0.0; ///< Onset time for the stimulus.
                  ^
src/timeseries.h:31:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
   double duration = inf; ///< Duration of the stimulus.
                     ^
src/timeseries.h:33:35: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Timeseries(const Timeseries&) = delete; // No copy constructor allowed.
                                   ^
src/timeseries.h:34:18: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Timeseries() = delete;                  // No default constructor allowed.
                  ^
src/timeseries.h:36:25: error: expected ‘)’ before ‘nodes’
   Timeseries( size_type nodes, double deltat, size_type index );
                         ^
src/timeseries.h:37:15: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   ~Timeseries() override;
               ^
src/timeseries.h:38:13: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void step() override;
             ^
src/timeseries.h:45:19: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double mean = 0.0; ///<
                   ^
src/timeseries.h:46:21: error: expected ‘)’ before ‘nodes’
     Const(size_type nodes, double deltat, size_type index) : Timeseries(nodes, deltat, index) {}
                     ^
src/timeseries.h:47:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void init( Configf& configf ) override;
                                 ^
src/timeseries.h:48:41: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void fire( std::vector<double>& Q ) const override;
                                         ^
src/timeseries.h:52:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double amp = 0.0;    ///< Amplitude of the pulse.
                  ^
src/timeseries.h:53:20: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double width = 0.0;  ///< Width of the pulse [s].
                    ^
src/timeseries.h:54:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double period = 0.0; ///< Time between the start of each pulse [s].
                     ^
src/timeseries.h:55:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double pulses = 0.0; ///< Maximum number of pulses.
                     ^
src/timeseries.h:56:25: error: expected ‘)’ before ‘nodes’
     PulseRect(size_type nodes, double deltat, size_type index) : Timeseries(nodes, deltat, index) {}
                         ^
src/timeseries.h:57:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void init( Configf& configf ) override;
                                 ^
src/timeseries.h:58:41: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void fire( std::vector<double>& Q ) const override;
                                         ^
src/timeseries.h:62:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double amp = 0.0;    ///< Amplitude of the pulse.
                  ^
src/timeseries.h:63:20: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double width = 0.0;  ///< Width of the pulse [s], wavelength of sine.
                    ^
src/timeseries.h:64:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double period = 0.0; ///< Time between the start of each pulse [s].
                     ^
src/timeseries.h:65:20: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double phase = 0.0;  ///< Phase of the sine wave in [degrees].
                    ^
src/timeseries.h:66:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double pulses = 0.0; ///< Maximum number of pulses.
                     ^
src/timeseries.h:67:25: error: expected ‘)’ before ‘nodes’
     PulseSine(size_type nodes, double deltat, size_type index) : Timeseries(nodes, deltat, index) {}
                         ^
src/timeseries.h:68:16: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     ~PulseSine() override = default;
                ^
src/timeseries.h:68:29: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
     ~PulseSine() override = default;
                             ^
src/timeseries.h:69:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void init( Configf& configf ) override;
                                 ^
src/timeseries.h:70:41: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void fire( std::vector<double>& Q ) const override;
                                         ^
src/timeseries.h:74:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double amp = 0.0;    ///< Amplitude of the pulse.
                  ^
src/timeseries.h:75:20: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double width = 0.0;  ///< Width of the pulse [s].
                    ^
src/timeseries.h:76:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double period = 0.0; ///< Time between the start of each pulse [s].
                     ^
src/timeseries.h:77:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double pulses = 0.0; ///< Maximum number of pulses.
                     ^
src/timeseries.h:78:20: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double sigma = 0.03125; ///< Width of transition.
                    ^
src/timeseries.h:79:28: error: expected ‘)’ before ‘nodes’
     PulseSigmoid(size_type nodes, double deltat, size_type index) : Timeseries(nodes, deltat, index) {}
                            ^
src/timeseries.h:80:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void init( Configf& configf ) override;
                                 ^
src/timeseries.h:81:41: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void fire( std::vector<double>& Q ) const override;
                                         ^
src/timeseries.h:83:30: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double first_pulse_mid = 0.0; ///< Mid-point of the first pulse.
                              ^
src/timeseries.h:84:12: error: ‘constexpr’ does not name a type
     static constexpr double pi_on_sqrt3 = 1.813799364234217836866491779801435768604278564; //M_PI / std::sqrt(3.0);
            ^
src/timeseries.h:84:12: note: C++11 ‘constexpr’ only available with -std=c++11 or -std=gnu++11
src/timeseries.h:85:5: error: ‘size_type’ does not name a type
     size_type pulse_count = 0; ///< Number of pulses, min of pulses and number of pulses that fit in duration.
     ^
src/timeseries.h:89:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double amp = 0.0;   ///< Amplitude of the sine wave.
                  ^
src/timeseries.h:90:19: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double freq = 0.0;  ///< Frequency of the sine wave [s^-1].
                   ^
src/timeseries.h:91:20: error: expected ‘)’ before ‘nodes’
     Sine(size_type nodes, double deltat, size_type index) : Timeseries(nodes, deltat, index) {}
                    ^
src/timeseries.h:92:11: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     ~Sine() override = default;
           ^
src/timeseries.h:92:24: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
     ~Sine() override = default;
                        ^
src/timeseries.h:93:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void init( Configf& configf ) override;
                                 ^
src/timeseries.h:94:41: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void fire( std::vector<double>& Q ) const override;
                                         ^
src/timeseries.h:98:5: error: ‘uint_fast64_t’ does not name a type
     uint_fast64_t seed = 0; ///<
     ^
src/timeseries.h:99:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double stddev = 0.0;    ///<
                     ^
src/timeseries.h:100:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double asd = 0.0;       ///< Amplitude spectral density.
                  ^
src/timeseries.h:101:19: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double mean = 0.0;      ///<
                   ^
src/timeseries.h:102:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double deltax = 0.0;    ///<
                     ^
src/timeseries.h:104:21: error: expected ‘)’ before ‘nodes’
     White(size_type nodes, double deltat, size_type index) : Timeseries(nodes, deltat, index) {}
                     ^
src/timeseries.h:105:12: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     ~White() override {
            ^
src/timeseries.h:108:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void init( Configf& configf ) override;
                                 ^
src/timeseries.h:109:41: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void fire( std::vector<double>& Q ) const override;
                                         ^
src/timeseries.h:113:5: error: ‘uint_fast64_t’ does not name a type
     uint_fast64_t seed = 0; ///<
     ^
src/timeseries.h:114:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double stddev = 0.0;      ///<
                     ^
src/timeseries.h:115:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double asd    = 0.0;      ///< Amplitude spectral density.
                     ^
src/timeseries.h:116:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double mean   = 0.0;      ///<
                     ^
src/timeseries.h:118:29: error: expected ‘)’ before ‘nodes’
     WhiteCoherent(size_type nodes, double deltat, size_type index) : Timeseries(nodes, deltat, index) {}
                             ^
src/timeseries.h:119:20: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     ~WhiteCoherent() override {
                    ^
src/timeseries.h:122:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void init( Configf& configf ) override;
                                 ^
src/timeseries.h:123:41: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void fire( std::vector<double>& Q ) const override;
                                         ^
src/timeseries.h:127:19: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double n20w = 0.0;  ///< Width of the negative amplitude response at around 20 ms.
                   ^
src/timeseries.h:128:19: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double n20h = 0.0;  ///< Height of the negative amplitude response at around 20 ms.
                   ^
src/timeseries.h:129:19: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double p25w = 0.0;  ///< Width of the positive amplitude response at around 25 ms.
                   ^
src/timeseries.h:130:19: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double p25h = 0.0;  ///< Height of the positive amplitude response at around 25 ms.
                   ^
src/timeseries.h:131:19: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double tmsw = 0.0;  ///< Width of the Transcranial Magnetic Stimulation(TMS).
                   ^
src/timeseries.h:132:19: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double tmsh = 0.0;  ///< Height of the Transcranial Magnetic Stimulation(TMS).
                   ^
src/timeseries.h:133:20: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double t_mns = 0.0; ///<
                    ^
src/timeseries.h:134:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double isi = 0.0;   ///< Inter-Stimulus-Interval.
                  ^
src/timeseries.h:135:19: error: expected ‘)’ before ‘nodes’
     PAS(size_type nodes, double deltat, size_type index) : Timeseries(nodes, deltat, index) {}
                   ^
src/timeseries.h:136:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void init( Configf& configf ) override;
                                 ^
src/timeseries.h:137:41: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void fire( std::vector<double>& Q ) const override;
                                         ^
src/timeseries.h:141:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double amp = 0.0;    ///<
                  ^
src/timeseries.h:142:20: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double width = 0.0;  ///<
                    ^
src/timeseries.h:143:21: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double bursts = 0.0; ///<
                     ^
src/timeseries.h:144:19: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double freq = 0.0;   ///<
                   ^
src/timeseries.h:145:31: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double oscillation_freq = 0.0; ///<
                               ^
src/timeseries.h:146:17: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double on = 0.0;    ///<
                 ^
src/timeseries.h:147:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double off = 0.0;   ///<
                  ^
src/timeseries.h:148:20: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
     double total = 0.0; ///<
                    ^
src/timeseries.h:149:21: error: expected ‘)’ before ‘nodes’
     Burst(size_type nodes, double deltat, size_type index) : Timeseries(nodes, deltat, index) {}
                     ^
src/timeseries.h:150:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void init( Configf& configf ) override;
                                 ^
src/timeseries.h:151:41: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
     void fire( std::vector<double>& Q ) const override;
                                         ^
In file included from src/coupling.h:19:0,
                 from src/firing_response.h:19,
                 from src/firing_response.cpp:15:
src/population.h:36:19: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
   double length = 0.0; ///< spatial length
                   ^
src/population.h:37:18: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
   double qinit = 0.0;  ///< initial firing rate
                  ^
src/population.h:39:31: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void init( Configf& configf ) override;
                               ^
src/population.h:42:18: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Population() = delete;                   // No default constructor allowed.
                  ^
src/population.h:43:36: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Population(const Population& ) = delete; // No copy constructor allowed.
                                    ^
src/population.h:45:25: error: expected ‘)’ before ‘nodes’
   Population( size_type nodes, double deltat, size_type index );
                         ^
src/population.h:46:15: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   ~Population() override;
               ^
src/population.h:47:13: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void step() override;
             ^
src/population.h:51:29: error: ‘size_type’ has not been declared
   inline double operator[]( size_type node ) const;
                             ^
src/population.h:56:30: error: ‘size_type’ has not been declared
   virtual void add2Dendrite( size_type index, const Propagator& prepropag,
                              ^
src/population.h:59:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void output( Output& output ) const override;
                                 ^
src/population.h:60:32: error: ‘size_type’ has not been declared
   virtual void outputDendrite( size_type index, Output& output ) const;
                                ^
In file included from src/firing_response.h:19:0,
                 from src/firing_response.cpp:15:
src/coupling.h:27:31: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void init( Configf& configf ) override;
                               ^
src/coupling.h:35:13: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]
   int pos = 0;
             ^
src/coupling.h:37:16: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Coupling() = delete;                ///< No default constructor allowed.
                ^
src/coupling.h:38:31: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   Coupling(const Coupling&) = delete; ///< No copy constructor allowed.
                               ^
src/coupling.h:40:23: error: expected ‘)’ before ‘nodes’
   Coupling( size_type nodes, double deltat, size_type index,
                       ^
src/coupling.h:42:13: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   ~Coupling() override;
             ^
src/coupling.h:43:13: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void step() override;
             ^
src/coupling.h:45:33: warning: override controls (override/final) only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void output( Output& output ) const override;
                                 ^
src/coupling.h:47:29: error: ‘size_type’ has not been declared
   inline double operator[]( size_type node ) const;
                             ^
src/coupling.h:51:30: error: declaration of ‘operator[]’ as non-function
 double Coupling::operator[]( size_type node ) const {
                              ^
src/coupling.h:51:30: error: ‘size_type’ was not declared in this scope
In file included from src/dendrite.h:19:0,
                 from src/firing_response.h:20,
                 from src/firing_response.cpp:15:
src/de.h:18:7: error: expected nested-name-specifier before ‘vvd_size_type’
 using vvd_size_type = std::vector<std::vector<double>>::size_type;
       ^
src/de.h:18:7: error: ‘vvd_size_type’ has not been declared
src/de.h:18:21: error: expected ‘;’ before ‘=’ token
 using vvd_size_type = std::vector<std::vector<double>>::size_type;
                     ^
src/de.h:18:21: error: expected unqualified-id before ‘=’ token
src/de.h:24:16: error: ‘vvd_size_type’ has not been declared
   void extend( vvd_size_type extension ) {
                ^
src/de.h:32:10: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   DE() = delete;          ///< No default constructor allowed.
          ^
src/de.h:33:19: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   DE(const DE&) = delete; ///< No copy constructor allowed.
                   ^
src/de.h:34:31: warning: defaulted and deleted functions only available with -std=c++11 or -std=gnu++11 [enabled by default]
   void operator=(const DE&) = delete; ///< No copy assignment allowed.
                               ^
src/de.h:36:3: error: ‘vvd_size_type’ does not name a type
   vvd_size_type nodes; ///< number of nodes in the system.
   ^
src/de.h:38:3: error: ‘vvd_size_type’ does not name a type
   vvd_size_type ndim;  ///< dimension of system == y.size()
   ^
src/de.h:41:21: error: expected ‘)’ before ‘nodes’
   DE( vvd_size_type nodes, double deltat, vvd_size_type ndim )
                     ^
src/firing_response.cpp:125:1: error: expected ‘}’ at end of input
 }
 ^
In file included from src/dendrite.h:19:0,
                 from src/firing_response.h:20,
                 from src/firing_response.cpp:15:
src/de.h: In member function ‘void DE::extend(int)’:
src/de.h:25:5: error: ‘ndim’ was not declared in this scope
     ndim += extension;
     ^
src/de.h:27:10: error: ‘vvd_size_type’ was not declared in this scope
     for( vvd_size_type i=0; i<ndim; i++ ) {
          ^
src/de.h:27:24: error: expected ‘;’ before ‘i’
     for( vvd_size_type i=0; i<ndim; i++ ) {
                        ^
src/de.h:27:29: error: ‘i’ was not declared in this scope
     for( vvd_size_type i=0; i<ndim; i++ ) {
                             ^
src/de.h:28:27: error: ‘nodes’ was not declared in this scope
       variables[i].resize(nodes,0);
                           ^
src/de.h: At global scope:
src/de.h:30:3: error: expected unqualified-id at end of input
   }
   ^
make: *** [obj/firing_response.o] Error 1
@pausz pausz self-assigned this Dec 15, 2018
@pausz pausz added the bug label Dec 15, 2018
@pausz
Copy link
Contributor

pausz commented Dec 15, 2018

Hi Ben,

You should try using the Makefile in the repository as it has all the appropriate flags to compile the code on Linux distributions.

The following line in the error message:

/usr/include/c++/4.8.2/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.

means that the compiler does not know it has to use features of the C++11 standard.

From gcc 5.1.0 onward, the default standard changed from C90 to C11, thus a compiler like gcc 7.2.0 (on Artemis) would not produce errors. However for gcc 4.8.5, you need to explicitly pass the flag -std=c++11 as we do in line 33 in the Makefile.

Btw, I successfully compiled the code with gcc 4.8.5 on headnode using nftsim's makefile.

@pausz pausz closed this as completed Dec 15, 2018
@benfulcher
Copy link
Collaborator Author

@pausz You're completely right! When I changed the flags to those in the makefile it worked no problem. I was assuming pull upstream was giving me the latest, but it's keeping the changes in my fork, which are messing things up on this particular cluster. Sorry to be annoying :( Thanks so much for your detailed help 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants