However, when I downgrade the openscenegraph package from 3.6.3-1 to 3.4.1-4, SimGear compiles perfectly.
I use git branch 'next' of SimGear and FlightGear, pulled today.
Here are the errors from compilation:
- Code: Select all
..../simgear/canvas/elements/CanvasText.cxx:74:12: error: ‘void simgear::canvas::Text::TextOSG::computePositions(unsigned int) const’ marked ‘override’, but does not override
void computePositions(unsigned int contextID) const override;
^~~~~~~~~~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx: In constructor ‘simgear::canvas::TextLine::TextLine(size_t, const simgear::canvas::Text::TextOSG*)’:
..../simgear/canvas/elements/CanvasText.cxx:125:17: error: ‘LineNumbers’ is not a member of ‘simgear::canvas::TextLine::GlyphQuads’ {aka ‘osgText::Text::GlyphQuads’}
GlyphQuads::LineNumbers const& line_numbers = _quads->_lineNumbers;
^~~~~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:126:17: error: ‘osgText::Text::GlyphQuads::LineNumbers’ has not been declared
GlyphQuads::LineNumbers::const_iterator begin_it =
^~~~~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:129:9: error: ‘begin_it’ was not declared in this scope
if( begin_it == line_numbers.end() || *begin_it != _line )
^~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:129:9: note: suggested alternative: ‘_begin’
if( begin_it == line_numbers.end() || *begin_it != _line )
^~~~~~~~
_begin
..../simgear/canvas/elements/CanvasText.cxx:129:21: error: ‘line_numbers’ was not declared in this scope
if( begin_it == line_numbers.end() || *begin_it != _line )
^~~~~~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:133:14: error: ‘begin_it’ was not declared in this scope
_begin = begin_it - line_numbers.begin();
^~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:133:14: note: suggested alternative: ‘_begin’
_begin = begin_it - line_numbers.begin();
^~~~~~~~
_begin
..../simgear/canvas/elements/CanvasText.cxx:133:25: error: ‘line_numbers’ was not declared in this scope
_begin = begin_it - line_numbers.begin();
^~~~~~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx: In member function ‘osg::Vec2 simgear::canvas::TextLine::cursorPos(size_t) const’:
..../simgear/canvas/elements/CanvasText.cxx:167:17: error: ‘Coords2’ is not a member of ‘simgear::canvas::TextLine::GlyphQuads’ {aka ‘osgText::Text::GlyphQuads’}
GlyphQuads::Coords2 refCoords = _quads->_coords;
^~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:168:17: error: ‘osgText::Text::GlyphQuads::Coords2’ has not been declared
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:168:40: error: ‘coords’ was not declared in this scope
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~
..../simgear/canvas/elements/CanvasText.cxx:168:40: note: suggested alternative: ‘cross’
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~
cross
..../simgear/canvas/elements/CanvasText.cxx:168:50: error: ‘refCoords’ was not declared in this scope
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:168:50: note: suggested alternative: ‘glTexCoord4s’
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~~~~
glTexCoord4s
..../simgear/canvas/elements/CanvasText.cxx:184:21: error: ‘prev_r’ was not declared in this scope
if( prev_l == prev_r )
^~~~~~
..../simgear/canvas/elements/CanvasText.cxx:184:21: note: suggested alternative: ‘prev_l’
if( prev_l == prev_r )
^~~~~~
prev_l
..../simgear/canvas/elements/CanvasText.cxx:187:19: error: ‘cur_l’ was not declared in this scope
pos.x() = cur_l;
^~~~~
..../simgear/canvas/elements/CanvasText.cxx:187:19: note: suggested alternative: ‘cbrtl’
pos.x() = cur_l;
^~~~~
cbrtl
..../simgear/canvas/elements/CanvasText.cxx:190:35: error: ‘cur_l’ was not declared in this scope
pos.x() = 0.5 * (prev_r + cur_l);
^~~~~
..../simgear/canvas/elements/CanvasText.cxx:190:35: note: suggested alternative: ‘cbrtl’
pos.x() = 0.5 * (prev_r + cur_l);
^~~~~
cbrtl
..../simgear/canvas/elements/CanvasText.cxx: In member function ‘osg::Vec2 simgear::canvas::TextLine::nearestCursor(float) const’:
..../simgear/canvas/elements/CanvasText.cxx:206:17: error: ‘Coords2’ is not a member of ‘simgear::canvas::TextLine::GlyphQuads’ {aka ‘osgText::Text::GlyphQuads’}
GlyphQuads::Coords2 refCoords = _quads->_coords;
^~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:207:17: error: ‘osgText::Text::GlyphQuads::Coords2’ has not been declared
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:207:40: error: ‘coords’ was not declared in this scope
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~
..../simgear/canvas/elements/CanvasText.cxx:207:40: note: suggested alternative: ‘cross’
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~
cross
..../simgear/canvas/elements/CanvasText.cxx:207:50: error: ‘refCoords’ was not declared in this scope
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:207:50: note: suggested alternative: ‘glTexCoord4s’
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~~~~
glTexCoord4s
..../simgear/canvas/elements/CanvasText.cxx: In member function ‘void simgear::canvas::Text::TextOSG::computePositions(unsigned int) const’:
..../simgear/canvas/elements/CanvasText.cxx:647:55: error: no matching function for call to ‘simgear::canvas::Text::TextOSG::computePositions(unsigned int&) const’
return osgText::Text::computePositions(contextID);
^
In file included from /usr/include/osgText/Text:21,
from ..../simgear/canvas/elements/CanvasText.hxx:24,
from ..../simgear/canvas/elements/CanvasText.cxx:22:
/usr/include/osgText/TextBase:302:10: note: candidate: ‘void osgText::TextBase::computePositions()’
void computePositions();
^~~~~~~~~~~~~~~~
/usr/include/osgText/TextBase:302:10: note: candidate expects 0 arguments, 1 provided
..../simgear/canvas/elements/CanvasText.cxx:647:55: error: return-statement with a value, in function returning ‘void’ [-fpermissive]
return osgText::Text::computePositions(contextID);
^
..../simgear/canvas/elements/CanvasText.cxx:657:17: error: ‘Coords2’ is not a member of ‘osgText::Text::GlyphQuads’
GlyphQuads::Coords2 refCoords = quads._coords;
^~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:658:17: error: ‘osgText::Text::GlyphQuads::Coords2’ has not been declared
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:658:40: error: ‘coords’ was not declared in this scope
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~
..../simgear/canvas/elements/CanvasText.cxx:658:40: note: suggested alternative: ‘_coords’
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~
_coords
..../simgear/canvas/elements/CanvasText.cxx:658:50: error: ‘refCoords’ was not declared in this scope
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:658:50: note: suggested alternative: ‘getCoords’
GlyphQuads::Coords2::element_type &coords = *refCoords.get();
^~~~~~~~~
getCoords
..../simgear/canvas/elements/CanvasText.cxx:661:23: error: ‘LineNumbers’ in ‘struct osgText::Text::GlyphQuads’ does not name a type
const GlyphQuads::LineNumbers& line_numbers = quads._lineNumbers;
^~~~~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:670:37: error: ‘line_numbers’ was not declared in this scope
bool first_char = cur_line != line_numbers[i];
^~~~~~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:690:38: error: invalid operands of types ‘std::ios_base&(std::ios_base&)’ and ‘float’ to binary ‘operator-’
float margin = 0.5f * (right - left - width),
~~~~~~^~~~~~
..../simgear/canvas/elements/CanvasText.cxx:690:47: error: ‘width’ was not declared in this scope
float margin = 0.5f * (right - left - width),
^~~~~
..../simgear/canvas/elements/CanvasText.cxx:690:47: note: suggested alternative: ‘wcwidth’
float margin = 0.5f * (right - left - width),
^~~~~
wcwidth
..../simgear/canvas/elements/CanvasText.cxx:696:32: error: ‘cursor_x’ was not declared in this scope
if( cur_line == 0 || cursor_x < _textBB._min.x() )
^~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:696:32: note: suggested alternative: ‘error_t’
if( cur_line == 0 || cursor_x < _textBB._min.x() )
^~~~~~~~
error_t
..../simgear/canvas/elements/CanvasText.cxx:702:28: error: ‘cursor_x’ was not declared in this scope
float cursor_w = cursor_x + glyphs[i]->getHorizontalAdvance() * wr;
^~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:702:28: note: suggested alternative: ‘cursor_w’
float cursor_w = cursor_x + glyphs[i]->getHorizontalAdvance() * wr;
^~~~~~~~
cursor_w
..../simgear/canvas/elements/CanvasText.cxx:705:32: error: lvalue required as left operand of assignment
_textBB._max.x() = cursor_w;
^~~~~~~~
..../simgear/canvas/elements/CanvasText.cxx:690:15: warning: unused variable ‘margin’ [-Wunused-variable]
float margin = 0.5f * (right - left - width),
^~~~~~
..../simgear/canvas/elements/CanvasText.cxx:710:53: error: no matching function for call to ‘simgear::canvas::Text::TextOSG::computePositions(unsigned int&) const’
return osgText::Text::computePositions(contextID);
^
In file included from /usr/include/osgText/Text:21,
from ..../simgear/canvas/elements/CanvasText.hxx:24,
from ..../simgear/canvas/elements/CanvasText.cxx:22:
/usr/include/osgText/TextBase:302:10: note: candidate: ‘void osgText::TextBase::computePositions()’
void computePositions();
^~~~~~~~~~~~~~~~
/usr/include/osgText/TextBase:302:10: note: candidate expects 0 arguments, 1 provided
..../simgear/canvas/elements/CanvasText.cxx:710:53: error: return-statement with a value, in function returning ‘void’ [-fpermissive]
return osgText::Text::computePositions(contextID);
^
make[2]: *** [simgear/CMakeFiles/SimGearScene.dir/build.make:271: simgear/CMakeFiles/SimGearScene.dir/canvas/elements/CanvasText.cxx.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:253: simgear/CMakeFiles/SimGearScene.dir/all] Error 2
make: *** [Makefile:152: all] Error 2