[Pianod] Make Fails on pianod2
Perette Barella
perette at barella.org
Sat Dec 12 14:28:05 PST 2015
> make[3]: Entering directory '/home/pi/pianod2setup/pianod2-164/src/common'
> g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../src/include -D_GNU_SOURCE -DSYSCONFDIR='"/usr/local/etc"' -g -O2 -std=gnu++11 -MT libutility_a-lookup.o -MD -MP -MF .deps/libutility_a-lookup.Tpo -c -o libutility_a-lookup.o `test -f 'lookup.cpp' || echo './'`lookup.cpp
>
> In file included from lookup.cpp:16:0:
> lookup.h:154:23: error: ‘RatingLookup::base_class {aka LookupTable<rating_values_t, rating_lookup_t>}::LookupTable’ names constructor
Suggests compiler is missing constructor inheritance (C++11 feature). -std=gnu++11 is in the compiler line, so likely older compiler.
The below failure seems due to missing constructor noted above.
> lookup.cpp:41:34: error: no matching function for call to ‘RatingLookup::RatingLookup(const RATING_LOOKUP [14])’
> lookup.cpp:41:34: note: candidate is:
> In file included from lookup.cpp:16:0:
> lookup.h:151:7: note: constexpr RatingLookup::RatingLookup(const RatingLookup&) — signature of copy constructor
> lookup.h:151:7: note: no known conversion for argument 1 from ‘const RATING_LOOKUP [14] {aka const rating_lookup_t [14]}’ to ‘const RatingLookup&’ — force to try a type conversion because the proper constructor didn’t get inherited
LookupTable (const LookupTableType *tab) {
table = tab;
}
Replace line lookup.h:151:
using base_class::LookupTable;
with:
RatingLookup (const RATING_LOOKUP *tab) : LookupTable (tab) { };
If that fixes it, it confirms it’s constructor inheritance. I don’t think there’s too many instances, so if there’s some good reason for not just upgrading the compiler, and that’s the only older-compiler snag...I’m willing to code around it. Still, I don’t want to jump through hoops in code for backward combatability. Look into upgrading the compiler; if it’s not reasonable, let me know what other stumbling blocks this older beast poses.
Perette
--
Perette Barella • perette at barella.org • 585-286-1312
176 Middlesex Road, Rochester NY 14610
On 2015年12月12日, at 15:13, Perette Barella <perette at barella.org> wrote:
> A quick look suggests the compiler is choking on constructor inheritance; if so, the workaround is to implement constructors in the derived class; see http://stackoverflow.com/questions/9979194/what-is-constructor-inheritance
>
> What version of g++?
> g++ --version
> I’m using G++ 5.2 and it’s been handling constructor inheritance. If you’re on an older version perhaps it’s not there yet.
>
> I’ll take a more in-depth look and confirm the quick Dx when I’m not pressed for time. Thanks for reporting this.
>
> Perette
>
> --
> Perette Barella • perette at barella.org • 585-286-1312
> 176 Middlesex Road, Rochester NY 14610
>
> On 2015年12月12日, at 14:58, Michael Himmelstein KB3NZQ <kb3nzq at gmail.com> wrote:
>
>> trying to build pianod2 on raspberry pi and make keeps failing with this
>>
>>
>> pi at Pianod2 ~/pianod2setup/pianod2-164 $ make
>> make all-recursive
>> make[1]: Entering directory '/home/pi/pianod2setup/pianod2-164'
>> Making all in src
>> make[2]: Entering directory '/home/pi/pianod2setup/pianod2-164/src'
>> Making all in include
>> make[3]: Entering directory '/home/pi/pianod2setup/pianod2-164/src/include'
>> make[3]: Nothing to be done for 'all'.
>> make[3]: Leaving directory '/home/pi/pianod2setup/pianod2-164/src/include'
>> Making all in common
>> make[3]: Entering directory '/home/pi/pianod2setup/pianod2-164/src/common'
>> g++ -DHAVE_CONFIG_H -I. -I../.. -I../.. -I../../src/include -D_GNU_SOURCE -DSYSCONFDIR='"/usr/local/etc"' -g -O2 -std=gnu++11 -MT libutility_a-lookup.o -MD -MP -MF .deps/libutility_a-lookup.Tpo -c -o libutility_a-lookup.o `test -f 'lookup.cpp' || echo './'`lookup.cpp
>> In file included from lookup.cpp:16:0:
>> lookup.h:154:23: error: ‘RatingLookup::base_class {aka LookupTable<rating_values_t, rating_lookup_t>}::LookupTable’ names constructor
>> lookup.cpp:41:34: error: no matching function for call to ‘RatingLookup::RatingLookup(const RATING_LOOKUP [14])’
>> lookup.cpp:41:34: note: candidate is:
>> In file included from lookup.cpp:16:0:
>> lookup.h:151:7: note: constexpr RatingLookup::RatingLookup(const RatingLookup&)
>> lookup.h:151:7: note: no known conversion for argument 1 from ‘const RATING_LOOKUP [14] {aka const rating_lookup_t [14]}’ to ‘const RatingLookup&’
>> Makefile:408: recipe for target 'libutility_a-lookup.o' failed
>> make[3]: *** [libutility_a-lookup.o] Error 1
>> make[3]: Leaving directory '/home/pi/pianod2setup/pianod2-164/src/common'
>> Makefile:1090: recipe for target 'all-recursive' failed
>> make[2]: *** [all-recursive] Error 1
>> make[2]: Leaving directory '/home/pi/pianod2setup/pianod2-164/src'
>> Makefile:666: recipe for target 'all-recursive' failed
>> make[1]: *** [all-recursive] Error 1
>> make[1]: Leaving directory '/home/pi/pianod2setup/pianod2-164'
>> Makefile:585: recipe for target 'all' failed
>> make: *** [all] Error 2
>>
>>
>> configure runns fine but it will not make.
>>
>> Michael Himmelstein
>> _______________________________________________
>> Pianod mailing list
>> Pianod at lists.deviousfish.com
>> http://lists.deviousfish.com/listinfo.cgi/pianod-deviousfish.com
>
> _______________________________________________
> Pianod mailing list
> Pianod at lists.deviousfish.com
> http://lists.deviousfish.com/listinfo.cgi/pianod-deviousfish.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.deviousfish.com/pipermail/pianod-deviousfish.com/attachments/20151212/fc3ddd9c/attachment-0001.htm>
More information about the Pianod
mailing list