NymphRPC icon indicating copy to clipboard operation
NymphRPC copied to clipboard

Compilation failure with poco 1.12.5

Open PureTryOut opened this issue 7 months ago • 1 comments

Hey @MayaPosch, a while ago poco 1.12.5 has been released by NymphRPC currently fails to compile with it (libnymphcast however compiles fine with it):

g++ -c -o obj/shared/x86_64-alpine-linux-musl/src/worker.o src/worker.cpp -fPIC -shared -Wl,-soname,libnymphrpc.so.0.1 -I src -g3 -std=c++11 -O0 -lPocoNet -lPocoUtil -lPocoFoundation -lPocoJSON  -pthread
In file included from /usr/include/Poco/Dynamic/Var.h:26,
                 from src/nymph_utilities.h:23,
                 from src/nymph_message.cpp:16:
/usr/include/Poco/Dynamic/VarHolder.h:365:48: error: 'std::enable_if_t' has not been declared
  365 |         template <typename F, typename T, std::enable_if_t<std::is_floating_point<F>::value, bool> = true>
      |                                                ^~~~~~~~~~~
/usr/include/Poco/Dynamic/VarHolder.h:365:59: error: expected '>' before '<' token
  365 |         template <typename F, typename T, std::enable_if_t<std::is_floating_point<F>::value, bool> = true>
      |                                                           ^
/usr/include/Poco/Dynamic/VarHolder.h:402:48: error: 'std::enable_if_t' has not been declared
  402 |         template <typename F, typename T, std::enable_if_t<std::is_integral<F>::value, bool> = true>
      |                                                ^~~~~~~~~~~
/usr/include/Poco/Dynamic/VarHolder.h:402:59: error: expected '>' before '<' token
  402 |         template <typename F, typename T, std::enable_if_t<std::is_integral<F>::value, bool> = true>
      |                                                           ^
/usr/include/Poco/Dynamic/VarHolder.h:409:48: error: 'std::enable_if_t' has not been declared
  409 |         template <typename F, typename T, std::enable_if_t<std::is_integral<F>::value, bool> = true>
      |                                                ^~~~~~~~~~~
/usr/include/Poco/Dynamic/VarHolder.h:409:59: error: expected '>' before '<' token
  409 |         template <typename F, typename T, std::enable_if_t<std::is_integral<F>::value, bool> = true>
      |                                                           ^
/usr/include/Poco/Dynamic/VarHolder.h:416:48: error: 'std::enable_if_t' has not been declared
  416 |         template <typename F, typename T, std::enable_if_t<std::is_floating_point<F>::value, bool> = true>
      |                                                ^~~~~~~~~~~
/usr/include/Poco/Dynamic/VarHolder.h:416:59: error: expected '>' before '<' token
  416 |         template <typename F, typename T, std::enable_if_t<std::is_floating_point<F>::value, bool> = true>
      |                                                           ^
/usr/include/Poco/Dynamic/VarHolder.h:417:14: error: 'template<class F, class T, <typeprefixerror><anonymous> > void Poco::Dynamic::VarHolder::checkUpperLimit(const F&) const' cannot be overloaded with 'template<class F, class T, <typeprefixerror><anonymous> > void Poco::Dynamic::VarHolder::checkUpperLimit(const F&) const'
  417 |         void checkUpperLimit(const F& from) const
      |              ^~~~~~~~~~~~~~~
/usr/include/Poco/Dynamic/VarHolder.h:403:14: note: previous declaration 'template<class F, class T, <typeprefixerror><anonymous> > void Poco::Dynamic::VarHolder::checkUpperLimit(const F&) const'
  403 |         void checkUpperLimit(const F& from) const
      |              ^~~~~~~~~~~~~~~
/usr/include/Poco/Dynamic/VarHolder.h:432:48: error: 'std::enable_if_t' has not been declared
  432 |         template <typename F, typename T, std::enable_if_t<std::is_floating_point<F>::value, bool> = true>
      |                                                ^~~~~~~~~~~
/usr/include/Poco/Dynamic/VarHolder.h:432:59: error: expected '>' before '<' token
  432 |         template <typename F, typename T, std::enable_if_t<std::is_floating_point<F>::value, bool> = true>
      |                                                           ^
/usr/include/Poco/Dynamic/VarHolder.h:433:14: error: 'template<class F, class T, <typeprefixerror><anonymous> > void Poco::Dynamic::VarHolder::checkLowerLimit(const F&) const' cannot be overloaded with 'template<class F, class T, <typeprefixerror><anonymous> > void Poco::Dynamic::VarHolder::checkLowerLimit(const F&) const'
  433 |         void checkLowerLimit(const F& from) const
      |              ^~~~~~~~~~~~~~~
/usr/include/Poco/Dynamic/VarHolder.h:410:14: note: previous declaration 'template<class F, class T, <typeprefixerror><anonymous> > void Poco::Dynamic::VarHolder::checkLowerLimit(const F&) const'
  410 |         void checkLowerLimit(const F& from) const
      |              ^~~~~~~~~~~~~~~
In file included from /usr/include/Poco/Dynamic/Var.h:26,

The full error log is 2000 or so lines so I rather not post that fully :stuck_out_tongue:

PureTryOut avatar Dec 04 '23 09:12 PureTryOut