Re: [K3d-development] g++ 3.0.4 troubles
Brought to you by:
barche
From: Timothy M. S. <ts...@k-...> - 2003-12-30 18:48:08
|
Romain Behar wrote: > I've installed a fresh Debian box and tried to compile > K-3D using gcc 3.04: > > with poly_cone.cpp, poly_cylinder, poly_grid, > poly_sphere and poly_torus, the compilation stopped on > the following error: > > ../../boost/boost/type_traits/is_enum.hpp:91: template > instantiation depth > exceeds maximum of 50 (use -ftemplate-depth-NN to > increase the maximum) > instantiating `struct In the short-term, you might try to get things building with $ ./configure CXXFLAGS="-ftemplate-depth-100" && make to see if that fixes things ... keep increasing the depth as-needed until it builds. If we can nail-down a value that works for gcc 3.0, it should be harmless to set it as a default in our configuration. The problem appears to be with the return value of k3d::add_grid(), which is a convenience function that creates a 2D grid of polygons that's useful in most of our conics. The return value is of type boost::tuple<boost::multi_array<point*, 2>, boost::multi_array<split_edge*, 3>, boost::multi_array<face*, 2> > ... which is a real mouthful. I'd actually prefer to pass each of the three multi_array objects to the function by reference instead of returning them by value through the tuple, but multi_array can't have its dimensions changed after it's been constructed. I think the long-term solution (something I was contemplating anyway), is to develop an alternative to boost::multi_array. > BTW, the configure script didn't detect the GL/GLU > files were not installed. As it's been an extended period of time since I've had a machine without OpenGL around, these could very well have been broken for awhile (or since the beginning). You might also try the previous version of acinclude.m4. I recently made some changes for portability, basically I was using "==" with test, which is not portable. Maybe I broke something? Cheers, Tim |