Skip Menu |

This queue is for tickets about the CPP-panda-lib CPAN distribution.

Report information
The Basics
Id: 124103
Status: resolved
Priority: 0/
Queue: CPP-panda-lib

People
Owner: Nobody in particular
Requestors: SREZIC [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.0.6
Fixed in: (no value)

Attachments
panda-lib-install-failure-freebsd-10.3.txt.gz



Subject: Does not compile on many platforms
This is a followup to https://rt.perl.org/Ticket/Display.html?id=131953 The dependency CPP-panda-lib-1.0.6 fails to compile on many platform. Here are some log excerpts: Ubuntu 16.04: "/opt/perl-5.26.1/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- lib.bs blib/arch/auto/CPP/panda/lib/lib.bs 644 c++ -c -Isrc -I/opt/perl-5.26.1/lib/site_perl/5.26.1/x86_64-linux/CPP/catch/test.x/i -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wextra -o lib.o -std=c++14 -g0 -O2 -DVERSION=\"1.0.6\" -DXS_VERSION=\"1.0.6\" -fPIC "-I/opt/perl-5.26.1/lib/5.26.1/x86_64-linux/CORE" lib.c In file included from src/panda/log.h:9:0, from t/src/test.h:17, from lib.xs:13: src/panda/CallbackDispatcher.h: In member function ‘void panda::CallbackDispatcher<Ret, Args>::add(const SimpleCallback&)’: src/panda/CallbackDispatcher.h:74:90: error: expected ‘,’ before ‘)’ token static_assert(panda::has_call_operator<decltype(wrapper), Event&, Args...>::value); ^ src/panda/CallbackDispatcher.h:74:90: error: expected string-literal before ‘)’ token Makefile:400: recipe for target 'lib.o' failed FreeBSD 10.3: "/usr/perl5.26.1p/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- lib.bs blib/arch/auto/CPP/panda/lib/lib.bs 644 c++ -c -Isrc -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector -I/usr/local/include -D_FORTIFY_SOURCE=2 -Wall -Wextra -o lib.o -std=c++14 -g0 -O2 -DVERSION=\"1.0.6\" -DXS_VERSION=\"1.0.6\" -DPIC -fPIC "-I/usr/perl5.26.1p/lib/5.26.1/amd64-freebsd/CORE" lib.c c++: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated error: invalid value 'c++14' in '-std=c++14' *** Error code 1 FreeBSD 12.0: "/usr/perl5.26.1p/bin/perl5.26.1" -MExtUtils::Command::MM -e 'cp_nonempty' -- lib.bs blib/arch/auto/CPP/panda/lib/lib.bs 644 c++ -c -Isrc -I/usr/perl5.26.1p/lib/site_perl/5.26.1/amd64-freebsd/CPP/catch/test.x/i -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -Wall -Wextra -o lib.o -std=c++14 -g0 -O2 -DVERSION=\"1.0.6\" -DXS_VERSION=\"1.0.6\" -DP IC -fPIC "-I/usr/perl5.26.1p/lib/5.26.1/amd64-freebsd/CORE" lib.c c++: warning: treating 'c' input as 'c++' when in C++ mode, this behavior is deprecated [-Wdeprecated] In file included from lib.xs:13: In file included from ./t/src/test.h:5: In file included from src/panda/string.h:2: In file included from src/panda/basic_string.h:13: In file included from src/panda/string_view.h:7: src/panda/basic_string_view.h:324:37: error: redefinition of 'basic_string_view' as different kind of symbol template <class C, class T> const C basic_string_view<C,T>::TERMINAL = C(); ^ src/panda/basic_string_view.h:11:7: note: previous definition is here class basic_string_view { ^ src/panda/basic_string_view.h:324:54: error: expected ';' at end of declaration template <class C, class T> const C basic_string_view<C,T>::TERMINAL = C(); ^ ; src/panda/basic_string_view.h:324:54: error: expected unqualified-id src/panda/basic_string_view.h:326:53: error: no template named 'basic_string_view' template <class C, class T> inline bool operator== (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) == 0; } ^ src/panda/basic_string_view.h:326:82: error: no template named 'basic_string_view' template <class C, class T> inline bool operator== (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) == 0; } ^ src/panda/basic_string_view.h:327:53: error: no template named 'basic_string_view' (etc.)
On Tue Jan 16 14:01:04 2018, SREZIC wrote: Show quoted text
> This is a followup to > https://rt.perl.org/Ticket/Display.html?id=131953 > The dependency CPP-panda-lib-1.0.6 fails to compile on many platform. > Here are some log excerpts: >
[snip] Show quoted text
> > FreeBSD 10.3: > > "/usr/perl5.26.1p/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' > -- lib.bs blib/arch/auto/CPP/panda/lib/lib.bs 644 > c++ -c -Isrc -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict- > aliasing -pipe -fstack-protector -I/usr/local/include > -D_FORTIFY_SOURCE=2 -Wall -Wextra -o lib.o -std=c++14 -g0 -O2 > -DVERSION=\"1.0.6\" -DXS_VERSION=\"1.0.6\" -DPIC -fPIC "- > I/usr/perl5.26.1p/lib/5.26.1/amd64-freebsd/CORE" lib.c > c++: warning: treating 'c' input as 'c++' when in C++ mode, this > behavior is deprecated > error: invalid value 'c++14' in '-std=c++14' > *** Error code 1 >
See attachment for error output when using 'cpan' to test Panda::Lib on FreeBSD-10.3 using perl 5 blead. This is perl 5, version 27, subversion 8 (v5.27.8 (v5.27.7-178-g0a72295)) built for amd64-freebsd-thread-multi
Subject: panda-lib-install-failure-freebsd-10.3.txt.gz

Message body not shown because it is not plain text.

On Tue Jan 23 12:36:06 2018, JKEENAN wrote: Show quoted text
> On Tue Jan 16 14:01:04 2018, SREZIC wrote:
> > This is a followup to > > https://rt.perl.org/Ticket/Display.html?id=131953 > > The dependency CPP-panda-lib-1.0.6 fails to compile on many platform. > > Here are some log excerpts: > >
> [snip] >
> > > > FreeBSD 10.3: > > > > "/usr/perl5.26.1p/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' > > -- lib.bs blib/arch/auto/CPP/panda/lib/lib.bs 644 > > c++ -c -Isrc -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict- > > aliasing -pipe -fstack-protector -I/usr/local/include > > -D_FORTIFY_SOURCE=2 -Wall -Wextra -o lib.o -std=c++14 -g0 -O2 > > -DVERSION=\"1.0.6\" -DXS_VERSION=\"1.0.6\" -DPIC -fPIC "- > > I/usr/perl5.26.1p/lib/5.26.1/amd64-freebsd/CORE" lib.c > > c++: warning: treating 'c' input as 'c++' when in C++ mode, this > > behavior is deprecated > > error: invalid value 'c++14' in '-std=c++14' > > *** Error code 1 > >
> > See attachment for error output when using 'cpan' to test Panda::Lib > on FreeBSD-10.3 using perl 5 blead. This is perl 5, version 27, > subversion 8 (v5.27.8 (v5.27.7-178-g0a72295)) built for amd64-freebsd- > thread-multi
Also fails against perl-5.31.0 on FreeBSD-12. Excerpt of cpanm build.log: ##### [analysis] $ dumpjson RANDIR.CPP-panda-lib-1.1.3.log.json { author => "RANDIR", dist => "CPP-panda-lib", distname => "CPP-panda-lib-1.1.3", distversion => "1.1.3", grade => "FAIL", prereqs => undef, test_output => [ "Building and testing CPP-panda-lib-v1.1.3", "cp src/panda/function.h blib/lib/CPP/panda/lib.x/i/panda/function.h", "cp src/panda/refcnt.h blib/lib/CPP/panda/lib.x/i/panda/refcnt.h", "cp src/panda/lib/owning_list.h blib/lib/CPP/panda/lib.x/i/panda/lib/owning_list.h", "cp src/panda/basic_string.h blib/lib/CPP/panda/lib.x/i/panda/basic_string.h", "cp src/panda/log.h blib/lib/CPP/panda/lib.x/i/panda/log.h", "cp src/panda/lib/endian.h blib/lib/CPP/panda/lib.x/i/panda/lib/endian.h", "cp blib/info blib/arch/CPP/panda/lib.x/info", "cp src/panda/string_set.h blib/lib/CPP/panda/lib.x/i/panda/string_set.h", "cp src/panda/lib/from_chars.h blib/lib/CPP/panda/lib.x/i/panda/lib/from_chars.h", "cp src/panda/string_map.h blib/lib/CPP/panda/lib.x/i/panda/string_map.h", "cp src/panda/string.h blib/lib/CPP/panda/lib.x/i/panda/string.h", "cp src/panda/cast.h blib/lib/CPP/panda/lib.x/i/panda/cast.h", "cp src/panda/lib/integer_sequence.h blib/lib/CPP/panda/lib.x/i/panda/lib/integer_sequence.h", "cp lib/CPP/panda/lib.pm blib/lib/CPP/panda/lib.pm", "cp src/panda/CallbackDispatcher.h blib/lib/CPP/panda/lib.x/i/panda/CallbackDispatcher.h", "cp src/panda/optional.h blib/lib/CPP/panda/lib.x/i/panda/optional.h", "cp src/panda/function_utils.h blib/lib/CPP/panda/lib.x/i/panda/function_utils.h", "cp src/panda/unordered_string_set.h blib/lib/CPP/panda/lib.x/i/panda/unordered_string_set.h", "cp src/panda/lib/memory.h blib/lib/CPP/panda/lib.x/i/panda/lib/memory.h", "cp src/panda/iterator.h blib/lib/CPP/panda/lib.x/i/panda/iterator.h", "cp src/panda/basic_string_view.h blib/lib/CPP/panda/lib.x/i/panda/basic_string_view.h", "cp src/panda/lib.h blib/lib/CPP/panda/lib.x/i/panda/lib.h", "cp src/panda/unordered_string_map.h blib/lib/CPP/panda/lib.x/i/panda/unordered_string_map.h", "cp src/panda/string_view.h blib/lib/CPP/panda/lib.x/i/panda/string_view.h", "cp src/panda/lib/hash.h blib/lib/CPP/panda/lib.x/i/panda/lib/hash.h", "Running Mkbootstrap for lib ()", "chmod 644 \"lib.bs\"", "\"/usr/home/jkeenan/var/tad/testing/perl-5.31.0/bin/perl\" -MExtUtils::Command::MM -e 'cp_nonempty' -- lib.bs blib/arch/auto/CPP/panda/lib/lib.bs 644", "c++ -c -Isrc -I/usr/home/jkeenan/var/tad/testing/perl-5.31.0/lib/site_perl/5.31.0/amd64-freebsd-thread-multi/CPP/catch/test.x/i -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -Wall -Wextra -o src/panda/lib.o -std=c++11 -g0 -O2 -DVERSION=\\\"1.1.3\\\" -DXS_VERSION=\\\"1.1.3\\\" -DPIC -fPIC \"-I/home/jkeenan/var/tad/testing/perl-5.31.0/lib/5.31.0/amd64-freebsd-thread-multi/CORE\" src/panda/lib.cc", "c++ -c -Isrc -I/usr/home/jkeenan/var/tad/testing/perl-5.31.0/lib/site_perl/5.31.0/amd64-freebsd-thread-multi/CPP/catch/test.x/i -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -Wall -Wextra -o src/panda/log.o -std=c++11 -g0 -O2 -DVERSION=\\\"1.1.3\\\" -DXS_VERSION=\\\"1.1.3\\\" -DPIC -fPIC \"-I/home/jkeenan/var/tad/testing/perl-5.31.0/lib/5.31.0/amd64-freebsd-thread-multi/CORE\" src/panda/log.cc", "In file included from src/panda/log.cc:1:", "In file included from src/panda/log.h:8:", "In file included from src/panda/string_view.h:7:", "src/panda/basic_string_view.h:324:37: warning: variable templates are a C++14 extension [-Wc++14-extensions]", "template <class C, class T> const C basic_string_view<C,T>::TERMINAL = C();", " ^", "src/panda/basic_string_view.h:324:37: error: redefinition of 'basic_string_view' as different kind of symbol", "src/panda/basic_string_view.h:11:7: note: previous definition is here", "class basic_string_view {", " ^", "src/panda/basic_string_view.h:324:54: error: expected ';' at end of declaration", "template <class C, class T> const C basic_string_view<C,T>::TERMINAL = C();", " ^", " ;", "src/panda/basic_string_view.h:324:54: error: expected unqualified-id", "src/panda/basic_string_view.h:326:53: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator== (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) == 0; }", " ^", "src/panda/basic_string_view.h:326:82: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator== (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) == 0; }", " ^", "src/panda/basic_string_view.h:327:53: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator!= (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) != 0; }", " ^", "src/panda/basic_string_view.h:327:82: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator!= (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) != 0; }", " ^", "src/panda/basic_string_view.h:328:53: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator< (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) < 0; }", " ^", "src/panda/basic_string_view.h:328:82: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator< (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) < 0; }", " ^", "src/panda/basic_string_view.h:329:53: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator<= (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) <= 0; }", " ^", "src/panda/basic_string_view.h:329:82: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator<= (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) <= 0; }", " ^", "src/panda/basic_string_view.h:330:53: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator> (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) > 0; }", " ^", "src/panda/basic_string_view.h:330:82: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator> (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) > 0; }", " ^", "src/panda/basic_string_view.h:331:53: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator>= (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) >= 0; }", " ^", "src/panda/basic_string_view.h:331:82: error: no template named 'basic_string_view'", "template <class C, class T> inline bool operator>= (basic_string_view <C,T> lhs, basic_string_view <C,T> rhs) { return lhs.compare(rhs) >= 0; }", " ^", "src/panda/basic_string_view.h:334:52: error: no template named 'basic_string_view'", "inline std::ostream& operator<< (std::ostream& os, basic_string_view<C,T> v) {", " ^", "In file included from src/panda/log.cc:1:", "In file included from src/panda/log.h:8:", "src/panda/string_view.h:11:13: error: no template named 'basic_string_view'", " typedef basic_string_view<char> string_view;", " ^", "src/panda/string_view.h:12:13: error: no template named 'basic_string_view'", " typedef basic_string_view<wchar_t> wstring_view;", " ^", "src/panda/string_view.h:13:13: error: no template named 'basic_string_view'", " typedef basic_string_view<char16_t> u16string_view;", " ^", "fatal error: too many errors emitted, stopping now [-ferror-limit=]", "1 warning and 20 errors generated.", "*** Error code 1", "", "Stop.", "make: stopped in /usr/home/jkeenan/var/tad/testing/perl-5.31.0/.cpanm/work/1562787494.14114/CPP-panda-lib-1.1.3", "-> FAIL Installing CPP::panda::lib failed. See /home/jkeenan/var/tad/testing/perl-5.31.0/.cpanm/work/1562787494.14114/build.log for details. Retry with --force to force install it.", ], via => "App::cpanminus::reporter 0.17 (1.7044)", } #####
I've uploaded new CPP::panda::lib it should be ok on platforms that has C++14 capable compiler. On older compilers (C++11 and older) unfortunately, it won't compile, because we decided to move to C++14
C++14 is required (latest version of XS::Install will handle older compilers, and mark "Not available" in cpan testers table, instead of failing at compilation phase)