Open IngwiePhoenix opened 6 months ago
There's no newer version of strfry than that, so why do you expect a newer Docker image?
Sorry for the delay. I'm planning on doing a release soon-ish!
I can't seem to run any of the docker images locally for 32a367738c6db7430780058c4a6c98b271af73b2, the errors suggest that the linker is unable to find the necessary symbols from the uWebSockets library.
docker build -f ubuntu.Dockerfile -t strfry_image_ubuntu .
76.05 g++ golpe/logging.o build/main.o build/config.o src/Decompressor.o src/events.o src/misc.o src/onAppStartup.o src/apps/dbutils/cmd_compact.o src/apps/dbutils/cmd_delete.o src/apps/dbutils/cmd_dict.o src/apps/dbutils/cmd_export.o src/apps/dbutils/cmd_import.o src/apps/dbutils/cmd_info.o src/apps/dbutils/cmd_monitor.o src/apps/dbutils/cmd_scan.o src/apps/relay/RelayCron.o src/apps/relay/RelayIngester.o src/apps/relay/RelayNegentropy.o src/apps/relay/RelayReqMonitor.o src/apps/relay/RelayReqWorker.o src/apps/relay/RelaySignalHandler.o src/apps/relay/RelayWebsocket.o src/apps/relay/RelayWriter.o src/apps/relay/cmd_relay.o src/apps/mesh/cmd_router.o src/apps/mesh/cmd_stream.o src/apps/mesh/cmd_sync.o -flto golpe/external/uWebSockets/libuWS.a -llmdb -lcrypto -lssl -lz -ldl -pthread -lsecp256k1 -lzstd -o strfry
77.58 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::StreamGroup::Connection::~Connection()':
86.59 /build/src/apps/mesh/cmd_router.cpp:65: undefined reference to `uWS::WebSocket<false>::close(int, char const*, unsigned long)'
86.59 /usr/bin/ld: /build/src/apps/mesh/cmd_router.cpp:65: undefined reference to `uWS::WebSocket<false>::close(int, char const*, unsigned long)'
86.59 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `uWS::Hub::~Hub()':
86.59 /build/golpe/external/uWebSockets/src/Hub.h:73: undefined reference to `uS::Node::~Node()'
86.59 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:73: undefined reference to `uS::Node::~Node()'
86.59 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::run()':
86.59 /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h:749: undefined reference to `uS::cbMutex'
86.59 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `__gthread_mutex_lock':
86.59 /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h:749: undefined reference to `uS::cbMutex'
86.59 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `uS::Poll::setCb(void (*)(uS::Poll*, int, int))':
86.59 /build/golpe/external/uWebSockets/src/Epoll.h:150: undefined reference to `uS::cbHead'
86.59 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:150: undefined reference to `uS::cbHead'
86.59 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
86.59 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
86.59 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
86.59 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
86.59 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::run()':
86.59 /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h:779: undefined reference to `uS::cbMutex'
86.59 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::run()':
86.59 /build/src/apps/mesh/cmd_router.cpp:436: undefined reference to `uS::Node::run()'
86.59 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `uS::Poll::setCb(void (*)(uS::Poll*, int, int))':
86.59 /build/golpe/external/uWebSockets/src/Epoll.h:158: undefined reference to `uS::callbacks'
86.59 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:158: undefined reference to `uS::cbHead'
86.59 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:158: undefined reference to `uS::callbacks'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::StreamGroup::tryConnects()':
86.60 /build/src/apps/mesh/cmd_router.cpp:144: undefined reference to `uWS::Hub::connect(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, int, uWS::Group<false>*)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::StreamGroup::connOpen(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, uWS::WebSocket<false>*)':
86.60 /build/src/apps/mesh/cmd_router.cpp:156: undefined reference to `uWS::WebSocket<false>::close(int, char const*, unsigned long)'
86.60 /usr/bin/ld: /build/src/apps/mesh/cmd_router.cpp:167: undefined reference to `uWS::WebSocket<false>::send(char const*, unsigned long, uWS::OpCode, void (*)(uWS::WebSocket<false>*, void*, bool, void*), void*, bool, unsigned long*)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::Router(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(uWS::WebSocket<false>*, uWS::HttpRequest)#1}::operator()(uWS::WebSocket<false>*, uWS::HttpRequest) const':
86.60 /build/src/apps/mesh/cmd_router.cpp:249: undefined reference to `uWS::WebSocket<false>::close(int, char const*, unsigned long)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::StreamGroup::Connection::~Connection()':
86.60 /build/src/apps/mesh/cmd_router.cpp:65: undefined reference to `uWS::WebSocket<false>::close(int, char const*, unsigned long)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::StreamGroup::outgoingEvent(lmdb::txn&, defaultDb::environment::View_Event&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, tao::json::basic_value<tao::json::traits>&)':
86.60 /build/src/apps/mesh/cmd_router.cpp:212: undefined reference to `uWS::WebSocket<false>::send(char const*, unsigned long, uWS::OpCode, void (*)(uWS::WebSocket<false>*, void*, bool, void*), void*, bool, unsigned long*)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::Router(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)::{lambda(uWS::WebSocket<false>*, char*, unsigned long, uWS::OpCode, unsigned long)#4}::operator()(uWS::WebSocket<false>*, char*, unsigned long, uWS::OpCode, unsigned long) const':
86.60 /build/src/apps/mesh/cmd_router.cpp:278: undefined reference to `uWS::WebSocket<false>::close(int, char const*, unsigned long)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::StreamGroup::Connection::~Connection()':
86.60 /build/src/apps/mesh/cmd_router.cpp:65: undefined reference to `uWS::WebSocket<false>::close(int, char const*, unsigned long)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::StreamGroup::configure(tao::json::basic_value<tao::config::traits> const&)':
86.60 /build/src/apps/mesh/cmd_router.cpp:128: undefined reference to `uWS::WebSocket<false>::close(int, char const*, unsigned long)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::StreamGroup::Connection::~Connection()':
86.60 /build/src/apps/mesh/cmd_router.cpp:65: undefined reference to `uWS::WebSocket<false>::close(int, char const*, unsigned long)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `uWS::Hub::Hub(int, bool, unsigned int)':
86.60 /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uS::Node::Node(int, int, int, bool)'
86.60 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uWS::Group<true>::Group(int, unsigned int, uWS::Hub*, uS::NodeData*)'
86.60 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uWS::Group<false>::Group(int, unsigned int, uWS::Hub*, uS::NodeData*)'
86.60 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:54: undefined reference to `uWS::Hub::allocateDefaultCompressor(z_stream_s*)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `uWS::Group<false>* uWS::Hub::createGroup<false>(int, unsigned int)':
86.60 /build/golpe/external/uWebSockets/src/Hub.h:36: undefined reference to `uWS::Group<false>::Group(int, unsigned int, uWS::Hub*, uS::NodeData*)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `Router::Router(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
86.60 /build/src/apps/mesh/cmd_router.cpp:243: undefined reference to `uWS::Group<false>::onConnection(std::function<void (uWS::WebSocket<false>*, uWS::HttpRequest)>)'
86.60 /usr/bin/ld: /build/src/apps/mesh/cmd_router.cpp:256: undefined reference to `uWS::Group<false>::onDisconnection(std::function<void (uWS::WebSocket<false>*, int, char*, unsigned long)>)'
86.60 /usr/bin/ld: /build/src/apps/mesh/cmd_router.cpp:267: undefined reference to `uWS::Group<false>::onError(std::function<void (void*)>)'
86.60 /usr/bin/ld: /build/src/apps/mesh/cmd_router.cpp:274: undefined reference to `uWS::Group<false>::onMessage2(std::function<void (uWS::WebSocket<false>*, char*, unsigned long, uWS::OpCode, unsigned long)>)'
86.60 /usr/bin/ld: src/apps/mesh/cmd_router.o: in function `uWS::Hub::~Hub()':
86.60 /build/golpe/external/uWebSockets/src/Hub.h:73: undefined reference to `uS::Node::~Node()'
86.64 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `WSConnection::send(std::basic_string_view<char, std::char_traits<char> >, uWS::OpCode, unsigned long*)':
92.81 /build/src/WSConnection.h:45: undefined reference to `uWS::WebSocket<false>::send(char const*, unsigned long, uWS::OpCode, void (*)(uWS::WebSocket<false>*, void*, bool, void*), void*, bool, unsigned long*)'
92.81 /usr/bin/ld: /build/src/WSConnection.h:45: undefined reference to `uWS::WebSocket<false>::send(char const*, unsigned long, uWS::OpCode, void (*)(uWS::WebSocket<false>*, void*, bool, void*), void*, bool, unsigned long*)'
92.81 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `uWS::Hub::Hub(int, bool, unsigned int)':
92.81 /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uS::Node::Node(int, int, int, bool)'
92.81 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uWS::Group<true>::Group(int, unsigned int, uWS::Hub*, uS::NodeData*)'
92.81 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uWS::Group<false>::Group(int, unsigned int, uWS::Hub*, uS::NodeData*)'
92.81 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:54: undefined reference to `uWS::Hub::allocateDefaultCompressor(z_stream_s*)'
92.81 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:67: undefined reference to `uS::Node::~Node()'
92.81 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `uWS::Hub::~Hub()':
92.81 /build/golpe/external/uWebSockets/src/Hub.h:73: undefined reference to `uS::Node::~Node()'
92.81 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `WSConnection::run()::{lambda(unsigned long)#1}::operator()(unsigned long) const':
92.81 /build/src/WSConnection.h:63: undefined reference to `uWS::Hub::connect(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, void*, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, int, uWS::Group<false>*)'
92.81 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `uWS::Group<false>* uWS::Hub::createGroup<false>(int, unsigned int)':
92.81 /build/golpe/external/uWebSockets/src/Hub.h:36: undefined reference to `uWS::Group<false>::Group(int, unsigned int, uWS::Hub*, uS::NodeData*)'
92.81 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `WSConnection::run()':
92.81 /build/src/WSConnection.h:67: undefined reference to `uWS::Group<false>::onConnection(std::function<void (uWS::WebSocket<false>*, uWS::HttpRequest)>)'
92.81 /usr/bin/ld: /build/src/WSConnection.h:95: undefined reference to `uWS::Group<false>::onDisconnection(std::function<void (uWS::WebSocket<false>*, int, char*, unsigned long)>)'
92.81 /usr/bin/ld: /build/src/WSConnection.h:110: undefined reference to `uWS::Group<false>::onError(std::function<void (void*)>)'
92.81 /usr/bin/ld: /build/src/WSConnection.h:117: undefined reference to `uWS::Group<false>::onMessage2(std::function<void (uWS::WebSocket<false>*, char*, unsigned long, uWS::OpCode, unsigned long)>)'
92.81 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `WSConnection::run()':
92.81 /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h:749: undefined reference to `uS::cbMutex'
92.81 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `__gthread_mutex_lock':
92.81 /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h:749: undefined reference to `uS::cbMutex'
92.81 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `uS::Poll::setCb(void (*)(uS::Poll*, int, int))':
92.81 /build/golpe/external/uWebSockets/src/Epoll.h:150: undefined reference to `uS::cbHead'
92.81 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:150: undefined reference to `uS::cbHead'
92.81 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
92.81 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
92.81 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
92.81 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
92.81 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `WSConnection::run()':
92.81 /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h:779: undefined reference to `uS::cbMutex'
92.81 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `WSConnection::run()':
92.81 /build/src/WSConnection.h:153: undefined reference to `uS::Node::run()'
92.81 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `uS::Poll::setCb(void (*)(uS::Poll*, int, int))':
92.81 /build/golpe/external/uWebSockets/src/Epoll.h:158: undefined reference to `uS::callbacks'
92.81 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:158: undefined reference to `uS::cbHead'
92.81 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:158: undefined reference to `uS::callbacks'
92.82 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `WSConnection::terminate()':
92.82 /build/src/WSConnection.h:161: undefined reference to `uWS::Group<false>::close(int, char*, unsigned long)'
92.82 /usr/bin/ld: /build/src/WSConnection.h:171: undefined reference to `uWS::WebSocket<false>::terminate(char*, unsigned long)'
92.82 /usr/bin/ld: src/apps/mesh/cmd_stream.o: in function `WSConnection::run()::{lambda(uWS::WebSocket<false>*, uWS::HttpRequest)#2}::operator()(uWS::WebSocket<false>*, uWS::HttpRequest) const':
92.82 /build/src/WSConnection.h:71: undefined reference to `uWS::WebSocket<false>::terminate(char*, unsigned long)'
92.82 /usr/bin/ld: /build/src/WSConnection.h:75: undefined reference to `uS::Socket::getAddress()'
92.85 /usr/bin/ld: src/apps/mesh/cmd_sync.o: in function `WSConnection::send(std::basic_string_view<char, std::char_traits<char> >, uWS::OpCode, unsigned long*)':
102.5 /build/src/WSConnection.h:45: undefined reference to `uWS::WebSocket<false>::send(char const*, unsigned long, uWS::OpCode, void (*)(uWS::WebSocket<false>*, void*, bool, void*), void*, bool, unsigned long*)'
102.5 /usr/bin/ld: /build/src/WSConnection.h:45: undefined reference to `uWS::WebSocket<false>::send(char const*, unsigned long, uWS::OpCode, void (*)(uWS::WebSocket<false>*, void*, bool, void*), void*, bool, unsigned long*)'
102.5 /usr/bin/ld: src/apps/mesh/cmd_sync.o: in function `uWS::Hub::Hub(int, bool, unsigned int)':
102.5 /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uS::Node::Node(int, int, int, bool)'
102.5 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uWS::Group<true>::Group(int, unsigned int, uWS::Hub*, uS::NodeData*)'
102.5 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uWS::Group<false>::Group(int, unsigned int, uWS::Hub*, uS::NodeData*)'
102.5 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:54: undefined reference to `uWS::Hub::allocateDefaultCompressor(z_stream_s*)'
102.5 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:67: undefined reference to `uS::Node::~Node()'
102.6 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `RelayServer::runWebsocket(ThreadPool<MsgWebsocket>::Thread&)::{lambda(uWS::WebSocket<true>*, uWS::HttpRequest)#6}::operator()(uWS::WebSocket<true>*, uWS::HttpRequest) const':
103.2 /build/src/apps/relay/RelayWebsocket.cpp:191: undefined reference to `uS::Socket::getAddressBytes[abi:cxx11]()'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `RelayServer::runWebsocket(ThreadPool<MsgWebsocket>::Thread&)::{lambda()#9}::operator()() const':
103.2 /build/src/apps/relay/RelayWebsocket.cpp:258: undefined reference to `uWS::WebSocket<true>::send(char const*, unsigned long, uWS::OpCode, void (*)(uWS::WebSocket<true>*, void*, bool, void*), void*, bool, unsigned long*)'
103.2 /usr/bin/ld: /build/src/apps/relay/RelayWebsocket.cpp:258: undefined reference to `uWS::WebSocket<true>::send(char const*, unsigned long, uWS::OpCode, void (*)(uWS::WebSocket<true>*, void*, bool, void*), void*, bool, unsigned long*)'
103.2 /usr/bin/ld: /build/src/apps/relay/RelayWebsocket.cpp:258: undefined reference to `uWS::WebSocket<true>::send(char const*, unsigned long, uWS::OpCode, void (*)(uWS::WebSocket<true>*, void*, bool, void*), void*, bool, unsigned long*)'
103.2 /usr/bin/ld: /build/src/apps/relay/RelayWebsocket.cpp:285: undefined reference to `uWS::Group<true>::stopListening()'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `uWS::Hub::Hub(int, bool, unsigned int)':
103.2 /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uS::Node::Node(int, int, int, bool)'
103.2 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uWS::Group<true>::Group(int, unsigned int, uWS::Hub*, uS::NodeData*)'
103.2 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:50: undefined reference to `uWS::Group<false>::Group(int, unsigned int, uWS::Hub*, uS::NodeData*)'
103.2 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Hub.h:54: undefined reference to `uWS::Hub::allocateDefaultCompressor(z_stream_s*)'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `uWS::Group<true>* uWS::Hub::createGroup<true>(int, unsigned int)':
103.2 /build/golpe/external/uWebSockets/src/Hub.h:36: undefined reference to `uWS::Group<true>::Group(int, unsigned int, uWS::Hub*, uS::NodeData*)'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `RelayServer::runWebsocket(ThreadPool<MsgWebsocket>::Thread&)':
103.2 /build/src/apps/relay/RelayWebsocket.cpp:157: undefined reference to `uWS::Group<true>::startAutoPing(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)'
103.2 /usr/bin/ld: /build/src/apps/relay/RelayWebsocket.cpp:159: undefined reference to `uWS::Group<true>::onHttpRequest(std::function<void (uWS::HttpResponse*, uWS::HttpRequest, char*, unsigned long, unsigned long)>)'
103.2 /usr/bin/ld: /build/src/apps/relay/RelayWebsocket.cpp:180: undefined reference to `uWS::Group<true>::onConnection(std::function<void (uWS::WebSocket<true>*, uWS::HttpRequest)>)'
103.2 /usr/bin/ld: /build/src/apps/relay/RelayWebsocket.cpp:211: undefined reference to `uWS::Group<true>::onDisconnection(std::function<void (uWS::WebSocket<true>*, int, char*, unsigned long)>)'
103.2 /usr/bin/ld: /build/src/apps/relay/RelayWebsocket.cpp:238: undefined reference to `uWS::Group<true>::onMessage2(std::function<void (uWS::WebSocket<true>*, char*, unsigned long, uWS::OpCode, unsigned long)>)'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `RelayServer::runWebsocket(ThreadPool<MsgWebsocket>::Thread&)':
103.2 /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h:749: undefined reference to `uS::cbMutex'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `__gthread_mutex_lock':
103.2 /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h:749: undefined reference to `uS::cbMutex'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `std::recursive_mutex::lock()':
103.2 /usr/include/c++/11/mutex:111: undefined reference to `uS::cbMutex'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `uS::Poll::setCb(void (*)(uS::Poll*, int, int))':
103.2 /build/golpe/external/uWebSockets/src/Epoll.h:150: undefined reference to `uS::cbHead'
103.2 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:150: undefined reference to `uS::cbHead'
103.2 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
103.2 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
103.2 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
103.2 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:152: undefined reference to `uS::callbacks'
103.2 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:158: undefined reference to `uS::callbacks'
103.2 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:158: undefined reference to `uS::cbHead'
103.2 /usr/bin/ld: /build/golpe/external/uWebSockets/src/Epoll.h:158: undefined reference to `uS::callbacks'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `RelayServer::runWebsocket(ThreadPool<MsgWebsocket>::Thread&)':
103.2 /usr/include/aarch64-linux-gnu/c++/11/bits/gthr-default.h:779: undefined reference to `uS::cbMutex'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `RelayServer::runWebsocket(ThreadPool<MsgWebsocket>::Thread&)':
103.2 /build/src/apps/relay/RelayWebsocket.cpp:304: undefined reference to `uWS::Hub::listen(char const*, int, uS::TLS::Context, int, uWS::Group<true>*)'
103.2 /usr/bin/ld: /build/src/apps/relay/RelayWebsocket.cpp:304: undefined reference to `uS::TLS::Context::~Context()'
103.2 /usr/bin/ld: /build/src/apps/relay/RelayWebsocket.cpp:308: undefined reference to `uS::Node::run()'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `uWS::Hub::~Hub()':
103.2 /build/golpe/external/uWebSockets/src/Hub.h:73: undefined reference to `uS::Node::~Node()'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `uWS::Hub::Hub(int, bool, unsigned int)':
103.2 /build/golpe/external/uWebSockets/src/Hub.h:67: undefined reference to `uS::Node::~Node()'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `RelayServer::runWebsocket(ThreadPool<MsgWebsocket>::Thread&)':
103.2 /build/src/apps/relay/RelayWebsocket.cpp:304: undefined reference to `uS::TLS::Context::~Context()'
103.2 /usr/bin/ld: src/apps/relay/RelayWebsocket.o: in function `uWS::Hub::~Hub()':
103.2 /build/golpe/external/uWebSockets/src/Hub.h:73: undefined reference to `uS::Node::~Node()'
103.5 collect2: error: ld returned 1 exit status
103.5 make: *** [golpe/rules.mk:26: strfry] Error 1
Apparently the last one is about 4 months old. I was writing a Kubernetes deployment and wanted to add strfry.