[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: library renaming due to changed libstdc++ configuration



Matthias Klose <doko@cs.tu-berlin.de> writes:
> The proposal by upstream is to configure libstdc++ to use the new
> allocator again (the default one).

I've noticed that with recent updates, I'm suddenly getting tons of
undefined function errors resulting from STL-related template
instantiation.  [I've attached an example at the end of this message.]

I use the g++ `-frepo' option, which I _thought_ was supposed to
basically take the pain away from template usage; until recently, it has
worked very well, but now it's failing; the same thing seems to happen
with g++ 4.0.3 and gcc 4.1 (both from Debian unstable), with compilation
options like:

   g++ -c -O5 -fomit-frame-pointer -g -Wall -march=pentium4 -mfpmath=sse -msse2   -frepo -MMD -MF .tessel.d tessel.cc

(I use no special options for linking, just "g++ -o foo")

I'm no expert at using C++ templates, so perhaps it's my error.  Any ideas?

Thanks,

-Miles


Here's an example error log:

material.o: In function `std::_List_base<Snogray::Phong const*, std::allocator<Snogray::Phong const*> >::_M_get_node()':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:313: undefined reference to `__gnu_cxx::__mt_alloc<std::_List_node<Snogray::Phong const*>, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned int, void const*)'
material.o: In function `~_List_base':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:333: undefined reference to `std::_List_base<Snogray::Phong const*, std::allocator<Snogray::Phong const*> >::_M_clear()'
mesh.o: In function `Snogray::Mesh::add_triangle(unsigned int, unsigned int, unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:610: undefined reference to `std::vector<Snogray::Mesh::Triangle, std::allocator<Snogray::Mesh::Triangle> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Snogray::Mesh::Triangle*, std::vector<Snogray::Mesh::Triangle, std::allocator<Snogray::Mesh::Triangle> > >, Snogray::Mesh::Triangle const&)'
mesh.o: In function `std::_Vector_base<Snogray::Mesh::Triangle, std::allocator<Snogray::Mesh::Triangle> >::_M_deallocate(Snogray::Mesh::Triangle*, unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Mesh::Triangle*, unsigned int)'
mesh.o: In function `~vector':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Mesh::Triangle*, unsigned int)'
mesh.o: In function `std::_Vector_base<Snogray::Mesh::Triangle, std::allocator<Snogray::Mesh::Triangle> >::_M_allocate(unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:117: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned int, void const*)'
mesh.o: In function `std::_Vector_base<Snogray::Mesh::Triangle, std::allocator<Snogray::Mesh::Triangle> >::_M_deallocate(Snogray::Mesh::Triangle*, unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Mesh::Triangle*, unsigned int)'
mesh.o: In function `std::_Vector_base<Snogray::Mesh::Triangle, std::allocator<Snogray::Mesh::Triangle> >::_M_allocate(unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:117: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned int, void const*)'
mesh.o: In function `vector':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:203: undefined reference to `void std::__uninitialized_fill_n_a<Snogray::Mesh::Triangle*, unsigned int, Snogray::Mesh::Triangle, Snogray::Mesh::Triangle>(Snogray::Mesh::Triangle*, unsigned int, Snogray::Mesh::Triangle const&, std::allocator<Snogray::Mesh::Triangle>)'
mesh.o: In function `std::_Vector_base<Snogray::Mesh::Triangle, std::allocator<Snogray::Mesh::Triangle> >::_M_deallocate(Snogray::Mesh::Triangle*, unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Mesh::Triangle*, unsigned int)'
mesh.o: In function `std::vector<Snogray::Vec, std::allocator<Snogray::Vec> >::assign(unsigned int, Snogray::Vec const&)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:300: undefined reference to `std::vector<Snogray::Vec, std::allocator<Snogray::Vec> >::_M_fill_assign(unsigned int, Snogray::Vec const&)'
mesh.o: In function `std::vector<Snogray::Vec, std::allocator<Snogray::Vec> >::insert(__gnu_cxx::__normal_iterator<Snogray::Vec*, std::vector<Snogray::Vec, std::allocator<Snogray::Vec> > >, unsigned int, Snogray::Vec const&)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:658: undefined reference to `std::vector<Snogray::Vec, std::allocator<Snogray::Vec> >::_M_fill_insert(__gnu_cxx::__normal_iterator<Snogray::Vec*, std::vector<Snogray::Vec, std::allocator<Snogray::Vec> > >, unsigned int, Snogray::Vec const&)'
mesh.o: In function `Snogray::Mesh::add_vertex(Snogray::Pos const&, Snogray::Vec const&)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:425: undefined reference to `std::vector<Snogray::Vec, std::allocator<Snogray::Vec> >::erase(__gnu_cxx::__normal_iterator<Snogray::Vec*, std::vector<Snogray::Vec, std::allocator<Snogray::Vec> > >, __gnu_cxx::__normal_iterator<Snogray::Vec*, std::vector<Snogray::Vec, std::allocator<Snogray::Vec> > >)'
mesh.o: In function `std::map<std::pair<Snogray::Pos, Snogray::Vec>, unsigned int, std::less<std::pair<Snogray::Pos, Snogray::Vec> >, std::allocator<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> > >::find(std::pair<Snogray::Pos, Snogray::Vec> const&)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_map.h:498: undefined reference to `std::_Rb_tree<std::pair<Snogray::Pos, Snogray::Vec>, std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int>, std::_Select1st<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> >, std::less<std::pair<Snogray::Pos, Snogray::Vec> >, std::allocator<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> > >::find(std::pair<Snogray::Pos, Snogray::Vec> const&)'
mesh.o: In function `std::map<std::pair<Snogray::Pos, Snogray::Vec>, unsigned int, std::less<std::pair<Snogray::Pos, Snogray::Vec> >, std::allocator<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> > >::insert(std::_Rb_tree_iterator<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> >, std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> const&)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_map.h:384: undefined reference to `std::_Rb_tree<std::pair<Snogray::Pos, Snogray::Vec>, std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int>, std::_Select1st<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> >, std::less<std::pair<Snogray::Pos, Snogray::Vec> >, std::allocator<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> > >::insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> >, std::pair<std::pai!
 r<Snogray::Pos, Snogray::Vec> const, unsigned int> const&)'
mesh.o: In function `std::map<Snogray::Pos, unsigned int, std::less<Snogray::Pos>, std::allocator<std::pair<Snogray::Pos const, unsigned int> > >::find(Snogray::Pos const&)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_map.h:498: undefined reference to `std::_Rb_tree<Snogray::Pos, std::pair<Snogray::Pos const, unsigned int>, std::_Select1st<std::pair<Snogray::Pos const, unsigned int> >, std::less<Snogray::Pos>, std::allocator<std::pair<Snogray::Pos const, unsigned int> > >::find(Snogray::Pos const&)'
mesh.o: In function `std::map<Snogray::Pos, unsigned int, std::less<Snogray::Pos>, std::allocator<std::pair<Snogray::Pos const, unsigned int> > >::insert(std::_Rb_tree_iterator<std::pair<Snogray::Pos const, unsigned int> >, std::pair<Snogray::Pos const, unsigned int> const&)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_map.h:384: undefined reference to `std::_Rb_tree<Snogray::Pos, std::pair<Snogray::Pos const, unsigned int>, std::_Select1st<std::pair<Snogray::Pos const, unsigned int> >, std::less<Snogray::Pos>, std::allocator<std::pair<Snogray::Pos const, unsigned int> > >::insert_unique(std::_Rb_tree_iterator<std::pair<Snogray::Pos const, unsigned int> >, std::pair<Snogray::Pos const, unsigned int> const&)'
mesh.o: In function `Snogray::Mesh::add(Snogray::Tessel::Function const&, Snogray::Tessel::MaxErrCalc const&)':/usr/local/src/snogray/snogray2/mesh.cc:149: undefined reference to `std::vector<Snogray::Vec, std::allocator<Snogray::Vec> >::reserve(unsigned int)'
mesh.o: In function `std::_Vector_base<Snogray::Mesh::Triangle, std::allocator<Snogray::Mesh::Triangle> >::_M_deallocate(Snogray::Mesh::Triangle*, unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Mesh::Triangle*, unsigned int)'
mesh.o: In function `~Mesh':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Mesh::Triangle*, unsigned int)'
mesh.o: In function `std::_Vector_base<Snogray::Mesh::Triangle, std::allocator<Snogray::Mesh::Triangle> >::_M_deallocate(Snogray::Mesh::Triangle*, unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Mesh::Triangle*, unsigned int)'
mesh.o: In function `~Mesh':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Mesh::Triangle*, unsigned int)'
scene.o: In function `std::_Vector_base<Snogray::Light*, std::allocator<Snogray::Light*> >::_M_deallocate(Snogray::Light**, unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Light*, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Light**, unsigned int)'
scene.o: In function `~_List_base':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:333: undefined reference to `std::_List_base<Snogray::Surface*, std::allocator<Snogray::Surface*> >::_M_clear()'
scene.o: In function `~Scene':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Light*, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Light**, unsigned int)'
scene.o: In function `~Scene':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:333: undefined reference to `std::_List_base<Snogray::Surface*, std::allocator<Snogray::Surface*> >::_M_clear()'
scene.o: In function `std::_Vector_base<Snogray::Light*, std::allocator<Snogray::Light*> >::_M_deallocate(Snogray::Light**, unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Light*, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Light**, unsigned int)'
scene.o: In function `~_List_base':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:333: undefined reference to `std::_List_base<Snogray::Surface*, std::allocator<Snogray::Surface*> >::_M_clear()'
scene.o: In function `~Scene':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Light*, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Light**, unsigned int)'
scene.o: In function `~Scene':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:333: undefined reference to `std::_List_base<Snogray::Surface*, std::allocator<Snogray::Surface*> >::_M_clear()'
scene-load-aff.o: In function `std::_Rb_tree<std::pair<Snogray::Pos, Snogray::Vec>, std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int>, std::_Select1st<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> >, std::less<std::pair<Snogray::Pos, Snogray::Vec> >, std::allocator<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> > >::_M_put_node(std::_Rb_tree_node<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> >*)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_tree.h:360: undefined reference to `__gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> >, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(std::_Rb_tree_node<std::pair<std::pair<Snogray::Pos, Snogray::Vec> const, unsigned int> >*, unsigned int)'
scene-load-aff.o: In function `std::_Rb_tree<Snogray::Pos, std::pair<Snogray::Pos const, unsigned int>, std::_Select1st<std::pair<Snogray::Pos const, unsigned int> >, std::less<Snogray::Pos>, std::allocator<std::pair<Snogray::Pos const, unsigned int> > >::_M_put_node(std::_Rb_tree_node<std::pair<Snogray::Pos const, unsigned int> >*)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_tree.h:360: undefined reference to `__gnu_cxx::__mt_alloc<std::_Rb_tree_node<std::pair<Snogray::Pos const, unsigned int> >, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(std::_Rb_tree_node<std::pair<Snogray::Pos const, unsigned int> >*, unsigned int)'
scene-load-aff.o: In function `std::_Vector_base<Snogray::Mesh::Triangle, std::allocator<Snogray::Mesh::Triangle> >::_M_allocate(unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:117: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned int, void const*)'
scene-load-aff.o: In function `vector':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:203: undefined reference to `void std::__uninitialized_fill_n_a<Snogray::Mesh::Triangle*, unsigned int, Snogray::Mesh::Triangle, Snogray::Mesh::Triangle>(Snogray::Mesh::Triangle*, unsigned int, Snogray::Mesh::Triangle const&, std::allocator<Snogray::Mesh::Triangle>)'
scene-load-aff.o: In function `std::_Vector_base<Snogray::Mesh::Triangle, std::allocator<Snogray::Mesh::Triangle> >::_M_deallocate(Snogray::Mesh::Triangle*, unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Mesh::Triangle, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Mesh::Triangle*, unsigned int)'
snogray.o: In function `std::_List_base<Snogray::Material const*, std::allocator<Snogray::Material const*> >::_M_put_node(std::_List_node<Snogray::Material const*>*)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:317: undefined reference to `__gnu_cxx::__mt_alloc<std::_List_node<Snogray::Material const*>, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(std::_List_node<Snogray::Material const*>*, unsigned int)'
snogray.o: In function `std::_Vector_base<Snogray::Light*, std::allocator<Snogray::Light*> >::_M_allocate(unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:117: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Light*, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::allocate(unsigned int, void const*)'
snogray.o: In function `std::_Vector_base<Snogray::Light*, std::allocator<Snogray::Light*> >::_M_deallocate(Snogray::Light**, unsigned int)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:123: undefined reference to `__gnu_cxx::__mt_alloc<Snogray::Light*, __gnu_cxx::__common_pool_policy<__gnu_cxx::__pool, true> >::deallocate(Snogray::Light**, unsigned int)'
tessel.o: In function `std::map<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Vertex const*>, Snogray::Tessel::Edge*, std::less<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Vertex const*> >, std::allocator<std::pair<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Vertex const*> const, Snogray::Tessel::Edge*> > >::insert(std::_Rb_tree_iterator<std::pair<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Vertex const*> const, Snogray::Tessel::Edge*> >, std::pair<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Vertex const*> const, Snogray::Tessel::Edge*> const&)':/usr/local/src/snogray/snogray2/tessel.cc:326: undefined reference to `std::_Rb_tree<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Vertex const*>, std::pair<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Vertex const*> const, Snogray::Tessel::Edge*>, std::_Select1st<std::pair<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Ver!
 tex const*> const, Snogray::Tessel::Edge*> >, std::less<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Vertex const*> >, std::allocator<std::pair<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Vertex const*> const, Snogray::Tessel::Edge*> > >::insert_unique(std::_Rb_tree_iterator<std::pair<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Vertex const*> const, Snogray::Tessel::Edge*> >, std::pair<std::pair<Snogray::Tessel::Vertex const*, Snogray::Tessel::Vertex const*> const, Snogray::Tessel::Edge*> const&)'
test-scenes.o: In function `std::vector<Snogray::TestSceneDesc, std::allocator<Snogray::TestSceneDesc> >::push_back(Snogray::TestSceneDesc const&)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_vector.h:610: undefined reference to `std::vector<Snogray::TestSceneDesc, std::allocator<Snogray::TestSceneDesc> >::_M_insert_aux(__gnu_cxx::__normal_iterator<Snogray::TestSceneDesc*, std::vector<Snogray::TestSceneDesc, std::allocator<Snogray::TestSceneDesc> > >, Snogray::TestSceneDesc const&)'
test-scenes.o: In function `std::list<Snogray::Surface*, std::allocator<Snogray::Surface*> >::_M_insert(std::_List_iterator<Snogray::Surface*>, Snogray::Surface* const&)':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:1152: undefined reference to `std::list<Snogray::Surface*, std::allocator<Snogray::Surface*> >::_M_create_node(Snogray::Surface* const&)'
voxtree.o: In function `~_List_base':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:333: undefined reference to `std::_List_base<Snogray::Surface*, std::allocator<Snogray::Surface*> >::_M_clear()'
voxtree.o: In function `~Node':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:333: undefined reference to `std::_List_base<Snogray::Surface*, std::allocator<Snogray::Surface*> >::_M_clear()'
voxtree.o: In function `~_List_base':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:333: undefined reference to `std::_List_base<Snogray::Surface*, std::allocator<Snogray::Surface*> >::_M_clear()'
voxtree.o: In function `~Node':/usr/lib/gcc/i486-linux-gnu/4.0.3/../../../../include/c++/4.0.3/bits/stl_list.h:333: undefined reference to `std::_List_base<Snogray::Surface*, std::allocator<Snogray::Surface*> >::_M_clear()'
collect2: ld returned 1 exit status
make: *** [snogray] エラー 1

-- 
"Whatever you do will be insignificant, but it is very important that
 you do it."  Mahatma Gandhi

Reply to: