Open deep-programmer opened 6 years ago
What compiler / version are you using? Looks like C++11 support is not being enabled. Check the config.log to see what happened.
The library builds on a clean install of Ubuntu Xenial in the integration tests. If you have different versions of compilers or libraries, that could cause an issue.
-ntd
On 03/19/2018 02:40 AM, deep-programmer wrote:
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.
-- Neil T. Dantam, Ph.D. Assistant Professor Department of Computer Science Colorado School of Mines http://www.mines.edu/~ndantam
Possibly related issue in https://github.com/golems/amino/issues/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.
In the
make
step, I am getting the following error output: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.