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

Make Error #20

Open
deep-programmer opened this issue Mar 19, 2018 · 2 comments
Open

Make Error #20

deep-programmer opened this issue Mar 19, 2018 · 2 comments

Comments

@deep-programmer
Copy link

In the make step, I am getting the following error output:

: -t ./src/wavefront/wavefront.l > src/wavefront/wavefront.c
: -t ./src/wavefront/mtl.l > src/wavefront/mtl.c
make  all-recursive
make[1]: Entering directory '/home/user/Repositories/amino'
make[2]: Entering directory '/home/user/Repositories/amino'
  CC       src/mem.lo
  CC       src/refcount.lo
  CC       src/la.lo
  CC       src/la2.lo
  CC       src/opt/opt.lo
  CC       src/tf.lo
  CC       src/tf/tfmatrix.lo
  CC       src/tf/quat.lo
  CC       src/tf/conv.lo
  CC       src/mac/euler_f2c.lo
  CC       src/rx/errstr.lo
  CXX      src/rx/scenegraph.lo
src/rx/scenegraph.cpp: In destructor ‘virtual amino::SceneFrame::~SceneFrame()’:
src/rx/scenegraph.cpp:70:33: warning: range-based ‘for’ loops only available with -std=c++11 or -std=gnu++11
     for( struct aa_rx_geom *g : geometry ) {
                                 ^
src/rx/scenegraph.cpp: In destructor ‘amino::SceneGraph::~SceneGraph()’:
src/rx/scenegraph.cpp:214:16: error: ISO C++ forbids declaration of ‘pair’ with no type [-fpermissive]
     for( auto &pair : frame_map ) delete pair.second;
                ^
src/rx/scenegraph.cpp:214:23: warning: range-based ‘for’ loops only available with -std=c++11 or -std=gnu++11
     for( auto &pair : frame_map ) delete pair.second;
                       ^
src/rx/scenegraph.cpp:214:47: error: request for member ‘second’ in ‘pair’, which is of non-class type ‘int’
     for( auto &pair : frame_map ) delete pair.second;
                                               ^
src/rx/scenegraph.cpp:217:16: error: ISO C++ forbids declaration of ‘pair’ with no type [-fpermissive]
     for( auto &pair : limits_map ) free(pair.second);
                ^
src/rx/scenegraph.cpp:217:23: warning: range-based ‘for’ loops only available with -std=c++11 or -std=gnu++11
     for( auto &pair : limits_map ) free(pair.second);
                       ^
src/rx/scenegraph.cpp:217:46: error: request for member ‘second’ in ‘pair’, which is of non-class type ‘int’
     for( auto &pair : limits_map ) free(pair.second);
                                              ^
src/rx/scenegraph.cpp: In member function ‘int amino::SceneGraph::index()’:
src/rx/scenegraph.cpp:242:15: error: ‘itr’ does not name a type
     for( auto itr = frame_map.begin(); itr != frame_map.end(); itr++ ) {
               ^
src/rx/scenegraph.cpp:242:40: error: expected ‘;’ before ‘itr’
     for( auto itr = frame_map.begin(); itr != frame_map.end(); itr++ ) {
                                        ^
src/rx/scenegraph.cpp:242:40: error: ‘itr’ was not declared in this scope
src/rx/scenegraph.cpp:254:15: error: ‘itr’ does not name a type
     for( auto itr = frame_map.begin(); itr != frame_map.end(); itr++ ) {
               ^
src/rx/scenegraph.cpp:254:40: error: expected ‘;’ before ‘itr’
     for( auto itr = frame_map.begin(); itr != frame_map.end(); itr++ ) {
                                        ^
src/rx/scenegraph.cpp:254:40: error: ‘itr’ was not declared in this scope
src/rx/scenegraph.cpp:271:19: error: ‘itr’ does not name a type
         for( auto itr = list.begin();
                   ^
src/rx/scenegraph.cpp:272:14: error: expected ‘;’ before ‘itr’
              itr != list.end();
              ^
src/rx/scenegraph.cpp:272:14: error: ‘itr’ was not declared in this scope
src/rx/scenegraph.cpp: In member function ‘void amino::SceneGraph::add(amino::SceneFrame*)’:
src/rx/scenegraph.cpp:316:10: error: ‘itr’ does not name a type
     auto itr = frame_map.find(f->name);
          ^
src/rx/scenegraph.cpp:317:28: error: ‘itr’ was not declared in this scope
     if( frame_map.end() != itr ) {
                            ^
Makefile:3039: recipe for target 'src/rx/scenegraph.lo' failed
make[2]: *** [src/rx/scenegraph.lo] Error 1
make[2]: Leaving directory '/home/user/Repositories/amino'
Makefile:3523: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/user/Repositories/amino'
Makefile:1861: recipe for target 'all' failed
make: *** [all] Error 2

It seems to be related to usage of pair variable.

I am building using GNU Make 4.1 on Ubuntu 16.04 64-bit. Please help me resolve this.

@ndantam
Copy link
Member

ndantam commented Mar 19, 2018 via email

@ndantam
Copy link
Member

ndantam commented May 15, 2018

Possibly related issue in #22: is the autoconf macro archive installed? (see INSTALL for commands/packages on Ubuntu). Without the autoconf macro archive, the build scripts can't check compiler flags to enable C++-11 support, which could produce the behavior you've observed.

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

No branches or pull requests

2 participants