Closed DJDan closed 4 years ago
@nagalun What parameters can I use to get this to compile properly?
I never tried to compile the server on mac, and I also don't have a mac os machine to test on, so I don't really know what's happening here, but that error seems out of place, are you using the correct compiler? It's complaining about windows, yet, you're supposedly targeting mac os.
I dont know. Possibly mingw which I have installed might be clashing. Although it shouldnt be since im just using the normal osx clang/xcode stuff with make to compile. I successfully compiled it under Windows 10 WSL (in Ubuntu). But I would like to run the server on OSX instead.
What should I be using as the client to connect though? Do you have any web interfaces with a piano links that you recommend? etc.. similar to MPP or do I just use the MPP client and change the websocket server it connects to?
Yeah, just use the regular MPP client and change where it connects to (copy the web files, change the url and host a webserver too). Mingw is definitely doing weird things to xcode though.
@nagalun I seem to have had references to mingw-w64 inside /usr/local/include/ even after uninstall mingw-w64 with brew. https://formulae.brew.sh/formula/mingw-w64
I tried to manually add the github for openssl to get the include header libraries. But I am now getting the following errors when compiling on OSX. https://github.com/openssl/openssl
=====
make
mkdir -p build
c++ -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/crossfuncs.o src/crossfuncs.cpp
c++ -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:4:
In file included from ./lib/uWebSockets/src/WebSocketProtocol.h:5:
In file included from ./lib/uWebSockets/src/Networking.h:70:
In file included from ./lib/uWebSockets/src/openssl/ssl.h:17:
In file included from ./lib/uWebSockets/src/openssl/comp.h:16:
./lib/uWebSockets/src/openssl/crypto.h:157:1: error: C++ requires a type specifier for all declarations
DEPRECATEDIN_3(unsigned long OpenSSL_version_num(void))
^
./lib/uWebSockets/src/openssl/crypto.h:158:1: error: non-member function cannot have 'const' qualifier
const char OpenSSL_version(int type);
^~
./lib/uWebSockets/src/openssl/crypto.h:158:6: error: expected ';' after top level declarator
const char OpenSSL_version(int type);
^
;
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:4:
In file included from ./lib/uWebSockets/src/WebSocketProtocol.h:5:
In file included from ./lib/uWebSockets/src/Networking.h:70:
In file included from ./lib/uWebSockets/src/openssl/ssl.h:18:
./lib/uWebSockets/src/openssl/bio.h:708:1: error: expected function body after function declarator
DEPRECATEDIN_1_1_0(int BIO_get_port(const char str, unsigned short port_ptr))
^
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:4:
In file included from ./lib/uWebSockets/src/WebSocketProtocol.h:5:
In file included from ./lib/uWebSockets/src/Networking.h:70:
In file included from ./lib/uWebSockets/src/openssl/ssl.h:20:
In file included from ./lib/uWebSockets/src/openssl/x509.h:18:
In file included from ./lib/uWebSockets/src/openssl/evp.h:20:
In file included from ./lib/uWebSockets/src/openssl/params.h:15:
./lib/uWebSockets/src/openssl/bn.h:336:1: error: expected function body after function declarator
DEPRECATEDIN_0_9_8(int
^
./lib/uWebSockets/src/openssl/bn.h:407:1: error: expected function body after function declarator
DEPRECATEDIN_0_9_8(int BN_get_params(int which)) / 0, mul, 1 high, 2 low, 3
^
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:4:
In file included from ./lib/uWebSockets/src/WebSocketProtocol.h:5:
In file included from ./lib/uWebSockets/src/Networking.h:70:
In file included from ./lib/uWebSockets/src/openssl/ssl.h:20:
In file included from ./lib/uWebSockets/src/openssl/x509.h:18:
In file included from ./lib/uWebSockets/src/openssl/evp.h:31:
In file included from ./lib/uWebSockets/src/openssl/objects.h:15:
./lib/uWebSockets/src/openssl/asn1.h:546:1: error: C++ requires a type specifier for all declarations
DEPRECATEDIN_1_1_0(unsigned char ASN1_STRING_data(ASN1_STRING x))
^
./lib/uWebSockets/src/openssl/asn1.h:547:1: error: non-member function cannot have 'const' qualifier
const unsigned char ASN1_STRING_get0_data(const ASN1_STRING x);
^~
./lib/uWebSockets/src/openssl/asn1.h:547:6: error: expected ';' after top level declarator
const unsigned char ASN1_STRING_get0_data(const ASN1_STRING x);
^
;
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:4:
In file included from ./lib/uWebSockets/src/WebSocketProtocol.h:5:
In file included from ./lib/uWebSockets/src/Networking.h:70:
In file included from ./lib/uWebSockets/src/openssl/ssl.h:20:
In file included from ./lib/uWebSockets/src/openssl/x509.h:22:
./lib/uWebSockets/src/openssl/ec.h:280:1: error: expected function body after function declarator
DEPRECATEDIN_3(int EC_GROUP_get_curve_GFp(const EC_GROUP group, BIGNUM p,
^
./lib/uWebSockets/src/openssl/ec.h:550:1: error: expected function body after function declarator
DEPRECATEDIN_3(int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP group,
^
./lib/uWebSockets/src/openssl/ec.h:592:1: error: expected function body after function declarator
DEPRECATEDIN_3(int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP group,
^
./lib/uWebSockets/src/openssl/ec.h:1122:1: error: C++ requires a type specifier for all declarations
DEPRECATEDIN_3(int ECDH_KDF_X9_62(unsigned char out, size_t outlen,
^
./lib/uWebSockets/src/openssl/ec.h:1125:53: error: expected ';' after top level declarator
const EVP_MD md))
^
;
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:4:
In file included from ./lib/uWebSockets/src/WebSocketProtocol.h:5:
In file included from ./lib/uWebSockets/src/Networking.h:70:
In file included from ./lib/uWebSockets/src/openssl/ssl.h:20:
In file included from ./lib/uWebSockets/src/openssl/x509.h:25:
./lib/uWebSockets/src/openssl/rsa.h:234:1: error: C++ requires a type specifier for all declarations
DEPRECATEDIN_0_9_8(RSA RSA_generate_key(int bits, unsigned long e, void
^
./lib/uWebSockets/src/openssl/rsa.h:236:56: error: expected ';' after top level declarator
void cb_arg))
^
;
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:4:
In file included from ./lib/uWebSockets/src/WebSocketProtocol.h:5:
In file included from ./lib/uWebSockets/src/Networking.h:70:
In file included from ./lib/uWebSockets/src/openssl/ssl.h:20:
In file included from ./lib/uWebSockets/src/openssl/x509.h:26:
In file included from ./lib/uWebSockets/src/openssl/dsa.h:26:
./lib/uWebSockets/src/openssl/dh.h:136:1: error: C++ requires a type specifier for all declarations
DEPRECATEDIN_0_9_8(DH DH_generate_parameters(int prime_len, int generator,
^
./lib/uWebSockets/src/openssl/dh.h:139:61: error: expected ';' after top level declarator
void cb_arg))
^
;
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:4:
In file included from ./lib/uWebSockets/src/WebSocketProtocol.h:5:
In file included from ./lib/uWebSockets/src/Networking.h:70:
In file included from ./lib/uWebSockets/src/openssl/ssl.h:20:
In file included from ./lib/uWebSockets/src/openssl/x509.h:26:
./lib/uWebSockets/src/openssl/dsa.h:102:1: error: C++ requires a type specifier for all declarations
DEPRECATEDIN_3(int DSA_sign_setup(DSA dsa, BN_CTX *ctx_in, BIGNUM kinvp, BIGNUM rp))
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make: *** [build/database.o] Error 1
No idea. The way I compile is installing the dev libs (not sure if brew has these dev packages, which are zlib, and openssl, and compile it using gcc
@nagalun Yeah i have all that installed. Something is very strange.
For compilers to find openssl you may need to set: export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include"
For pkg-config to find openssl you may need to set: export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
So after forcing that. I am getting closer. But still errors.
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make
mkdir -p build
c++ -I/usr/local/opt/openssl/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/crossfuncs.o src/crossfuncs.cpp
c++ -I/usr/local/opt/openssl/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp
c++ -I/usr/local/opt/openssl/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/limiter.o src/limiter.cpp
c++ -I/usr/local/opt/openssl/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/msg.o src/msg.cpp
c++ -I/usr/local/opt/openssl/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/server.o src/server.cpp
src/server.cpp:462:18: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
s.onConnection([this](uWS::WebSocket
does lib/uWebSockets/libuWS.a exist? If it was compiled under mingw somehow you may need to make clean-all
@nagalun Yes. Think so. Its still coming up with above error. How do i recompile uWebSocket and libuWS.a? i tried make in uWebSockets directory after getting it from the Github. But keep getting error compiling uWebSockets.
cd /Downloads/uWebSockets make cc -DLIBUS_NO_SSL -flto -O3 -c -IuSockets/src uSockets/src/.c uSockets/src/eventing/.c clang: error: no such file or directory: 'uSockets/src/.c' clang: error: no such file or directory: 'uSockets/src/eventing/.c' clang: error: no input files make: *** [default] Error 1
Trying npm install uNetworking/uWebSockets.js#v15.11.0 Still basically same errors as previous message.
===
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make
mkdir -p build
c++ -I/usr/local/opt/openssl/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/crossfuncs.o src/crossfuncs.cpp
c++ -I/usr/local/opt/openssl/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:21:
In file included from ./lib/uWebSockets/src/WebSocketData.h:21:
./lib/uWebSockets/src/WebSocketProtocol.h:241:21: warning: variable templates are a C++14 extension [-Wc++14-extensions]
struct WIN32_EXPORT WebSocketProtocol {
^
./lib/uWebSockets/src/WebSocketProtocol.h:242:1: error: expected expression
public:
^
./lib/uWebSockets/src/WebSocketProtocol.h:241:21: error: variable has incomplete type 'struct WIN32_EXPORT'
struct WIN32_EXPORT WebSocketProtocol {
^
./lib/uWebSockets/src/WebSocketProtocol.h:241:8: note: forward declaration of 'uWS::WIN32_EXPORT'
struct WIN32_EXPORT WebSocketProtocol {
^
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:21:
In file included from ./lib/uWebSockets/src/WebSocketData.h:22:
In file included from ./lib/uWebSockets/src/AsyncSocketData.h:25:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:500:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:176:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:56:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:640:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/initializer_list:47:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstddef:49:7: error: no member named 'ptrdiff_t' in the global namespace; did you mean
'::uWS::ptrdiff_t'?
using ::ptrdiff_t;
^~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/include/stddef.h:51:26: note: '::uWS::ptrdiff_t' declared here
typedef __PTRDIFF_TYPE ptrdiff_t;
^
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:21:
In file included from ./lib/uWebSockets/src/WebSocketData.h:22:
In file included from ./lib/uWebSockets/src/AsyncSocketData.h:25:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:500:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:176:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:56:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:640:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/initializer_list:47:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/cstddef:55:7: error: no member named 'max_align_t' in the global namespace; did you mean
'::uWS::max_align_t'?
using ::max_align_t;
^~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/10.0.1/include/stddef_max_align_t.h:32:21: note: '::uWS::max_align_t' declared here
typedef long double max_align_t;
^
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:21:
In file included from ./lib/uWebSockets/src/WebSocketData.h:22:
In file included from ./lib/uWebSockets/src/AsyncSocketData.h:25:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:500:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:176:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:56:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:643:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/utility:972:5: error: no member named 'memcpy' in namespace 'uWS::std'; did you mean simply
'memcpy'?
std::memcpy(&r, p, sizeof(r));
^~~~~
/usr/include/string.h:72:7: note: 'memcpy' declared here
void memcpy(void dst, const void *__src, size_t n);
^
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:21:
In file included from ./lib/uWebSockets/src/WebSocketData.h:22:
In file included from ./lib/uWebSockets/src/AsyncSocketData.h:25:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:500:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:176:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:56:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:644:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:657:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:185:66: error: 'operator new' cannot be declared inside a namespace
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void operator new(std::size_t __sz) _THROW_BAD_ALLOC;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:186:66: error: 'operator new' cannot be declared inside a namespace
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void operator new(std::size_t __sz, const std::nothrow_t&) _NOEXCEPT _NOALIAS;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:187:36: error: 'operator delete' cannot be declared inside a namespace
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void* p) _NOEXCEPT;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:188:36: error: 'operator delete' cannot be declared inside a namespace
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete(void __p, const std::nothrow_t&) _NOEXCEPT;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:193:66: error: 'operator new[]' cannot be declared inside a namespace
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void operator new[](std::size_t sz) _THROW_BAD_ALLOC;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:194:66: error: 'operator new[]' cannot be declared inside a namespace
_LIBCPP_NODISCARD_AFTER_CXX17 _LIBCPP_OVERRIDABLE_FUNC_VIS void* operator new[](std::size_t sz, const std::nothrow_t&) _NOEXCEPT _NOALIAS;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:195:36: error: 'operator delete[]' cannot be declared inside a namespace
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void __p) _NOEXCEPT;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:196:36: error: 'operator delete[]' cannot be declared inside a namespace
_LIBCPP_OVERRIDABLE_FUNC_VIS void operator delete[](void p, const std::nothrow_t&) _NOEXCEPT;
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:219:70: error: 'operator new' cannot be declared inside a namespace
_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void operator new (std::size_t, void p) _NOEXCEPT {return p;}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:220:70: error: 'operator new[]' cannot be declared inside a namespace
_LIBCPP_NODISCARD_AFTER_CXX17 inline _LIBCPP_INLINE_VISIBILITY void operator new[](std::size_t, void p) _NOEXCEPT {return p;}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:221:40: error: 'operator delete' cannot be declared inside a namespace
inline _LIBCPP_INLINE_VISIBILITY void operator delete (void, void) _NOEXCEPT {}
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/new:222:40: error: 'operator delete[]' cannot be declared inside a namespace
inline _LIBCPP_INLINE_VISIBILITY void operator delete[](void, void) _NOEXCEPT {}
^
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:21:
In file included from ./lib/uWebSockets/src/WebSocketData.h:22:
In file included from ./lib/uWebSockets/src/AsyncSocketData.h:25:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:500:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:176:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:56:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:644:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1633:17: error: no member named 'memcpy' in namespace 'uWS::std::1'; did you mean simply
'memcpy'?
_VSTD::memcpy(begin2, begin1, _Np * sizeof(_Tp));
^~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/config:508:15: note: expanded from macro '_VSTD'
^
/usr/include/string.h:72:7: note: 'memcpy' declared here
void memcpy(void dst, const void *src, size_t n);
^
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:21:
In file included from ./lib/uWebSockets/src/WebSocketData.h:22:
In file included from ./lib/uWebSockets/src/AsyncSocketData.h:25:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:500:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string_view:176:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/string:56:
In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/algorithm:644:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:1666:17: error: no member named 'memcpy' in namespace 'uWS::std::1'; did you mean simply
'memcpy'?
_VSTD::memcpy(const_cast<_RawDestTp*>(begin2), begin1, _Np * sizeof(_DestTp));
^~~
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/config:508:15: note: expanded from macro '_VSTD'
^
/usr/include/string.h:72:7: note: 'memcpy' declared here void memcpy(void dst, const void *src, size_t __n); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 1 warning and 20 errors generated. make: *** [build/database.o] Error 1
i'm just gonna blame everything on clang. uWS is built automatically with my custom makefile (uWebSockets.mk, which is what creates libuWS.a) when running make in the mpp server dir. I think you can change compiler with CXX = g++
in the makefile but I haven't played around with it, if the uWebSockets lib doesn't like clang I can't really do much, sorry.
@nagalun I forced it to use GCC under makefile with export CC=/usr/local/cellar/gcc/9.1.0/bin/gcc-9 export CXX=/usr/local/cellar/gcc/9.1.0/bin/g++-9
I then added CPPFLAGS += -I/usr/local/include
I then installed the latest openssl git clone https://github.com/openssl/openssl.git ./Configure darwin64-x86_64-cc shared enable-ec_nistp_64_gcc_128 no-ssl2 no-ssl3 no-comp --openssldir=/usr/local/ssl/macos-x86_64 make depend sudo make install
Now I am getting the following errors.
=====
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make clean
rm -f out build/crossfuncs.o build/database.o build/limiter.o build/msg.o build/server.o build/crossfuncs.d build/database.d build/limiter.d build/msg.d build/server.d
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make
mkdir -p build
/usr/local/cellar/gcc/9.1.0/bin/g++-9 -I/usr/local/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/crossfuncs.o src/crossfuncs.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 -I/usr/local/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/database.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 -I/usr/local/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/limiter.o src/limiter.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 -I/usr/local/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/msg.o src/msg.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/msg.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 -I/usr/local/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/server.o src/server.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/server.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll *)) poll->cb;
| ^~
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./lib/uWebSockets -f ../uWebSockets.mk
/usr/local/cellar/gcc/9.1.0/bin/g++-9 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Epoll.o src/Epoll.cpp
In file included from src/Backend.h:9,
from src/Epoll.cpp:1:
src/Libuv.h:4:10: fatal error: uv.h: No such file or directory
4 | #include ~
compilation terminated.
make[1]: [src/Epoll.o] Error 1
make: [lib/uWebSockets/libuWS.a] Error 2
There seems to be an issue with libuv. Not entirely sure what to do. https://stackoverflow.com/questions/34896114/how-to-install-c-library-libuv-on-os-x
Lol. One problem after the next. I installed libuv from https://github.com/libuv/libuv I then added to makefile LDLIBS += -I/usr/local/include
===
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make clean
rm -f out build/crossfuncs.o build/database.o build/limiter.o build/msg.o build/server.o build/crossfuncs.d build/database.d build/limiter.d build/msg.d build/server.d
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make
mkdir -p build
/usr/local/cellar/gcc/9.1.0/bin/g++-9 -I/usr/local/include -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/crossfuncs.o src/crossfuncs.cpp
In file included from /usr/local/Cellar/gcc/9.1.0/include/c++/9.1.0/ext/string_conversions.h:44,
from /usr/local/Cellar/gcc/9.1.0/include/c++/9.1.0/bits/basic_string.h:6493,
from /usr/local/Cellar/gcc/9.1.0/include/c++/9.1.0/string:55,
from src/crossfuncs.hpp:2,
from src/crossfuncs.cpp:1:
/usr/local/Cellar/gcc/9.1.0/include/c++/9.1.0/ext/string_conversions.h: In constructor 'gnu_cxx::__stoa(_TRet ()(const _CharT, _CharT*, _Base ...), const char, const _CharT, std::size_t, _Base ...)::_Save_errno::_Save_errno()':
/usr/local/Cellar/gcc/9.1.0/include/c++/9.1.0/ext/string_conversions.h:63:27: error: 'errno' was not declared in this scope
63 | _Save_errno() : _M_errno(errno) { errno = 0; }
| ^~~~~
In file included from /usr/local/Cellar/gcc/9.1.0/include/c++/9.1.0/bits/basic_string.h:6493,
from /usr/local/Cellar/gcc/9.1.0/include/c++/9.1.0/string:55,
from src/crossfuncs.hpp:2,
from src/crossfuncs.cpp:1:
/usr/local/Cellar/gcc/9.1.0/include/c++/9.1.0/ext/string_conversions.h:45:1: note: 'errno' is defined in header '~
| UVERANGE
make:
funny, before installing libuv and adding /usr/local/include crossfuncs.cpp seemed to compile fine, or something like that
@nagalun So how do i actually fix the following to compile? Is this a OpenSSL or LibUV or both error?
What version of GCC were you using this with? I am using gcc-9 (Homebrew GCC 9.1.0) 9.1.0
===
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make clean
rm -f out build/Extensions.o build/Group.o build/HTTPSocket.o build/Hub.o build/Networking.o build/Node.o build/Socket.o build/WebSocket.o build/crossfuncs.o build/database.o build/limiter.o build/msg.o build/server.o build/Extensions.d build/Group.d build/HTTPSocket.d build/Hub.d build/Networking.d build/Node.d build/Socket.d build/WebSocket.d build/crossfuncs.d build/database.d build/limiter.d build/msg.d build/server.d
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make
mkdir -p build
/usr/local/cellar/gcc/9.1.0/bin/g++-9 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/Extensions.o src/Extensions.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/Group.o src/Group.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
In file included from ./src/openssl/comp.h:16,
from ./src/openssl/ssl.h:17,
from src/Networking.h:70,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
./src/openssl/crypto.h: At global scope:
./src/openssl/crypto.h:158:7: error: expected constructor, destructor, or type conversion before 'char'
158 | const char OpenSSL_version(int type);
| ^~~~
In file included from ./src/openssl/ssl.h:18,
from src/Networking.h:70,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
./src/openssl/bio.h:708:1: error: expected constructor, destructor, or type conversion before 'DEPRECATEDIN_1_1_0'
708 | DEPRECATEDIN_1_1_0(int BIO_get_port(const char str, unsigned short port_ptr))
| ^~~~~~
In file included from ./src/openssl/params.h:15,
from ./src/openssl/evp.h:20,
from ./src/openssl/x509.h:18,
from ./src/openssl/ssl.h:20,
from src/Networking.h:70,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
./src/openssl/bn.h:336:1: error: expected constructor, destructor, or type conversion before 'DEPRECATEDIN_0_9_8'
336 | DEPRECATEDIN_0_9_8(int
| ^~~~~~
./src/openssl/bn.h:407:1: error: expected constructor, destructor, or type conversion before 'DEPRECATEDIN_0_9_8'
407 | DEPRECATEDIN_0_9_8(int BN_get_params(int which)) / 0, mul, 1 high, 2 low, 3
| ^~~~~~
In file included from ./src/openssl/objects.h:15,
from ./src/openssl/evp.h:31,
from ./src/openssl/x509.h:18,
from ./src/openssl/ssl.h:20,
from src/Networking.h:70,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
./src/openssl/asn1.h:547:7: error: expected constructor, destructor, or type conversion before 'unsigned'
547 | const unsigned char ASN1_STRING_get0_data(const ASN1_STRING x);
| ^~~~
In file included from ./src/openssl/x509.h:22,
from ./src/openssl/ssl.h:20,
from src/Networking.h:70,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
./src/openssl/ec.h:280:1: error: expected constructor, destructor, or type conversion before 'DEPRECATEDIN_3'
280 | DEPRECATEDIN_3(int EC_GROUP_get_curve_GFp(const EC_GROUP group, BIGNUM p,
| ^~~~~~
./src/openssl/ec.h:550:1: error: expected constructor, destructor, or type conversion before 'DEPRECATEDIN_3'
550 | DEPRECATEDIN_3(int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP group,
| ^~~~~~
./src/openssl/ec.h:592:1: error: expected constructor, destructor, or type conversion before 'DEPRECATEDIN_3'
592 | DEPRECATEDIN_3(int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP group,
| ^~~~~~
./src/openssl/ec.h:1127:1: error: expected constructor, destructor, or type conversion before 'int'
1127 | int ECDH_compute_key(void out, size_t outlen, const EC_POINT pub_key,
| ^~~
In file included from ./src/openssl/x509.h:25,
from ./src/openssl/ssl.h:20,
from src/Networking.h:70,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
./src/openssl/rsa.h:239:1: error: expected constructor, destructor, or type conversion before 'int'
239 | int RSA_generate_key_ex(RSA rsa, int bits, BIGNUM e, BN_GENCB cb);
| ^~~
In file included from ./src/openssl/dsa.h:26,
from ./src/openssl/x509.h:26,
from ./src/openssl/ssl.h:20,
from src/Networking.h:70,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
./src/openssl/dh.h:142:1: error: expected constructor, destructor, or type conversion before 'int'
142 | int DH_generate_parameters_ex(DH dh, int prime_len, int generator,
| ^~~
In file included from ./src/openssl/x509.h:26,
from ./src/openssl/ssl.h:20,
from src/Networking.h:70,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
./src/openssl/dsa.h:103:1: error: expected constructor, destructor, or type conversion before 'int'
103 | int DSA_sign(int type, const unsigned char dgst, int dlen,
| ^~~
./src/openssl/dsa.h:127:1: error: expected constructor, destructor, or type conversion before 'int'
127 | int DSA_generate_parameters_ex(DSA dsa, int bits,
| ^~~
In file included from ./src/openssl/ssl.h:20,
from src/Networking.h:70,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
./src/openssl/x509.h:727:1: error: expected constructor, destructor, or type conversion before 'DEPRECATEDIN_1_1_0'
727 | DEPRECATEDIN_1_1_0(ASN1_TIME X509_CRL_get_nextUpdate(X509_CRL crl))
| ^~~~~~
In file included from ./src/openssl/ssl.h:26,
from src/Networking.h:70,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
./src/openssl/hmac.h:33:12: error: expected constructor, destructor, or type conversion before 'int'
33 | /owur/ int HMAC_Init_ex(HMAC_CTX ctx, const void key, int len,
| ^~~
In file included from src/Networking.h:70,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
./src/openssl/ssl.h:1007:1: error: expected constructor, destructor, or type conversion before 'typedef'
1007 | typedef enum {
| ^~~
./src/openssl/ssl.h:1058:3: error: 'OSSL_HANDSHAKE_STATE' does not name a type; did you mean 'SSL_CB_HANDSHAKE_START'?
1058 | } OSSL_HANDSHAKE_STATE;
| ^~~~~~~~
| SSL_CB_HANDSHAKE_START
./src/openssl/ssl.h:1884:1: error: expected constructor, destructor, or type conversion before 'DEPRECATEDIN_1_1_0'
1884 | DEPRECATEDIN_1_1_0(__owur const SSL_METHOD SSLv3_server_method(void))
| ^~~~~~
./src/openssl/ssl.h:1899:1: error: expected constructor, destructor, or type conversion before 'DEPRECATEDIN_1_1_0'
1899 | DEPRECATEDIN_1_1_0(owur const SSL_METHOD TLSv1_server_method(void))
| ^~~~~~
./src/openssl/ssl.h:2018:8: error: 'OSSL_HANDSHAKE_STATE' does not name a type; did you mean 'SSL_CB_HANDSHAKE_START'?
2018 | __owur OSSL_HANDSHAKE_STATE SSL_get_state(const SSL ssl);
| ^~~~~~~~
| SSL_CB_HANDSHAKE_START
make: *** [build/Group.o] Error 1
your last error seems to be about openssl, obviously, but i really don't know how to fix these issues. can't you install libuv1 and openssl (the development and binary packages) from brew, instead of pasting them on the server source? the compiler i'm using right now is gcc 8.3.0, but you should be able to compile the server with 9.1.0 too.
@nagalun Lol. Both are of course already installed on the system through brew. I got pointed towards https://mta.openssl.org/pipermail/openssl-users/2018-October/009054.html I still dont know how to resolve the OpenSSL depreciation issues im experience. (and possibly LibUV issues too), but I think its mainly OpenSSL playing up.
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ brew install libuv openssl Updating Homebrew... ==> Auto-updated Homebrew! Updated 2 taps (homebrew/cask and caskroom/versions). No changes to formulae.
Warning: libuv 1.29.1 is already installed and up-to-date
To reinstall 1.29.1, run brew reinstall libuv
Warning: openssl 1.0.2s is already installed and up-to-date
To reinstall 1.0.2s, run brew reinstall openssl
@nagalun Getting closer. By the way. The MakeFile needs to include the following.
export CC=/usr/local/cellar/gcc/9.1.0/bin/gcc-9 export CXX=/usr/local/cellar/gcc/9.1.0/bin/g++-9
export LDFLAGS="-L/usr/local/opt/openssl/lib" export CPPFLAGS="-I/usr/local/opt/openssl/include" export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
In file included from src/database.cpp:1: src/server.hpp:7:10: fatal error: nlohmann/json.hpp: No such file or directory 7 | #include <nlohmann/json.hpp>
Now I am just getting general dependency errors. Which I am about to resolve.
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make mkdir -p build /usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp In file included from ./src/Backend.h:9, from ./src/Networking.h:69, from ./src/WebSocketProtocol.h:5, from ./src/WebSocket.h:4, from ./src/Group.h:4, from ./src/Hub.h:4, from ./src/uWS.h:4, from src/server.hpp:1, from src/database.cpp:1: ./src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))': ./src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type] 172 | this->cb = (void()(Poll , int, int)) cb; | ^~ ./src/Libuv.h: In lambda function: ./src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type] 175 | void (cb)(Poll ) = (void()(Poll )) poll->cb; | ^~ /usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/limiter.o src/limiter.cpp /usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/msg.o src/msg.cpp In file included from ./src/Backend.h:9, from ./src/Networking.h:69, from ./src/WebSocketProtocol.h:5, from ./src/WebSocket.h:4, from ./src/Group.h:4, from ./src/Hub.h:4, from ./src/uWS.h:4, from src/server.hpp:1, from src/msg.cpp:1: ./src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))': ./src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type] 172 | this->cb = (void()(Poll , int, int)) cb; | ^~ ./src/Libuv.h: In lambda function: ./src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type] 175 | void (cb)(Poll ) = (void()(Poll )) poll->cb; | ^~ /usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/server.o src/server.cpp In file included from ./src/Backend.h:9, from ./src/Networking.h:69, from ./src/WebSocketProtocol.h:5, from ./src/WebSocket.h:4, from ./src/Group.h:4, from ./src/Hub.h:4, from ./src/uWS.h:4, from src/server.hpp:1, from src/server.cpp:1: ./src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))': ./src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type] 172 | this->cb = (void()(Poll , int, int)) cb; | ^~ ./src/Libuv.h: In lambda function: ./src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type] 175 | void (cb)(Poll ) = (void()(Poll *)) poll->cb; | ^~ /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./lib/uWebSockets -f ../uWebSockets.mk ar rcs libuWS.a ar: no archive members specified usage: ar -d [-TLsv] archive file ... ar -m [-TLsv] archive file ... ar -m [-abiTLsv] position archive file ... ar -p [-TLsv] archive [file ...] ar -q [-cTLsv] archive file ... ar -r [-cuTLsv] archive file ... ar -r [-abciuTLsv] position archive file ... ar -t [-TLsv] archive [file ...] ar -x [-ouTLsv] archive [file ...] make[1]: [libuWS.a] Error 1 make: [lib/uWebSockets/libuWS.a] Error 2
well. ar
is not wrong, no .o files were specified to create the archive, which if you look here
https://github.com/nagalun/multiplayerpiano-server/blob/master/lib/uWebSockets.mk#L16
$@ expands to the target (libuWS.a), and $^ expands to the object files, which they are set in the OBJ_FILES variable, modifying all files inside SRC_FILES by replacing all .cpp to .o
is SRC_FILES not finding anything?
you could make clean-all
to also delete library build files
@nagalun Yeah I realise that. It still got the above error. It seems that the ar syntax is wrong/different from what you are using to the one that is inside Xcode on Mac. I am trying to workout how to override ranlib to use your version.
ranlib -V Apple Inc. version cctools-927.0.2 error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: no archives specified Usage: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib [-sactfqLT] [-] archive [...]
==
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make clean-all
rm -f out build/Extensions.o build/Group.o build/HTTPSocket.o build/Hub.o build/Networking.o build/Node.o build/Socket.o build/WebSocket.o build/crossfuncs.o build/database.o build/limiter.o build/msg.o build/server.o build/Extensions.d build/Group.d build/HTTPSocket.d build/Hub.d build/Networking.d build/Node.d build/Socket.d build/WebSocket.d build/crossfuncs.d build/database.d build/limiter.d build/msg.d build/server.d
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./lib/uWebSockets -f ../uWebSockets.mk clean
rm -f libuWS.a
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make
mkdir -p build
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/Extensions.o src/Extensions.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/Group.o src/Group.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/HTTPSocket.o src/HTTPSocket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/HTTPSocket.h:4,
from src/HTTPSocket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/Hub.o src/Hub.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Hub.h:4,
from src/Hub.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/Networking.o src/Networking.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Networking.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/Node.o src/Node.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/Node.h:4,
from src/Node.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/Socket.o src/Socket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/Socket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/WebSocket.o src/WebSocket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/WebSocket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/crossfuncs.o src/crossfuncs.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp
In file included from ./src/Backend.h:9,
from ./src/Networking.h:69,
from ./src/WebSocketProtocol.h:5,
from ./src/WebSocket.h:4,
from ./src/Group.h:4,
from ./src/Hub.h:4,
from ./src/uWS.h:4,
from src/server.hpp:1,
from src/database.cpp:1:
./src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
./src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
./src/Libuv.h: In lambda function:
./src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/limiter.o src/limiter.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/msg.o src/msg.cpp
In file included from ./src/Backend.h:9,
from ./src/Networking.h:69,
from ./src/WebSocketProtocol.h:5,
from ./src/WebSocket.h:4,
from ./src/Group.h:4,
from ./src/Hub.h:4,
from ./src/uWS.h:4,
from src/server.hpp:1,
from src/msg.cpp:1:
./src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
./src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
./src/Libuv.h: In lambda function:
./src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/server.o src/server.cpp
In file included from ./src/Backend.h:9,
from ./src/Networking.h:69,
from ./src/WebSocketProtocol.h:5,
from ./src/WebSocket.h:4,
from ./src/Group.h:4,
from ./src/Hub.h:4,
from ./src/uWS.h:4,
from src/server.hpp:1,
from src/server.cpp:1:
./src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
./src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
./src/Libuv.h: In lambda function:
./src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./lib/uWebSockets -f ../uWebSockets.mk
ar rcs libuWS.a
ar: no archive members specified
usage: ar -d [-TLsv] archive file ...
ar -m [-TLsv] archive file ...
ar -m [-abiTLsv] position archive file ...
ar -p [-TLsv] archive [file ...]
ar -q [-cTLsv] archive file ...
ar -r [-cuTLsv] archive file ...
ar -r [-abciuTLsv] position archive file ...
ar -t [-TLsv] archive [file ...]
ar -x [-ouTLsv] archive [file ...]
make[1]: [libuWS.a] Error 1
make: [lib/uWebSockets/libuWS.a] Error 2
No the problem isn't ar, you mixed the uws .cpp files with the server files multiplayerpiano-server/src/WebSocket.cpp shouldn't exist, it should be in multiplayerpiano-server/lib/uWebSockets/src/WebSocket.cpp which is created when downloading the repo's submodules
@nagalun Not sure what you mean. Whats your discord or something? rather then messaging back and forth through here.
git submodule init
git submodule update
look, delete your copy and clone it again, this time download the submodules
add the CXX = g++
in the makefile and it should just work, provided you have the DEVELOPMENT files of openssl and libuv1 installed
@nagalun what is your discord? And now we are back to uv.h errors lol.
===
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make
mkdir -p build
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/crossfuncs.o src/crossfuncs.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/database.cpp:1:
./lib/uWebSockets/src/Libuv.h:4:10: fatal error: uv.h: No such file or directory
4 | #include
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make clean-all
rm -f out build/crossfuncs.o build/database.o build/limiter.o build/msg.o build/server.o build/crossfuncs.d build/database.d build/limiter.d build/msg.d build/server.d
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./lib/uWebSockets -f ../uWebSockets.mk clean
rm -f libuWS.a src/Epoll.o src/Extensions.o src/Group.o src/HTTPSocket.o src/Hub.o src/Networking.o src/Node.o src/Room.o src/Socket.o src/WebSocket.o src/Epoll.d src/Extensions.d src/Group.d src/HTTPSocket.d src/Hub.d src/Networking.d src/Node.d src/Room.d src/Socket.d src/WebSocket.d
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make
mkdir -p build
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/crossfuncs.o src/crossfuncs.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/database.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/limiter.o src/limiter.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/msg.o src/msg.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/msg.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/server.o src/server.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/server.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./lib/uWebSockets -f ../uWebSockets.mk
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Epoll.o src/Epoll.cpp
In file included from src/Backend.h:9,
from src/Epoll.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Extensions.o src/Extensions.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Group.o src/Group.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/HTTPSocket.o src/HTTPSocket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/HTTPSocket.h:4,
from src/HTTPSocket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Hub.o src/Hub.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Hub.h:4,
from src/Hub.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Networking.o src/Networking.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Networking.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Node.o src/Node.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/Node.h:4,
from src/Node.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Room.o src/Room.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Room.h:7,
from src/Room.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Socket.o src/Socket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/Socket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/WebSocket.o src/WebSocket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/WebSocket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop, void ()(uS::Poll))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void ()(uS::Poll)' to 'void ()(uS::Poll, int, int)' [-Wcast-function-type]
172 | this->cb = (void()(Poll , int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void ()(uS::Poll, int, int)' to 'void ()(uS::Poll)' [-Wcast-function-type]
175 | void (cb)(Poll ) = (void()(Poll )) poll->cb;
| ^~
ar rcs libuWS.a src/Epoll.o src/Extensions.o src/Group.o src/HTTPSocket.o src/Hub.o src/Networking.o src/Node.o src/Room.o src/Socket.o src/WebSocket.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libuWS.a(Epoll.o) has no symbols
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-L/usr/local/opt/openssl/lib" -L ./lib/uWebSockets/ -s -o out build/crossfuncs.o build/database.o build/limiter.o build/msg.o build/server.o lib/uWebSockets/libuWS.a -lssl -lz -lcrypto -ldl -lpthread
ld: warning: option -s is obsolete and being ignored
Undefined symbols for architecture x86_64:
"_uv_async_init", referenced from:
uWS::Group
@nagalun Now whats happening?
===
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make clean-all
rm -f out build/crossfuncs.o build/database.o build/limiter.o build/msg.o build/server.o build/crossfuncs.d build/database.d build/limiter.d build/msg.d build/server.d
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./lib/uWebSockets -f ../uWebSockets.mk clean
rm -f libuWS.a src/Epoll.o src/Extensions.o src/Group.o src/HTTPSocket.o src/Hub.o src/Networking.o src/Node.o src/Room.o src/Socket.o src/WebSocket.o src/Epoll.d src/Extensions.d src/Group.d src/HTTPSocket.d src/Hub.d src/Networking.d src/Node.d src/Room.d src/Socket.d src/WebSocket.d
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make
mkdir -p build
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/crossfuncs.o src/crossfuncs.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/database.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/limiter.o src/limiter.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/msg.o src/msg.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/msg.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/server.o src/server.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/server.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./lib/uWebSockets -f ../uWebSockets.mk
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Epoll.o src/Epoll.cpp
In file included from src/Backend.h:9,
from src/Epoll.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Extensions.o src/Extensions.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Group.o src/Group.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/HTTPSocket.o src/HTTPSocket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/HTTPSocket.h:4,
from src/HTTPSocket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Hub.o src/Hub.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Hub.h:4,
from src/Hub.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Networking.o src/Networking.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Networking.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Node.o src/Node.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/Node.h:4,
from src/Node.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Room.o src/Room.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Room.h:7,
from src/Room.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Socket.o src/Socket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/Socket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/WebSocket.o src/WebSocket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/WebSocket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
ar rcs libuWS.a src/Epoll.o src/Extensions.o src/Group.o src/HTTPSocket.o src/Hub.o src/Networking.o src/Node.o src/Room.o src/Socket.o src/WebSocket.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libuWS.a(Epoll.o) has no symbols
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-L/usr/local/opt/openssl/lib" -L ./lib/uWebSockets/ -s -o out build/crossfuncs.o build/database.o build/limiter.o build/msg.o build/server.o lib/uWebSockets/libuWS.a -lssl -lz -lcrypto -ldl -lpthread
ld: warning: option -s is obsolete and being ignored
Undefined symbols for architecture x86_64:
"_uv_async_init", referenced from:
uWS::Group<true>::addAsync() in libuWS.a(Group.o)
uWS::Group<true>::listen(uWS::ListenOptions) in libuWS.a(Group.o)
uWS::Group<false>::addAsync() in libuWS.a(Group.o)
uWS::Group<false>::listen(uWS::ListenOptions) in libuWS.a(Group.o)
"_uv_async_send", referenced from:
uS::Socket::transfer(uS::NodeData*, void (*)(uS::Poll*))::{lambda(uS::Poll*)#1}::_FUN(uS::Poll*) in libuWS.a(WebSocket.o)
uWS::WebSocket<true>::sendPrepared(uWS::WebSocket<true>::PreparedMessage*, void*) in libuWS.a(WebSocket.o)
uWS::WebSocket<false>::sendPrepared(uWS::WebSocket<false>::PreparedMessage*, void*) in libuWS.a(WebSocket.o)
uWS::WebSocket<false>::send(char const*, unsigned long, uWS::OpCode, void (*)(uWS::WebSocket<false>*, void*, bool, void*), void*, bool) in libuWS.a(WebSocket.o)
uWS::WebSocket<true>::send(char const*, unsigned long, uWS::OpCode, void (*)(uWS::WebSocket<true>*, void*, bool, void*), void*, bool) in libuWS.a(WebSocket.o)
uWS::HttpSocket<true>::upgrade(char const*, char const*, unsigned long, char const*, unsigned long, bool*) in libuWS.a(HTTPSocket.o)
uWS::HttpSocket<false>::upgrade(char const*, char const*, unsigned long, char const*, unsigned long, bool*) in libuWS.a(HTTPSocket.o)
...
"_uv_close", referenced from:
uS::Socket::startTimeout<&uWS::HttpSocket<false>::onEnd>(int)::{lambda(uS::Timer*)#1}::_FUN(uS::Timer*) in libuWS.a(Hub.o)
void uS::Node::accept_timer_cb<&uWS::Hub::onServerAccept>(uS::Timer*) in libuWS.a(Hub.o)
uWS::Group<true>::removeHttpSocket(uWS::HttpSocket<true>*) in libuWS.a(Group.o)
uWS::Group<true>::stopListening() in libuWS.a(Group.o)
uWS::Group<false>::removeHttpSocket(uWS::HttpSocket<false>*) in libuWS.a(Group.o)
uWS::Group<false>::stopListening() in libuWS.a(Group.o)
uWS::Group<true>::close(int, char*, unsigned long) in libuWS.a(Group.o)
...
"_uv_default_loop", referenced from:
uS::Node::Node(int, int, int, bool) in libuWS.a(Node.o)
uS::Node::~Node() in libuWS.a(Node.o)
"_uv_is_closing", referenced from:
void uS::Socket::sslIoHandler<uWS::HttpSocket<false> >(uS::Poll*, int, int) in libuWS.a(Hub.o)
void uS::Socket::sslIoHandler<uWS::WebSocket<true> >(uS::Poll*, int, int) in libuWS.a(Hub.o)
void uS::Socket::sslIoHandler<uWS::HttpSocket<true> >(uS::Poll*, int, int) in libuWS.a(Hub.o)
uWS::WebSocket<false>::handleFragment(char*, unsigned long, unsigned int, int, bool, uWS::WebSocketState<false>*) in libuWS.a(WebSocket.o)
uWS::WebSocket<false>::onData(uS::Socket*, char*, unsigned long) in libuWS.a(WebSocket.o)
uWS::WebSocket<true>::handleFragment(char*, unsigned long, unsigned int, int, bool, uWS::WebSocketState<true>*) in libuWS.a(WebSocket.o)
uWS::WebSocket<true>::onData(uS::Socket*, char*, unsigned long) in libuWS.a(WebSocket.o)
...
"_uv_loop_delete", referenced from:
uS::Node::~Node() in libuWS.a(Node.o)
"_uv_loop_new", referenced from:
uS::Node::Node(int, int, int, bool) in libuWS.a(Node.o)
"_uv_poll_init_socket", referenced from:
uS::NodeData::asyncCallback(uS::Async*) in libuWS.a(Node.o)
void uS::Node::accept_poll_cb<&uWS::Hub::onServerAccept>(uS::Poll*, int, int) in libuWS.a(Hub.o)
void uS::Node::accept_timer_cb<&uWS::Hub::onServerAccept>(uS::Timer*) in libuWS.a(Hub.o)
uWS::Hub::upgrade(int, char const*, ssl_st*, char const*, unsigned long, char const*, unsigned long, uWS::Group<true>*) in libuWS.a(Hub.o)
uWS::Hub::listen(char const*, int, uS::TLS::Context, int, uWS::Group<true>*) in libuWS.a(Hub.o)
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>*) in libuWS.a(Hub.o)
uWS::Hub::listen(int, uS::TLS::Context, int, uWS::Group<true>*) in libuWS.a(Hub.o)
...
"_uv_poll_start", referenced from:
uS::NodeData::asyncCallback(uS::Async*) in libuWS.a(Node.o)
void uS::Node::connect_cb<&uWS::Hub::onClientConnection>(uS::Poll*, int, int) in libuWS.a(Hub.o)
void uS::Socket::sslIoHandler<uWS::HttpSocket<false> >(uS::Poll*, int, int) in libuWS.a(Hub.o)
void uS::Socket::ioHandler<uWS::WebSocket<true> >(uS::Poll*, int, int) in libuWS.a(Hub.o)
void uS::Socket::ioHandler<uWS::HttpSocket<false> >(uS::Poll*, int, int) in libuWS.a(Hub.o)
void uS::Socket::ioHandler<uWS::HttpSocket<true> >(uS::Poll*, int, int) in libuWS.a(Hub.o)
void uS::Socket::sslIoHandler<uWS::WebSocket<true> >(uS::Poll*, int, int) in libuWS.a(Hub.o)
...
"_uv_poll_stop", referenced from:
void uS::Node::accept_poll_cb<&uWS::Hub::onServerAccept>(uS::Poll*, int, int) in libuWS.a(Hub.o)
uWS::Group<true>::stopListening() in libuWS.a(Group.o)
uWS::WebSocket<true>::onEnd(uS::Socket*) in libuWS.a(WebSocket.o)
uWS::WebSocket<true>::transfer(uWS::Group<true>*) in libuWS.a(WebSocket.o)
uWS::WebSocket<false>::onEnd(uS::Socket*) in libuWS.a(WebSocket.o)
uWS::WebSocket<false>::transfer(uWS::Group<false>*) in libuWS.a(WebSocket.o)
uWS::HttpSocket<true>::onEnd(uS::Socket*) in libuWS.a(HTTPSocket.o)
...
"_uv_run", referenced from:
uS::Node::run() in libuWS.a(Node.o)
uS::Node::poll() in libuWS.a(Node.o)
"_uv_timer_init", referenced from:
void uS::Node::accept_poll_cb<&uWS::Hub::onServerAccept>(uS::Poll*, int, int) in libuWS.a(Hub.o)
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>*) in libuWS.a(Hub.o)
uWS::Group<true>::addHttpSocket(uWS::HttpSocket<true>*) in libuWS.a(Group.o)
uWS::Group<true>::startAutoPing(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) in libuWS.a(Group.o)
uWS::Group<false>::addHttpSocket(uWS::HttpSocket<false>*) in libuWS.a(Group.o)
uWS::Group<false>::startAutoPing(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) in libuWS.a(Group.o)
uWS::WebSocket<false>::close(int, char const*, unsigned long) in libuWS.a(WebSocket.o)
...
"_uv_timer_start", referenced from:
void uS::Node::accept_poll_cb<&uWS::Hub::onServerAccept>(uS::Poll*, int, int) in libuWS.a(Hub.o)
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>*) in libuWS.a(Hub.o)
uWS::Group<true>::addHttpSocket(uWS::HttpSocket<true>*) in libuWS.a(Group.o)
uWS::Group<true>::startAutoPing(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) in libuWS.a(Group.o)
uWS::Group<false>::addHttpSocket(uWS::HttpSocket<false>*) in libuWS.a(Group.o)
uWS::Group<false>::startAutoPing(int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) in libuWS.a(Group.o)
uWS::WebSocket<false>::close(int, char const*, unsigned long) in libuWS.a(WebSocket.o)
...
"_uv_timer_stop", referenced from:
uS::Socket::startTimeout<&uWS::HttpSocket<false>::onEnd>(int)::{lambda(uS::Timer*)#1}::_FUN(uS::Timer*) in libuWS.a(Hub.o)
void uS::Node::accept_timer_cb<&uWS::Hub::onServerAccept>(uS::Timer*) in libuWS.a(Hub.o)
uWS::Group<true>::removeHttpSocket(uWS::HttpSocket<true>*) in libuWS.a(Group.o)
uWS::Group<true>::stopListening() in libuWS.a(Group.o)
uWS::Group<false>::removeHttpSocket(uWS::HttpSocket<false>*) in libuWS.a(Group.o)
uWS::Group<true>::close(int, char*, unsigned long) in libuWS.a(Group.o)
uWS::Group<false>::close(int, char*, unsigned long) in libuWS.a(Group.o)
...
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make: *** [out] Error 1
don't touch anything just add -luv to this line https://github.com/nagalun/multiplayerpiano-server/blob/master/Makefile#L28
@nagalun Changed it. still errors.
ifeq ($(OS),Windows_NT) LDLIBS += -luv -lWs2_32 -lpsapi -liphlpapi -luserenv else LDLIBS += -ldl -lpthread -luv endif
===
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make clean-all
rm -f out build/crossfuncs.o build/database.o build/limiter.o build/msg.o build/server.o build/crossfuncs.d build/database.d build/limiter.d build/msg.d build/server.d
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./lib/uWebSockets -f ../uWebSockets.mk clean
rm -f libuWS.a src/Epoll.o src/Extensions.o src/Group.o src/HTTPSocket.o src/Hub.o src/Networking.o src/Node.o src/Room.o src/Socket.o src/WebSocket.o src/Epoll.d src/Extensions.d src/Group.d src/HTTPSocket.d src/Hub.d src/Networking.d src/Node.d src/Room.d src/Socket.d src/WebSocket.d
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make
mkdir -p build
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/crossfuncs.o src/crossfuncs.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/database.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/limiter.o src/limiter.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/msg.o src/msg.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/msg.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/server.o src/server.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/server.cpp:1:
./lib/uWebSockets/src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
./lib/uWebSockets/src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
./lib/uWebSockets/src/Libuv.h: In lambda function:
./lib/uWebSockets/src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C ./lib/uWebSockets -f ../uWebSockets.mk
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Epoll.o src/Epoll.cpp
In file included from src/Backend.h:9,
from src/Epoll.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Extensions.o src/Extensions.cpp
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Group.o src/Group.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Group.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/HTTPSocket.o src/HTTPSocket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/HTTPSocket.h:4,
from src/HTTPSocket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Hub.o src/Hub.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Group.h:4,
from src/Hub.h:4,
from src/Hub.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Networking.o src/Networking.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Networking.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Node.o src/Node.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/Node.h:4,
from src/Node.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Room.o src/Room.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/Room.h:7,
from src/Room.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/Socket.o src/Socket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/Socket.h:4,
from src/Socket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -std=c++11 -O3 -I ./src/ -MMD -MP -c -o src/WebSocket.o src/WebSocket.cpp
In file included from src/Backend.h:9,
from src/Networking.h:69,
from src/WebSocketProtocol.h:5,
from src/WebSocket.h:4,
from src/WebSocket.cpp:1:
src/Libuv.h: In member function 'void uS::Poll::close(uS::Loop*, void (*)(uS::Poll*))':
src/Libuv.h:172:48: warning: cast between incompatible function types from 'void (*)(uS::Poll*)' to 'void (*)(uS::Poll*, int, int)' [-Wcast-function-type]
172 | this->cb = (void(*)(Poll *, int, int)) cb;
| ^~
src/Libuv.h: In lambda function:
src/Libuv.h:175:58: warning: cast between incompatible function types from 'void (*)(uS::Poll*, int, int)' to 'void (*)(uS::Poll*)' [-Wcast-function-type]
175 | void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
| ^~
ar rcs libuWS.a src/Epoll.o src/Extensions.o src/Group.o src/HTTPSocket.o src/Hub.o src/Networking.o src/Node.o src/Room.o src/Socket.o src/WebSocket.o
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ranlib: file: libuWS.a(Epoll.o) has no symbols
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-L/usr/local/opt/openssl/lib" -L ./lib/uWebSockets/ -s -o out build/crossfuncs.o build/database.o build/limiter.o build/msg.o build/server.o lib/uWebSockets/libuWS.a -lssl -lz -lcrypto -ldl -lpthread -luv
ld: warning: option -s is obsolete and being ignored
ld: library not found for -luv
collect2: error: ld returned 1 exit status
make: *** [out] Error 1
paste in code block pls (put ``` before and after)
btw is this a hackintosh? 😄
@nagalun I even tried upgrading from uWebSockets-0.15 to uWebSockets-0.16.0a4 and now getting the following errors. I really dont understand whats happening. Any suggestions? newerror.txt
Reference: https://github.com/uNetworking/uWebSockets/issues/905
@nagalun NOTE: They have updated the MakeFile there now to better support OSX. Not sure where to put it in your script tho.
Anyway, getting closer when adding the following to my MakeFile
export CC=/usr/local/cellar/gcc/9.1.0/bin/gcc-9
export CXX=/usr/local/cellar/gcc/9.1.0/bin/g++-9
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
Daniels-MAC-Desktop-Gigabyte-GA-Z77X-UD5H:multiplayerpiano-server Daniel$ make
mkdir -p build
/usr/local/cellar/gcc/9.1.0/bin/g++-9 "-I/usr/local/opt/openssl/include" -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp
In file included from ./lib/uWebSockets/src/Backend.h:9,
from ./lib/uWebSockets/src/Networking.h:69,
from ./lib/uWebSockets/src/WebSocketProtocol.h:5,
from ./lib/uWebSockets/src/WebSocket.h:4,
from ./lib/uWebSockets/src/Group.h:4,
from ./lib/uWebSockets/src/Hub.h:4,
from ./lib/uWebSockets/src/uWS.h:4,
from src/server.hpp:1,
from src/database.cpp:1:
./lib/uWebSockets/src/Libuv.h:4:10: fatal error: uv.h: No such file or directory
4 | #include ~
compilation terminated.
make: *** [build/database.o] Error 1
you must use uws v0.14, the next versions change the api and break my code. https://github.com/nagalun/multiplayerpiano-server/issues/19#issuecomment-504555195 you had it here, you only needed to install libuv correctly, or specify where the libuv.a or however it's called in a -L parameter to LDFLAGS
Are you planning on updating your code to work with v0.16.0 Alpha 5? 0.14 is rather old. I will try with 0.14 again. https://github.com/uNetworking/uWebSockets/releases
NOTE: v0.16.0 alpha 5 has build fixes for MacOS too and so does the latest build. https://github.com/uNetworking/uWebSockets/commit/2007a630f53a9bd1a05b56467c6e710d0ccf7562
just use the version that comes with the repo, those versions are fine. you're touching unrelated stuff. revert back to the state you had in the https://github.com/nagalun/multiplayerpiano-server/issues/19#issuecomment-504555195 comment and point the compiler where libuv is
it fixes for macos for that specific version, but building works on the current one, as you might have noticed, libuWS.a is created, that means uwebsocket compiles fine. the warnings you see in https://github.com/nagalun/multiplayerpiano-server/issues/19#issuecomment-504555195 are not errors and it builds fine, it just can't find libuv. if you can't figure out how to install libuv it's not really my problem anymore
I will update some day, but for now I don't see anything worthy of rewriting part of the servers (for mpp, owop, and cursors) to upgrade the lib, since i have custom patches written for uwebsockets v0.14 that would need to be rewritten for the next versions. once alex adds unix sockets support and it gets as stable as v0.14 i'll be more interested in upgrading
yeah reproduced on freshly installed mojave with command line tools just installed
$ make
mkdir -p build
c++ -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/crossfuncs.o src/crossfuncs.cpp
c++ -std=c++11 -Wall -Wextra -Wno-unknown-pragmas -Wno-unused-parameter -MMD -MP -I ./src/ -I ./lib/uWebSockets/src/ -I ./lib/json/include/ -O2 -c -o build/database.o src/database.cpp
In file included from src/database.cpp:1:
In file included from ./src/server.hpp:1:
In file included from ./lib/uWebSockets/src/uWS.h:4:
In file included from ./lib/uWebSockets/src/Hub.h:4:
In file included from ./lib/uWebSockets/src/Group.h:4:
In file included from ./lib/uWebSockets/src/WebSocket.h:4:
In file included from ./lib/uWebSockets/src/WebSocketProtocol.h:5:
./lib/uWebSockets/src/Networking.h:7:10: fatal error: 'openssl/opensslv.h' file
not found
#include <openssl/opensslv.h>
^~~~~~~~~~~~~~~~~~~~
1 error generated.
make: *** [build/database.o] Error 1
same thing with gnu make installed with homebrew
yea well openssl is not getting installed properly
do find / -name "opensslv.h"
and find where brew installs it
Error - Compiling on macOS Mojave (10.14.5) How do I actually compile it?
git clone https://github.com/nagalun/multiplayerpiano-server --recurse-submodules cd multiplayerpiano-server make ./out [mypassword] [myport] [color of lobby room] [ip] eg; ./out password 1234 #000000 127.0.0.1
===