FredyH / GWSockets

WebSockets for GLua
MIT License
87 stars 7 forks source link

64Bit support #7

Closed tomekb530 closed 5 years ago

tomekb530 commented 5 years ago

could you release 64bit version for linux server?

FredyH commented 5 years ago

Sorry for the late response, I'll try and do that this weekend

tomekb530 commented 5 years ago

Thank You very much! I was trying to compile it myself, it compiles successfully but i am getting "[ERROR] (nothing here)" in gmod server (64bit ofc)

FredyH commented 5 years ago

Hey I was trying to compile it to for 64 bit (for linux), where did you get the boost library from? It seems like boost's static libraries aren't compiled with fPIC, which means I cannot use it in a shared library and I'd have to compile it myself and enable that flag I think. If you have one that works that'd be awesome, otherwise I'm gonna have to try compile boost myself at some point soon.

tomekb530 commented 5 years ago

Ive removed libdirs from buildprojects lua and ld says that its using my system boost libs

FredyH commented 5 years ago

Hmm that's interesting, I will try it again later and just do the same, maybe it just used the shared boost library then. How did you compile it exactly?

tomekb530 commented 5 years ago

Ive cloned ur repo, updated the include/GarrysMod dir (from development branch of gmod module base) and then i edited the buildprojects.lua, ive added m64 switch removed linklibs and changed platforms to "x86_64" then premake and finally make solution

FredyH commented 5 years ago

Can you run ldd on your binary and see if it includes the boost library as dependency?

tomekb530 commented 5 years ago

ldd gmsv_gwsockets_linux64.dll linux-vdso.so.1 (0x00007ffe5227b000) libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007fb3459e9000) libboost_system.so.1.65.1 => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.65.1 (0x00007fb3457e4000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fb3455c5000) libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007fb3450fa000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fb344ee2000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb344af1000) /lib64/ld-linux-x86-64.so.2 (0x00007fb346140000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fb344768000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fb344564000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb3441c6000)

FredyH commented 5 years ago

Yeah you can see that it links libboost, crypto, etc. as shared library, and presumably srcds does not have access to them and throws an error when trying to load it. That's why I'm trying to get it to work with static libraries, which means it doesn't need any dependencies anywhere (other than ones that are always available anyways). If you don't want to wait for me to compile it you can probably just place all those dependencies (libssl, libcrypto and libboost_system) into the srcds folder and it should work.

tomekb530 commented 5 years ago

lua_run require"gwsockets"

require"gwsockets"...

[ERROR]

Getting this even with libs

FredyH commented 5 years ago

Alright, then I have no clue why it's not working. I'll try to get around to it in the next few days (or maybe today if I find the time).

FredyH commented 5 years ago

I just uploaded my compiled version under the release tab, it'd be awesome if you could test if it works for you.

tomekb530 commented 5 years ago

Couldn't load module library

FredyH commented 5 years ago

Hey, I'm terribly sorry for the massive delay but I was extremely busy. I just updated the repository to make 64 bit builds work and, under windows, it seems to work perfectly fine. However my linux version seems to always give me a lua error the first time I load it (but after loading it again it seems to work just fine?). Can you maybe see if that also happens for you?

I also added 64 bit specific build instructions to the README and it should be relatively straight forward.