[COMPILING] LUA library liblua5.1.so path problem on Linux


(Madras) #1

Hi! Yesterday I downloaded the latest Ubuntu to compile Unix binaries of my mod. I had not been using any Linux before.

Ok, I compiled *.so binaries, but when I started my Linux server, console returned an error:


Sys_LoadDll(/usr/local/games/enemy-territory/rtcwet/qagame.mp.i386.so)... 
Sys_LoadDll(/usr/local/games/enemy-territory/rtcwet/qagame.mp.i386.so) failed:
"release-x86-Linux-2.1-gcc3/game/lua/libs/unix/liblua5.1.so: cannot open shared object file: No such file or directory"
Sys_LoadDll(qagame) failed dlopen() completely!
----- Server Shutdown -----
Resolving etmaster.idsoftware.com
etmaster.idsoftware.com resolved to 192.246.40.60:27950
Sending heartbeat to etmaster.idsoftware.com
---------------------------

So, qagame cannot open liblua5.1.so although I put this library in same directory as etded.x86. Tell me how to change LUA library path. I hadnt got any error with LUA on a Windows version of my mod.

To compile Unix version I used Perl script:

perl cons -- release gcc3

The cons file is in …/src/unix/ directory.

I hope You will help me this time. Thanks.


(BigBear) #2

Hi!

Yes, Normally liblua5.1.so should be in the same directory than etded.x86
For example, with ETPub it work.

Verify your CHMOD’s Attrib rights perhaps ? Or perhaps your user’s rights…

Depend perhaps of your MOD ?

Generally it is an automatically detect.
I am not sure it could be a Cvar to set path… ???

I suggest you to ask on the Forum concerning the MOD you use, or to look a your MOD’s documentation :wink:


(Madras) #3

Previously I typed: chmod -R 777 enemy-territory
My modification is based on ETPub 0.9.1. I’ve got pure offical ETPub too which uses same library file and it works fine. I think theres something wrong during compiling.

I suppose that I must set any of these env variables in perl script:
LD_LIBRARY_PATH
LUA_PATH
LUA_CPATH

to value ET root directory. But I can’t.

EDIT:
Problem solved!