trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: April 2012

rosegarden - gcc47 - need help - probably 5 second fix of "has no member named 'getAsEvent'"

From: "David C. Rankin" <drankinatty@...>
Date: Wed, 11 Apr 2012 13:23:00 -0500
c/c++ <stl> folks,

  I have tried to fix rosegarden in a manner similar to the other packages that
rely on stl by adding the 'this->' where the errors said. I have done that, but
now the build fails complaining that:

Rosegarden::Segment, true>::PitchGreater' has no member named 'getAsEvent'

  Apparently, gcc47 doesn't accept the instantation in the same way gcc46 did.
rosegarden built fine with gcc46.

  The patch I applied to Sets.h to fix the 'this->' complaints is attached. The
error (with -fpermissive given) is:

[  6%] Building CXX object
src/CMakeFiles/RosegardenCommands-static.dir/commands/notation/AddFingeringMarkCommand.cpp.o

                                  cd /build/src/build/src && /usr/bin/c++
-DHAVE_XFT -DHAVE_ALSA -DHAVE_LIBJACK -DHAVE_DSSI -DHAVE_LIBLO -DHAVE_LIBLRDF
-DHAVE_LADSPA -DHAVE_FFTW3F -DHAVE_CONFIG_H -fpermissive  -DQT_NO_ASCII_CAST
-DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION
-DQT_THREAD_SUPPORT -D_REENTRANT -include tqt.h -O2 -w -fexceptions -DNDEBUG
-include tqt.h -I/opt/tqt3/include -I/usr/include/tqt -I/opt/trinity/include
-I/build/src/build -I/build/src/build/src -I/build/src/rosegarden/src
-I/build/src/rosegarden/src/base -I/usr/include/alsa -I/usr/include/freetype2
-I/usr/include/raptor2    -D'VERSION="1.7.0"' -o
CMakeFiles/RosegardenCommands-static.dir/commands/notation/AddFingeringMarkCommand.cpp.o
-c /build/src/rosegarden/src/commands/notation/AddFingeringMarkCommand.cpp
                                  In file included from
/build/src/rosegarden/src/commands/notation/AddFingeringMarkCommand.cpp:33:0:
               /build/src/rosegarden/src/base/Sets.h: In instantiation of 'bool
Rosegarden::GenericChord<Element, Container,
singleStaff>::PitchGreater::operator()(const Iterator&, const Iterator&) [with
Element = Rosegarden::Event; Container = Rosegarden::Segment; bool singleStaff =
true; Rosegarden::GenericChord<Element, Container, singleStaff>::Iterator =
std::_Rb_tree_const_iterator<Rosegarden::Event*>]':

/usr/lib/gcc/i686-pc-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_algo.h:2142:4:
  required from 'void std::__insertion_sort(_RandomAccessIterator,
_RandomAccessIterator, _Compare) [with _RandomAccessIterator =
__gnu_cxx::__normal_iterator<std::_Rb_tree_const_iterator<Rosegarden::Event*>*,
std::vector<std::_Rb_tree_const_iterator<Rosegarden::Event*> > >; _Compare =
Rosegarden::GenericChord<Rosegarden::Event, Rosegarden::Segment,
true>::PitchGreater]'
/usr/lib/gcc/i686-pc-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_algo.h:3492:4:
  required from 'void std::__inplace_stable_sort(_RandomAccessIterator,
_RandomAccessIterator, _Compare) [with _RandomAccessIterator =
__gnu_cxx::__normal_iterator<std::_Rb_tree_const_iterator<Rosegarden::Event*>*,
std::vector<std::_Rb_tree_const_iterator<Rosegarden::Event*> > >; _Compare =
Rosegarden::GenericChord<Rosegarden::Event, Rosegarden::Segment,
true>::PitchGreater]'
/usr/lib/gcc/i686-pc-linux-gnu/4.7.0/../../../../include/c++/4.7.0/bits/stl_algo.h:5683:2:
  required from 'void std::stable_sort(_RAIter, _RAIter, _Compare) [with _RAIter
=
__gnu_cxx::__normal_iterator<std::_Rb_tree_const_iterator<Rosegarden::Event*>*,
std::vector<std::_Rb_tree_const_iterator<Rosegarden::Event*> > >; _Compare =
Rosegarden::GenericChord<Rosegarden::Event, Rosegarden::Segment,
true>::PitchGreater]'
/build/src/rosegarden/src/base/Sets.h:386:9:   required from
'Rosegarden::GenericChord<Element, Container,
singleStaff>::GenericChord(Container&, Rosegarden::GenericChord<Element,
Container, singleStaff>::Iterator, const Rosegarden::Quantizer*,
Rosegarden::PropertyName) [with Element = Rosegarden::Event; Container =
Rosegarden::Segment; bool singleStaff = true; Rosegarden::GenericChord<Element,
Container, singleStaff>::Iterator =
std::_Rb_tree_const_iterator<Rosegarden::Event*>]'
/build/src/rosegarden/src/commands/notation/AddFingeringMarkCommand.cpp:76:69:
 required from here
/build/src/rosegarden/src/base/Sets.h:680:70: error: 'class
Rosegarden::GenericChord<Rosegarden::Event, Rosegarden::Segment,
true>::PitchGreater' has no member named 'getAsEvent'
/build/src/rosegarden/src/base/Sets.h:681:70: error: 'class
Rosegarden::GenericChord<Rosegarden::Event, Rosegarden::Segment,
true>::PitchGreater' has no member named 'getAsEvent'
/usr/bin/cmake -E cmake_progress_report /build/src/build/CMakeFiles
[  6%] Building CXX object
src/CMakeFiles/RosegardenCommands-static.dir/commands/notation/AddIndicationCommand.cpp.o
cd /build/src/build/src && /usr/bin/c++   -DHAVE_XFT -DHAVE_ALSA -DHAVE_LIBJACK
-DHAVE_DSSI -DHAVE_LIBLO -DHAVE_LIBLRDF -DHAVE_LADSPA -DHAVE_FFTW3F
-DHAVE_CONFIG_H -fpermissive  -DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE
-DQT_NO_STL -DQT_NO_COMPAT -DQT_NO_TRANSLATION -DQT_THREAD_SUPPORT -D_REENTRANT
-include tqt.h -O2 -w -fexceptions -DNDEBUG -include tqt.h -I/opt/tqt3/include
-I/usr/include/tqt -I/opt/trinity/include -I/build/src/build
-I/build/src/build/src -I/build/src/rosegarden/src
-I/build/src/rosegarden/src/base -I/usr/include/alsa -I/usr/include/freetype2
-I/usr/include/raptor2    -D'VERSION="1.7.0"' -o
CMakeFiles/RosegardenCommands-static.dir/commands/notation/AddIndicationCommand.cpp.o
-c /build/src/rosegarden/src/commands/notation/AddIndicationCommand.cpp
make[2]: ***
[src/CMakeFiles/RosegardenCommands-static.dir/commands/notation/AddFingeringMarkCommand.cpp.o]
Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/build/src/build'
make[1]: *** [src/CMakeFiles/RosegardenCommands-static.dir/all] Error 2
make[1]: Leaving directory `/build/src/build'
make: *** [all] Error 2

  I have no idea how to chase this error through the stl container, etc....

-- 
David C. Rankin, J.D.,P.E.

Attachments: