Closed ghost closed 8 years ago
um.. do you have these files ( jk_crash.cpp, jp_tokenparser.cpp etc)?
Works here. Try pulling again
sudo apt-get install g++
Close?
This issue is still present. Could you guys please fix the compiling errors on linux before adding any new thing? I would like to update my files on EFF server but I can't make a build on ubuntu (fresh install) because I get errors similar ones which terminates the travis build.
On a fresh checkout on a new install of Linux (Xubuntu 14.10) it compiles fine.
You just need sudo apt-get install git scons gcc libreadline-dev
- and perhaps g++
Any SQL errors should have been resolved.
Travis CI isn't working because it's not set up for C++ builds.
buildbot isn't working because NO_SSE
builds have invalid flags for C++
What's the output of g++ -dumpversion
?
EDIT: If you're getting issues with min/std::min, I'll commit something to fix it tonight.
Building now works but running the compiled files not.
I tried my version and also the file you sent me but both time if I run the server with them i get the following errors
~/jka/GameData$ ./openjkded.x86_64 +set fs_mod japlus +exec server.cfg OpenJK-MP: v1.0.1.0 linux-x86_64 Mar 21 2015 ----- FS_Startup ----- Current search path: /home/peti/.local/share/openjk/base ./base/assets3.pk3 (16 files) ./base/assets2.pk3 (62 files) ./base/assets1.pk3 (8320 files) ./base/assets0.pk3 (15346 files) ./base
23744 files in pk3 files execing mpdefault.cfg execing openjk_server.cfg ----- Initializing Renderer ---- --- Common Initialization Complete --- Hostname: server IP: 127.0.1.1 Opening IP socket: localhost:29070 execing server.cfg ------ Server Initialization ------ Server: mp/ffa1 ----- FS_Startup ----- Current search path: /home/peti/.local/share/openjk/base ./base/assets3.pk3 (16 files) ./base/assets2.pk3 (62 files) ./base/assets1.pk3 (8320 files) ./base/assets0.pk3 (15346 files) ./base
23744 files in pk3 files Sys_LoadGameDll(/home/peti/.local/share/openjk/base/jampgamex86_64.so) failed: "/home/peti/.local/share/openjk/base/jampgamex86_64.so: undefined symbol: pthread_mutexattr_destroy" Sys_LoadGameDll(./base/jampgamex86_64.so) failed: "./base/jampgamex86_64.so: undefined symbol: pthread_mutexattr_destroy" Sys_LoadGameDll(/home/peti/.local/share/openjk/base/jampgamex86_64.so) failed: "/home/peti/.local/share/openjk/base/jampgamex86_64.so: undefined symbol: pthread_mutexattr_destroy" Sys_LoadGameDll(./base/jampgamex86_64.so) failed: "./base/jampgamex86_64.so: undefined symbol: pthread_mutexattr_destroy" VM_Create: jampgamex86_64.so failed! Sys_LoadLegacyGameDll(/home/peti/.local/share/openjk/base/jampgamex86_64.so) failed: "/home/peti/.local/share/openjk/base/jampgamex86_64.so: undefined symbol: pthread_mutexattr_destroy" Sys_LoadLegacyGameDll(./base/jampgamex86_64.so) failed: "./base/jampgamex86_64.so: undefined symbol: pthread_mutexattr_destroy" Sys_LoadLegacyGameDll(/home/peti/.local/share/openjk/base/jampgamex86_64.so) failed: "/home/peti/.local/share/openjk/base/jampgamex86_64.so: undefined symbol: pthread_mutexattr_destroy" Sys_LoadLegacyGameDll(./base/jampgamex86_64.so) failed: "./base/jampgamex86_64.so: undefined symbol: pthread_mutexattr_destroy" VM_CreateLegacy: jampgamex86_64.so failed!
ERROR: VM_CreateLegacy on game failed
Resolving masterjk3.ravensoft.com masterjk3.ravensoft.com resolved to 104.42.1.249:29060 Sending heartbeat to masterjk3.ravensoft.com Resolving master.jkhub.org master.jkhub.org resolved to 188.165.198.143:29060 Sending heartbeat to master.jkhub.org Sending heartbeat to masterjk3.ravensoft.com Sending heartbeat to master.jkhub.org DROPPED
I checked the dependencies and those should be fine:
/jka/GameData/japlus$ ldd jampgamex86_64.so linux-vdso.so.1 => (0x00007fff381bc000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fa53720d000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fa536f07000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fa536cf0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fa53692b000) /lib64/ld-linux-x86-64.so.2 (0x00007fa5392fc000)
Also i have the libpthread installed.
sudo apt-get install libpthread-stubs0-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
libpthread-stubs0-dev is already the newest version.
Well it says you don't have it. So you still need to figure out why its not seeing the lib. Incorrect version maybe. Or missing the actual lib, and only have the headers.
I think -lpthread has to be added into the SConstruct because I am getting that error also.
This one undefined symbol: pthread_mutexattr_destroy"
But it works for some people. It's a runtime dependency issue, I'm just not sure which package it is. I would like to redo that whole part of the code eventually though.
Sys_LoadGameDll(/home/japp/.local/share/openjk/japlus/jampgamex86_64.so) failed: "/home/japp/.local/share/openjk/japlus/jampgamex86_64.so: cannot open shared object file: No such file or directory" Sys_LoadGameDll(./japlus/jampgamex86_64.so) failed: "./japlus/jampgamex86_64.so: undefined symbol: pthread_mutexattr_destroy" Sys_LoadGameDll(/home/japp/.local/share/openjk/base/jampgamex86_64.so) failed: "/home/japp/.local/share/openjk/base/jampgamex86_64.so: cannot open shared object file: No such file or directory" Sys_LoadGameDll(./base/jampgamex86_64.so) failed: "./base/jampgamex86_64.so: cannot open shared object file: No such file or directory" VM_Create: jampgamex86_64.so failed! Sys_LoadLegacyGameDll(/home/japp/.local/share/openjk/japlus/jampgamex86_64.so) failed: "/home/japp/.local/share/openjk/japlus/jampgamex86_64.so: cannot open shared object file: No such file or directory" Sys_LoadLegacyGameDll(./japlus/jampgamex86_64.so) failed: "./japlus/jampgamex86_64.so: undefined symbol: pthread_mutexattr_destroy" Sys_LoadLegacyGameDll(/home/japp/.local/share/openjk/base/jampgamex86_64.so) failed: "/home/japp/.local/share/openjk/base/jampgamex86_64.so: cannot open shared object file: No such file or directory" Sys_LoadLegacyGameDll(./base/jampgamex86_64.so) failed: "./base/jampgamex86_64.so: cannot open shared object file: No such file or directory"
I don't know what lib it could be looking for
based on the message sounds like it didn't load libpthread
ok guess i should have read the whole thread. the compiled lib works for me, though i did 32 bit. interestingly ldd shows no dependency on libpthread:
teh@jka-server-teh:~$ ldd /home/jkashared/jampgamei386-20150721.so linux-gate.so.1 => (0xf7747000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xf5b2b000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xf5ae5000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xf5ac7000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xf5919000) /lib/ld-linux.so.2 (0xf7748000)
but pmap -X shows that libpthread is indeed loaded.
seems libpthread is being loaded on my server since linuxjampded depends on it:
teh@jka-server-teh:~$ lddtree /home/japlus/linuxjampded linuxjampded => /home/japlus/linuxjampded (interpreter => /lib/ld-linux.so.2) libz.so.1 => /lib/i386-linux-gnu/libz.so.1 libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 librt.so.1 => /lib/i386-linux-gnu/librt.so.1 libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 libm.so.6 => /lib/i386-linux-gnu/libm.so.6 libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 libc.so.6 => /lib/i386-linux-gnu/libc.so.6
which jampded are you using? vanilla or openjk?
openjkded
ahhah, it seems the buildbot builds for openjk do not link in libpthread. my build did for some unknown reason.
dan@galactica:(unreachable)/install/JediAcademy$ ldd openjkded.x86_64 linux-vdso.so.1 => (0x00007fff139f8000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9503620000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9503418000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9503110000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9502e08000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9502bf0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9502828000) /lib64/ld-linux-x86-64.so.2 (0x00007f9503858000)
Ok, so japp was never broken it is openjkded, well thanks for helping me nail it down now I don't feel like an idiot.
no that is the wrong conclusion to make lol. any lib that depends on libpthread needs to declare that dependency in order to work correctly. so it is japp's fault. i just got lucky in that i already had libpthread loaded.
well, I am still having issues with japp, I am so tempted to pay more money just to run a windows server just to get japp to work.
no need for that, as a workaround until someone fixes it for real you can launch it this way on linux:
LD_PRELOAD=/lib/i386-linux-gnu/libpthread.so.0 ./openjkded.x86 +set fs_game japlus +...
or whatever the path to your system's x86 libpthread lib is. LD_PRELOAD forces the system to load that library even if the devs forgot to link it themselves.
Welp, pthread is always linked as of 057f8fc970b7504eb20e55f6008155013094836e Let's hope it doesn't make #315 worse
I tried to make a build today on Linux but it failed and I think it's maybe because you changed files for c++ optimization.
The compiler can't find files:
scons: Reading SConscript files ... Building for Linux 64 bits (gcc 4.8, python 2.7.6), optimised, SSE, 12 threads git revision: 4318128 scons: done reading SConscript files. scons: Building targets ... scons: building associated VariantDir targets: game/build/release/gcc/64/game json/build/release/gcc/64/game lua/build/release/gcc/64/game cgame/build/release/gcc/64/cgame json/build/release/gcc/64/cgame lua/build/release/gcc/64/cgame ui/build/release/gcc/64/ui json/build/release/gcc/64/ui compiling: JAPP/jp_crash.cpp sh: 1: o: not found compiling: JAPP/jp_tokenparser.cpp sh: 1: o: not found compiling: game/bg_misc.cpp sh: 1: o: not found compiling: game/bg_saberLoad.cpp sh: 1: o: not found compiling: game/bg_saga.cpp sh: 1: o: not found compiling: game/bg_vehicleLoad.cpp sh: 1: o: not found . . . . linking: cgamex86_64.so sh: 1: o: not found linking: uix86_64.so sh: 1: o: not found linking: jampgamex86_64.so sh: 1: o: not found scons: done building targets.