Problem in compilation and installation of openwns

Asked by creasy

I use Ubuntu 13.10 64-bit system with gcc version 4.8.1 and python 2.7.5. The error messages are shown below:

openwns-sdk$ ./playground.py install && ./playground.py install --flavour=opt

ERROR:
Unable to remove path for wnsbase Python module in sandbox

ERROR:
Unable to install wnsbase files to sandbox
Executing: scons dbg --warn=no-missing-sconscript -j 8 default
scons: Reading SConscript files ...
-I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7
-lpthread -ldl -lutil -lm -lpython2.7

scons: warning: The env.SourceSignatures() method is deprecated;
 convert your build to use the env.Decider() method instead.
File "/home/username/software/openwns-sdk/SConstruct", line 74, in <module>

scons: warning: The env.TargetSignatures() method is deprecated;
 convert your build to use the env.Decider() method instead.
File "/home/username/software/openwns-sdk/SConstruct", line 75, in <module>

scons: warning: The Options class is deprecated; use the Variables class instead.
File "/home/username/software/openwns-sdk/SConstruct", line 127, in <module>

scons: warning: The BoolOption() function is deprecated; use the BoolVariable() function instead.
File "/home/username/software/openwns-sdk/SConstruct", line 128, in <module>

scons: warning: The PathOption() function is deprecated; use the PathVariable() function instead.
File "/home/username/software/openwns-sdk/SConstruct", line 129, in <module>

scons: warning: The PackageOption() function is deprecated; use the PackageVariable() function instead.
File "/home/username/software/openwns-sdk/SConstruct", line 135, in <module>
Checking for icecc compiler...(cached) no
Checking for C library cppunit... (cached) yes
Checking for C library boost_program_options-mt... (cached) no
Checking for C library boost_program_options... (cached) yes
Checking for C library boost_signals-mt... (cached) no
Checking for C library boost_signals... (cached) yes
Checking for C library boost_date_time-mt... (cached) no
Checking for C library boost_date_time... (cached) yes
Checking for C library boost_filesystem-mt... (cached) no
Checking for C library boost_filesystem... (cached) yes

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>
Checking for C library iomp5... (cached) yes
Intel openMP lib iomp5 found

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>
Checking for C library iomp5... (cached) yes
Intel openMP lib iomp5 found

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>
Checking for C library iomp5... (cached) yes
Intel openMP lib iomp5 found

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>

scons: warning: BuildDir() and the build_dir keyword have been deprecated;
 use VariantDir() and the variant_dir keyword instead.
File "/home/username/software/openwns-sdk/SConstruct", line 297, in <module>
scons: done reading SConscript files.
scons: Building targets ...
g++ -o .build/dbg/openwns-library/src/tests/DoubleDispatcherTest.os -c -g -O0 -fno-inline -fPIC -I.include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 framework/library/src/tests/DoubleDispatcherTest.cpp
g++ -o .build/dbg/openwns-library/src/tests/TimeWeightedAverageTest.os -c -g -O0 -fno-inline -fPIC -I.include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 framework/library/src/tests/TimeWeightedAverageTest.cpp
g++ -o .build/dbg/openwns-library/src/tests/WeightedAverageTest.os -c -g -O0 -fno-inline -fPIC -I.include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 framework/library/src/tests/WeightedAverageTest.cpp
g++ -o .build/dbg/openwns-library/src/pyconfig/tests/SequenceTest.os -c -g -O0 -fno-inline -fPIC -I.include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 framework/library/src/pyconfig/tests/SequenceTest.cpp
Install file: "framework/library/src/events/scheduler/tests/InterfaceTest.hpp" as ".include/WNS/events/scheduler/tests/InterfaceTest.hpp"
Install file: "framework/library/src/events/scheduler/tests/PerformanceTest.hpp" as ".include/WNS/events/scheduler/tests/PerformanceTest.hpp"
g++ -o .build/dbg/openwns-library/src/events/scheduler/tests/BestPracticesTest.os -c -g -O0 -fno-inline -fPIC -I.include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 framework/library/src/events/scheduler/tests/BestPracticesTest.cpp
g++ -o .build/dbg/openwns-library/src/events/tests/CanTimeoutTest.os -c -g -O0 -fno-inline -fPIC -I.include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 framework/library/src/events/tests/CanTimeoutTest.cpp
g++ -o .build/dbg/openwns-library/src/events/scheduler/tests/MapPerformanceTest.os -c -g -O0 -fno-inline -fPIC -I.include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 framework/library/src/events/scheduler/tests/MapPerformanceTest.cpp
g++ -o .build/dbg/openwns-library/src/events/scheduler/tests/PerformanceTest.os -c -g -O0 -fno-inline -fPIC -I.include -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 framework/library/src/events/scheduler/tests/PerformanceTest.cpp
In file included from .include/WNS/tests/WeightedAverageTest.hpp:28:0,
                 from framework/library/src/tests/WeightedAverageTest.cpp:28:
.include/WNS/WeightedAverage.hpp: In instantiation of 'void wns::WeightedAverage<C>::put(const C&, double) [with C = double]':
framework/library/src/tests/WeightedAverageTest.cpp:47:18: required from here
.include/WNS/WeightedAverage.hpp:84:40: error: 'convertForAveraging' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     this->mean += convertForAveraging(c)*w/totalWeight;
                                        ^
.include/WNS/WeightedAverage.hpp:84:40: note: declarations in dependent base 'wns::Average<double>' are not found by unqualified lookup
.include/WNS/WeightedAverage.hpp:84:40: note: use 'this->convertForAveraging' instead
In file included from .include/WNS/TimeWeightedAverage.hpp:32:0,
                 from .include/WNS/tests/TimeWeightedAverageTest.hpp:28,
                 from framework/library/src/tests/TimeWeightedAverageTest.cpp:28:
.include/WNS/WeightedAverage.hpp: In instantiation of 'void wns::WeightedAverage<C>::put(const C&, double) [with C = double]':
.include/WNS/TimeWeightedAverage.hpp:98:37: required from 'void wns::TimeWeightedAverage<T, Clock>::put(const T&) [with T = double; Clock = wns::TimeWeightedAverageTest::Clock]'
framework/library/src/tests/TimeWeightedAverageTest.cpp:53:15: required from here
.include/WNS/WeightedAverage.hpp:84:40: error: 'convertForAveraging' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     this->mean += convertForAveraging(c)*w/totalWeight;
                                        ^
.include/WNS/WeightedAverage.hpp:84:40: note: declarations in dependent base 'wns::Average<double>' are not found by unqualified lookup
.include/WNS/WeightedAverage.hpp:84:40: note: use 'this->convertForAveraging' instead
.include/WNS/WeightedAverage.hpp: In instantiation of 'void wns::WeightedAverage<C>::put(const C&, double) [with C = wns::Power]':
.include/WNS/TimeWeightedAverage.hpp:98:37: required from 'void wns::TimeWeightedAverage<T, Clock>::put(const T&) [with T = wns::Power; Clock = wns::TimeWeightedAverageTest::Clock]'
framework/library/src/tests/TimeWeightedAverageTest.cpp:79:30: required from here
.include/WNS/WeightedAverage.hpp:84:40: error: 'convertForAveraging' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/WeightedAverage.hpp:84:40: note: declarations in dependent base 'wns::Average<wns::Power>' are not found by unqualified lookup
.include/WNS/WeightedAverage.hpp:84:40: note: use 'this->convertForAveraging' instead
scons: *** [.build/dbg/openwns-library/src/tests/WeightedAverageTest.os] Error 1
In file included from .include/WNS/pyconfig/View.hpp:31:0,
                 from .include/WNS/pyconfig/Parser.hpp:31,
                 from framework/library/src/pyconfig/tests/SequenceTest.hpp:31,
                 from framework/library/src/pyconfig/tests/SequenceTest.cpp:28:
.include/WNS/pyconfig/Sequence.hpp: In instantiation of 'T wns::pyconfig::TypedIterator<T, ITER>::operator*() [with T = int; ITER = wns::pyconfig::Sequence::IterPolicy]':
framework/library/src/pyconfig/tests/SequenceTest.cpp:185:3: required from here
.include/WNS/pyconfig/Sequence.hpp:79:40: error: 'convert' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
    convert(value, IteratorPolicy::obj());
                                        ^
.include/WNS/pyconfig/Sequence.hpp:79:40: note: declarations in dependent base 'wns::pyconfig::Converter<int>' are not found by unqualified lookup
.include/WNS/pyconfig/Sequence.hpp:79:40: note: use 'this->convert' instead
.include/WNS/pyconfig/Sequence.hpp: In instantiation of 'T wns::pyconfig::TypedIterator<T, ITER>::operator*() [with T = std::basic_string<char>; ITER = wns::pyconfig::Sequence::IterPolicy]':
framework/library/src/pyconfig/tests/SequenceTest.cpp:192:3: required from here
.include/WNS/pyconfig/Sequence.hpp:79:40: error: 'convert' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/pyconfig/Sequence.hpp:79:40: note: declarations in dependent base 'wns::pyconfig::Converter<std::basic_string<char> >' are not found by unqualified lookup
.include/WNS/pyconfig/Sequence.hpp:79:40: note: use 'this->convert' instead
scons: *** [.build/dbg/openwns-library/src/tests/TimeWeightedAverageTest.os] Error 1
In file included from .include/WNS/tests/DoubleDispatcherTest.hpp:31:0,
                 from framework/library/src/tests/DoubleDispatcherTest.cpp:29:
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 2>::dispatch(ConcreteLhs*, BaseRhs) [with ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A&; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:115:68: required from here
.include/WNS/DoubleDispatcher.hpp:150:48: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(rhs)))(*lhs, rhs);
                                                ^
.include/WNS/DoubleDispatcher.hpp:150:48: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:150:48: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 2>::dispatch(ConcreteLhs&, BaseRhs) [with ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A&; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:116:70: required from here
.include/WNS/DoubleDispatcher.hpp:145:48: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(rhs)))(lhs, rhs);
                                                ^
.include/WNS/DoubleDispatcher.hpp:145:48: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:145:48: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 4>::dispatch(ConcreteLhs*, BaseRhs) [with ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A*; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:117:70: required from here
.include/WNS/DoubleDispatcher.hpp:194:49: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(*rhs)))(*lhs, rhs);
                                                 ^
.include/WNS/DoubleDispatcher.hpp:194:49: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, wns::DoubleDispatcherTest::A*)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:194:49: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 4>::dispatch(ConcreteLhs&, BaseRhs) [with ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A*; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:118:71: required from here
.include/WNS/DoubleDispatcher.hpp:189:49: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(*rhs)))(lhs, rhs);
                                                 ^
.include/WNS/DoubleDispatcher.hpp:189:49: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, wns::DoubleDispatcherTest::A*)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:189:49: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 3>::dispatch(ConcreteLhs*, BaseRhs) [with ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = const wns::DoubleDispatcherTest::A&; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:119:76: required from here
.include/WNS/DoubleDispatcher.hpp:238:48: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(rhs)))(*lhs, rhs);
                                                ^
.include/WNS/DoubleDispatcher.hpp:238:48: note: declarations in dependent base 'wns::DoubleDispatcherBase<const wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, const wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:238:48: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, const wns::SmartPtr<P>&, ResultType, 3>::dispatch(ConcreteLhs*, const wns::SmartPtr<P>&) [with ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:120:86: required from here
.include/WNS/DoubleDispatcher.hpp:283:49: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(*rhs)))(*lhs, rhs);
                                                 ^
.include/WNS/DoubleDispatcher.hpp:283:49: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, const wns::SmartPtr<wns::DoubleDispatcherTest::A>&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:283:49: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 2>::dispatch(ConcreteLhs*, BaseRhs) [with ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A&; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:164:68: required from here
.include/WNS/DoubleDispatcher.hpp:150:48: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(rhs)))(*lhs, rhs);
                                                ^
.include/WNS/DoubleDispatcher.hpp:150:48: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:150:48: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 2>::dispatch(ConcreteLhs&, BaseRhs) [with ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A&; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:165:70: required from here
.include/WNS/DoubleDispatcher.hpp:145:48: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(rhs)))(lhs, rhs);
                                                ^
.include/WNS/DoubleDispatcher.hpp:145:48: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:145:48: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 4>::dispatch(ConcreteLhs*, BaseRhs) [with ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A*; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:166:70: required from here
.include/WNS/DoubleDispatcher.hpp:194:49: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(*rhs)))(*lhs, rhs);
                                                 ^
.include/WNS/DoubleDispatcher.hpp:194:49: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, wns::DoubleDispatcherTest::A*)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:194:49: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 4>::dispatch(ConcreteLhs&, BaseRhs) [with ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A*; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:167:71: required from here
.include/WNS/DoubleDispatcher.hpp:189:49: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(*rhs)))(lhs, rhs);
                                                 ^
.include/WNS/DoubleDispatcher.hpp:189:49: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, wns::DoubleDispatcherTest::A*)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:189:49: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 3>::dispatch(ConcreteLhs*, BaseRhs) [with ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = const wns::DoubleDispatcherTest::A&; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:168:76: required from here
.include/WNS/DoubleDispatcher.hpp:238:48: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(rhs)))(*lhs, rhs);
                                                ^
.include/WNS/DoubleDispatcher.hpp:238:48: note: declarations in dependent base 'wns::DoubleDispatcherBase<const wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, const wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:238:48: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'ResultType wns::DoubleDispatcher<ConcreteLhs, const wns::SmartPtr<P>&, ResultType, 3>::dispatch(ConcreteLhs*, const wns::SmartPtr<P>&) [with ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A; ResultType = int]':
.include/WNS/tests/DoubleDispatcherTest.hpp:169:86: required from here
.include/WNS/DoubleDispatcher.hpp:283:49: error: 'getCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
      return (*getCallback(TypeInfo::create(*rhs)))(*lhs, rhs);
                                                 ^
.include/WNS/DoubleDispatcher.hpp:283:49: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, const wns::SmartPtr<wns::DoubleDispatcherTest::A>&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:283:49: note: use 'this->getCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 2>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::B; ResultType (ConcreteLhs::* callback)(ConcreteRhs&) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:62:52: required from here
.include/WNS/DoubleDispatcher.hpp:140:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     addCallback(TypeInfo::create<ConcreteRhs>(), &Local::Trampoline);
                                                                    ^
.include/WNS/DoubleDispatcher.hpp:140:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:140:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 2>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::C; ResultType (ConcreteLhs::* callback)(ConcreteRhs&) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:64:52: required from here
.include/WNS/DoubleDispatcher.hpp:140:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:140:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:140:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 2>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::A; ResultType (ConcreteLhs::* callback)(ConcreteRhs&) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:66:52: required from here
.include/WNS/DoubleDispatcher.hpp:140:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:140:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:140:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 2>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::B; ResultType (ConcreteLhs::* callback)(ConcreteRhs&) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:68:82: required from here
.include/WNS/DoubleDispatcher.hpp:140:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:140:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:140:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 2>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::C; ResultType (ConcreteLhs::* callback)(ConcreteRhs&) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:70:82: required from here
.include/WNS/DoubleDispatcher.hpp:140:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:140:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:140:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 2>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::A; ResultType (ConcreteLhs::* callback)(ConcreteRhs&) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:72:82: required from here
.include/WNS/DoubleDispatcher.hpp:140:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:140:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:140:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 4>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::B; ResultType (ConcreteLhs::* callback)(ConcreteRhs*) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A*; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:74:75: required from here
.include/WNS/DoubleDispatcher.hpp:184:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     addCallback(TypeInfo::create<ConcreteRhs>(), &Local::Trampoline);
                                                                    ^
.include/WNS/DoubleDispatcher.hpp:184:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, wns::DoubleDispatcherTest::A*)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:184:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 4>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::C; ResultType (ConcreteLhs::* callback)(ConcreteRhs*) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A*; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:76:77: required from here
.include/WNS/DoubleDispatcher.hpp:184:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:184:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, wns::DoubleDispatcherTest::A*)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:184:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 4>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::A; ResultType (ConcreteLhs::* callback)(ConcreteRhs*) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A*; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:78:77: required from here
.include/WNS/DoubleDispatcher.hpp:184:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:184:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, wns::DoubleDispatcherTest::A*)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:184:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 4>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::B; ResultType (ConcreteLhs::* callback)(ConcreteRhs*) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A*; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:80:85: required from here
.include/WNS/DoubleDispatcher.hpp:184:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:184:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, wns::DoubleDispatcherTest::A*)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:184:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 4>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::C; ResultType (ConcreteLhs::* callback)(ConcreteRhs*) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A*; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:82:85: required from here
.include/WNS/DoubleDispatcher.hpp:184:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:184:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, wns::DoubleDispatcherTest::A*)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:184:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 4>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::A; ResultType (ConcreteLhs::* callback)(ConcreteRhs*) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A*; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:84:85: required from here
.include/WNS/DoubleDispatcher.hpp:184:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:184:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, wns::DoubleDispatcherTest::A*)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:184:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::B; ResultType (ConcreteLhs::* callback)(const ConcreteRhs&) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = const wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:86:76: required from here
.include/WNS/DoubleDispatcher.hpp:228:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     addCallback(TypeInfo::create<ConcreteRhs>(), &Local::Trampoline);
                                                                    ^
.include/WNS/DoubleDispatcher.hpp:228:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<const wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, const wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:228:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::C; ResultType (ConcreteLhs::* callback)(const ConcreteRhs&) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = const wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:88:76: required from here
.include/WNS/DoubleDispatcher.hpp:228:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:228:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<const wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, const wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:228:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::A; ResultType (ConcreteLhs::* callback)(const ConcreteRhs&) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = const wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:90:76: required from here
.include/WNS/DoubleDispatcher.hpp:228:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:228:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<const wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, const wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:228:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::B; ResultType (ConcreteLhs::* callback)(const ConcreteRhs&) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = const wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:92:86: required from here
.include/WNS/DoubleDispatcher.hpp:228:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:228:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<const wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, const wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:228:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::C; ResultType (ConcreteLhs::* callback)(const ConcreteRhs&) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = const wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:94:86: required from here
.include/WNS/DoubleDispatcher.hpp:228:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:228:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<const wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, const wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:228:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, BaseRhs, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::A; ResultType (ConcreteLhs::* callback)(const ConcreteRhs&) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = const wns::DoubleDispatcherTest::A&; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:96:86: required from here
.include/WNS/DoubleDispatcher.hpp:228:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:228:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<const wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, const wns::DoubleDispatcherTest::A&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:228:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, const wns::SmartPtr<P>&, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::B; ResultType (ConcreteLhs::* callback)(const wns::SmartPtr<OtherType>&) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:98:76: required from here
.include/WNS/DoubleDispatcher.hpp:273:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
     addCallback(TypeInfo::create<ConcreteRhs>(), &Local::Trampoline);
                                                                    ^
.include/WNS/DoubleDispatcher.hpp:273:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, const wns::SmartPtr<wns::DoubleDispatcherTest::A>&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:273:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, const wns::SmartPtr<P>&, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::C; ResultType (ConcreteLhs::* callback)(const wns::SmartPtr<OtherType>&) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:100:76: required from here
.include/WNS/DoubleDispatcher.hpp:273:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:273:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, const wns::SmartPtr<wns::DoubleDispatcherTest::A>&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:273:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, const wns::SmartPtr<P>&, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::A; ResultType (ConcreteLhs::* callback)(const wns::SmartPtr<OtherType>&) = &wns::DoubleDispatcherTest::DerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::DerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:102:76: required from here
.include/WNS/DoubleDispatcher.hpp:273:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:273:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::DerivedReceiver&, const wns::SmartPtr<wns::DoubleDispatcherTest::A>&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:273:68: note: use 'this->addCallback' instead
scons: *** [.build/dbg/openwns-library/src/pyconfig/tests/SequenceTest.os] Error 1
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, const wns::SmartPtr<P>&, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::B; ResultType (ConcreteLhs::* callback)(const wns::SmartPtr<OtherType>&) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:104:84: required from here
.include/WNS/DoubleDispatcher.hpp:273:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:273:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, const wns::SmartPtr<wns::DoubleDispatcherTest::A>&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:273:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, const wns::SmartPtr<P>&, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::C; ResultType (ConcreteLhs::* callback)(const wns::SmartPtr<OtherType>&) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:106:84: required from here
.include/WNS/DoubleDispatcher.hpp:273:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:273:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, const wns::SmartPtr<wns::DoubleDispatcherTest::A>&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:273:68: note: use 'this->addCallback' instead
.include/WNS/DoubleDispatcher.hpp: In instantiation of 'void wns::DoubleDispatcher<ConcreteLhs, const wns::SmartPtr<P>&, ResultType, 3>::addMemberFunction() [with ConcreteRhs = wns::DoubleDispatcherTest::A; ResultType (ConcreteLhs::* callback)(const wns::SmartPtr<OtherType>&) = &wns::DoubleDispatcherTest::AnotherDerivedReceiver::handle; ConcreteLhs = wns::DoubleDispatcherTest::AnotherDerivedReceiver; BaseRhs = wns::DoubleDispatcherTest::A; ResultType = int]':
framework/library/src/tests/DoubleDispatcherTest.cpp:108:84: required from here
.include/WNS/DoubleDispatcher.hpp:273:68: error: 'addCallback' was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive]
.include/WNS/DoubleDispatcher.hpp:273:68: note: declarations in dependent base 'wns::DoubleDispatcherBase<wns::DoubleDispatcherTest::A, int (*)(wns::DoubleDispatcherTest::AnotherDerivedReceiver&, const wns::SmartPtr<wns::DoubleDispatcherTest::A>&)>' are not found by unqualified lookup
.include/WNS/DoubleDispatcher.hpp:273:68: note: use 'this->addCallback' instead
scons: *** [.build/dbg/openwns-library/src/tests/DoubleDispatcherTest.os] Error 1
scons: building terminated because of errors.

Please help. Thanks in advance..

Question information

Language:
English Edit question
Status:
Solved
For:
IMTAphy Edit question
Assignee:
No assignee Edit question
Solved by:
creasy
Solved:
Last query:
Last reply:
Revision history for this message
creasy (creasywuqiong) said :
#1

I have solved this problem and successfully installed the program. The solution is to edit the "addCallback" function just as the suggestion provided by the compiler. Actually, besides this header file, there are quite a few other header files have the same error. And the solution is also add "this->" in front of the calling function. I am not sure if this is related with specific g++ compiler or it is a general question.

Revision history for this message
Maciej Muehleisen (mue-comnets) said :
#2

Thank you very much for fixing this. We only have the time to keep track with the Ubuntu LTS versions. Next one (14.04) is coming soon. By then we will assure all code adjustments are made some compiling works.

GCC seems to get more and more precise with each new version. Sometimes it is annoying but often it helped to detect bugs in long forgotten parts of the simulator.

Have fun with it and feel free to ask further questions if you run into problems or need tips how to adjust the IMTAPhy module for your needs.