[Pianod] Make Fails on pianod2
Michael Himmelstein KB3NZQ
kb3nzq at gmail.com
Mon Dec 14 09:54:48 PST 2015
I'll try that tonight after work
On Dec 12, 2015 5:28 PM, "Perette Barella" <perette at barella.org> wrote:
> 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
>
>
>
> _______________________________________________
> 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/20151214/1218fe46/attachment-0001.htm>
More information about the Pianod
mailing list