warthog-network / Warthog

Experimental cryptocurrency implementation
MIT License
21 stars 13 forks source link

build on hiveOS #22

Closed TawaFiF closed 9 months ago

TawaFiF commented 9 months ago

Edit: logfile fif.log

First, i install gcc-11 and g++-11 and all dependencies needed to build on my computer. I edit messon.build to specify gnu++11 i execute: meson configure -Denable-gpu-miner=true and when i run 'ninja' i have this error:

      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  201 |
      |
  202 |                     /* Todo: can this handle timeout for non-post as well? */
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  203 |                     if (fin) {
      |                     ~~~~~~~~~~
  204 |                         /* If we just got the last chunk (or empty chunk), disable timeout */
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  205 |                         us_socket_timeout(SSL, (struct us_socket_t *) user, 0);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  206 |                     } else {
      |                     ~~~~~~~~
  207 |                         /* We still have some more data coming in later, so reset timeout */
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  208 |                         us_socket_timeout(SSL, (struct us_socket_t *) user, HTTP_IDLE_TIMEOUT_S);
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  209 |                     }
      |                     ~
  210 |
      |
  211 |                     /* We might respond in the handler, so do not change timeout after this */
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  212 |                     httpResponseData->inStream(data, fin);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  213 |
      |
  214 |                     /* Was the socket closed? */
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  215 |                     if (us_socket_is_closed(SSL, (struct us_socket_t *) user)) {
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  216 |                         return nullptr;
      |                         ~~~~~~~~~~~~~~~
  217 |                     }
      |                     ~
  218 |
      |
  219 |                     /* We absolutely have to terminate parsing if shutdown */
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  220 |                     if (us_socket_is_shut_down(SSL, (us_socket_t *) user)) {
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  221 |                         return nullptr;
      |                         ~~~~~~~~~~~~~~~
  222 |                     }
      |                     ~
  223 |
      |
  224 |                     /* If we were given the last data chunk, reset data handler to ensure following
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  225 |                      * requests on the same socket won't trigger any previously registered behavior */
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  226 |                     if (fin) {
      |                     ~~~~~~~~~~
  227 |                         httpResponseData->inStream = nullptr;
      |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  228 |                     }
      |                     ~
  229 |                 }
      |                 ~
  230 |                 return user;
      |                 ~~~~~~~~~~~~
  231 |             }, [](void *user) {
      |             ~~~~~~~~~~~~~~~~~~~
  232 |                  /* Close any socket on HTTP errors */
      |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  233 |                 us_socket_close(SSL, (us_socket_t *) user, 0, nullptr);
      |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  234 |                 return nullptr;
      |                 ~~~~~~~~~~~~~~~
  235 |             });
      |             ~~
.././thirdparty/./uWebsockets/./include/uwebsockets/HttpParser.h:287:11: note: candidate: ‘void* uWS::HttpParser::consumePostPadded(char*, unsigned int, void*, void*, uWS::MoveOnlyFunction<void*(void*, uWS::HttpRequest*)>&&, int)’
  287 |     void *consumePostPadded(char *data, unsigned int length, void *user, void *reserved, MoveOnlyFunction<void *(void *, HttpRequest *)> &&requestHandler, MoveOnlyFunction<void *(void *, std::string_view, bool)> &&dataHandler, MoveOnlyFunction<void *(void *)> &&errorHandler) {
      |           ^~~~~~~~~~~~~~~~~
.././thirdparty/./uWebsockets/./include/uwebsockets/HttpParser.h:287:11: note:   candidate expects 6 arguments, 7 provided
.././thirdparty/./uWebsockets/./include/uwebsockets/MoveOnlyFunction.h: In instantiation of ‘class ofats::any_detail::any_invocable_impl<bool, false, uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>*>’:
.././thirdparty/./uWebsockets/./include/uwebsockets/MoveOnlyFunction.h:354:1:   required from ‘class ofats::any_invocable<bool(uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>*)>’
/usr/include/c++/13/bits/stl_vector.h:367:35:   required from ‘std::_Vector_base<_Tp, _Alloc>::~_Vector_base() [with _Tp = ofats::any_invocable<bool(uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>*)>; _Alloc = std::allocator<ofats::any_invocable<bool(uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>*)> >]’
/usr/include/c++/13/bits/stl_vector.h:735:7:   required from ‘std::vector<_Tp, _Alloc>::~vector() [with _Tp = ofats::any_invocable<bool(uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>*)>; _Alloc = std::allocator<ofats::any_invocable<bool(uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>*)> >]’
.././thirdparty/./uWebsockets/./include/uwebsockets/HttpRouter.h:35:8:   required from ‘void uWS::HttpContext<<anonymous> >::free() [with bool SSL = false]’
.././thirdparty/./uWebsockets/./include/uwebsockets/App.h:151:30:   required from ‘uWS::TemplatedApp<SSL>::~TemplatedApp() [with bool SSL = false]’
../src/node/api/http/endpoint.hpp:17:5:   required from here
.././thirdparty/./uWebsockets/./include/uwebsockets/MoveOnlyFunction.h:174:9: error: no class template named ‘handler’ in ‘struct ofats::any_detail::handler_traits<bool, uWS::HttpRouter<uWS::HttpContextData<false>::RouterData>*>’
  174 |   using handler =
      |         ^~~~~~~
[51/221] Generating symbol file 'thirdparty/secp256k1/18ef43b@@warthogsecp256k1@sha/libwarthogsecp256k1.so.symbols'.
[52/221] Compiling C object 'subprojects/sqlite-amalgamation-3390300/e386251@@sqlite3@sha/sqlite3.c.o'.
ninja: build stopped: subcommand failed.
JulsKawa commented 9 months ago

I invite you to come to the discord, someone is working on the hive os support, I invite you to have a look: https://github.com/bu11ettrain/janusminer-hiveos , so you can close your issue.

TawaFiF commented 9 months ago

Thx, i found that after put this issue but it crashed (segmentation fault) on my rig (old cpu, pentium with 2 threads), but it works on the a friend rig with ryzen 3950

CoinFuMasterShifu commented 9 months ago

Old CPUs are not supported.