DRL > Bug Reports
[Solved][0.9.9.5| linux] Fedora16 x64 fail to start, liblua5.1.so.0 No such file
d1t2:
Hi all,
I download 0.9.9.5 linux 32- and 64-bit version and
they do not find liblua5.1.so.0 even liblua(32- & 64-bit) symbolic link existed.
my fedora linux "uname -r": 3.1.6-1.fc16.x86_64
any suggest?
--- Code: ---d1t2@f16:doomrl-linux-x64-0995 $ ./doomrl
./doomrl: error while loading shared libraries: liblua5.1.so.0: cannot open shared object file: No such file or directory
d1t2@f16:doomrl-linux-x64-0995 $ ls -l /usr/lib64/liblua*
-rwxr-xr-x. 1 root root 180560 4月 6 2011 /usr/lib64/liblua-5.1.so
lrwxrwxrwx 1 root root 13 1月 5 02:40 /usr/lib64/liblua-5.1.so.0 -> liblua-5.1.so
d1t2@f16:doomrl-linux-x64-0995 $ ldd ./doomrl
linux-vdso.so.1 => (0x00007fff141ff000)
libm.so.6 => /lib64/libm.so.6 (0x00007fe7e792f000)
liblua5.1.so.0 => not found
libdl.so.2 => /lib64/libdl.so.2 (0x00007fe7e772a000)
libz.so.1 => /lib64/libz.so.1 (0x00007fe7e7513000)
libSDL_mixer-1.2.so.0 => /usr/lib64/libSDL_mixer-1.2.so.0 (0x00007fe7e72c3000)
libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0 (0x00007fe7e7023000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fe7e6e07000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fe7e6ac9000)
libsmpeg-0.4.so.0 => /usr/lib64/libsmpeg-0.4.so.0 (0x00007fe7e686c000)
libc.so.6 => /lib64/libc.so.6 (0x00007fe7e64b6000)
/lib64/ld-linux-x86-64.so.2 (0x00007fe7e7bd6000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fe7e629b000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fe7e6085000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fe7e5d7e000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fe7e5b7b000)
d1t2@f16:doomrl-linux-x64-0995 $ strace ./doomrl
execve("./doomrl", ["./doomrl"], [/* 43 vars */]) = 0
brk(0) = 0x2644000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f78956d9000
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=138257, ...}) = 0
mmap(NULL, 138257, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f78956b7000
close(3) = 0
open("/lib64/libm.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260Q\0\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=600096, ...}) = 0
mmap(NULL, 2633960, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7f7895235000
mprotect(0x7f78952b8000, 2093056, PROT_NONE) = 0
mmap(0x7f78954b7000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x82000) = 0x7f78954b7000
close(3) = 0
open("/lib64/tls/x86_64/liblua5.1.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib64/tls/x86_64", 0x7fff536d2400) = -1 ENOENT (No such file or directory)
open("/lib64/tls/liblua5.1.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib64/tls", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
open("/lib64/x86_64/liblua5.1.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib64/x86_64", 0x7fff536d2400) = -1 ENOENT (No such file or directory)
open("/lib64/liblua5.1.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/lib64", {st_mode=S_IFDIR|0555, st_size=12288, ...}) = 0
open("/usr/lib64/tls/x86_64/liblua5.1.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/tls/x86_64", 0x7fff536d2400) = -1 ENOENT (No such file or directory)
open("/usr/lib64/tls/liblua5.1.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/tls", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
open("/usr/lib64/x86_64/liblua5.1.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/x86_64", 0x7fff536d2400) = -1 ENOENT (No such file or directory)
open("/usr/lib64/liblua5.1.so.0", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
stat("/usr/lib64", {st_mode=S_IFDIR|0555, st_size=122880, ...}) = 0
writev(2, [{"./doomrl", 8}, {": ", 2}, {"error while loading shared libra"..., 36}, {": ", 2}, {"liblua5.1.so.0", 14}, {": ", 2}, {"cannot open shared object file", 30}, {": ", 2}, {"No such file or directory", 25}, {"\n", 1}], 10./doomrl: error while loading shared libraries: liblua5.1.so.0: cannot open shared object file: No such file or directory
) = 122
exit_group(127) = ?
--- End code ---
AStranger:
I don't have any inside knowledge, but I'd assume the problem is with the liblua5.1.so.0 Fedora package. I don't know much about using Fedora (I use Slackware), but I'd start by removing the current lua package and installing it from the source. Installing lua from source wasn't as smooth as I usually like since I had to tweak the Makefiles but it worked in the end.
Here's the contents of lua-5.1.4-liblua.so-fix.patch:
Spoiler (click to show/hide)
--- Code: ---diff -crB lua-5.1.4/Makefile lua-5.1.4-new//Makefile
*** lua-5.1.4/Makefile 2008-08-11 20:40:48.000000000 -0400
--- lua-5.1.4-new//Makefile 2012-01-04 20:37:09.000000000 -0500
***************
*** 9,18 ****
# Where to install. The installation starts in the src and doc directories,
# so take care if INSTALL_TOP is not an absolute path.
! INSTALL_TOP= /usr/local
INSTALL_BIN= $(INSTALL_TOP)/bin
INSTALL_INC= $(INSTALL_TOP)/include
! INSTALL_LIB= $(INSTALL_TOP)/lib
INSTALL_MAN= $(INSTALL_TOP)/man/man1
#
# You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with
--- 9,18 ----
# Where to install. The installation starts in the src and doc directories,
# so take care if INSTALL_TOP is not an absolute path.
! INSTALL_TOP= /usr/
INSTALL_BIN= $(INSTALL_TOP)/bin
INSTALL_INC= $(INSTALL_TOP)/include
! INSTALL_LIB= $(INSTALL_TOP)/lib64
INSTALL_MAN= $(INSTALL_TOP)/man/man1
#
# You probably want to make INSTALL_LMOD and INSTALL_CMOD consistent with
***************
*** 43,51 ****
# What to install.
TO_BIN= lua luac
TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
! TO_LIB= liblua.a
TO_MAN= lua.1 luac.1
# Lua version and release.
V= 5.1
R= 5.1.4
--- 43,54 ----
# What to install.
TO_BIN= lua luac
TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp
! TO_LIB= liblua.a liblua.so
TO_MAN= lua.1 luac.1
+ SOFT_LINKER= ln -sf
+ SOFT_LINKS= liblua.so liblua5.1.so.0
+
# Lua version and release.
V= 5.1
R= 5.1.4
***************
*** 64,69 ****
--- 67,73 ----
cd src && $(INSTALL_DATA) $(TO_INC) $(INSTALL_INC)
cd src && $(INSTALL_DATA) $(TO_LIB) $(INSTALL_LIB)
cd doc && $(INSTALL_DATA) $(TO_MAN) $(INSTALL_MAN)
+ cd $(INSTALL_LIB) && $(SOFT_LINKER) $(SOFT_LINKS)
ranlib:
cd src && cd $(INSTALL_LIB) && $(RANLIB) $(TO_LIB)
diff -crB lua-5.1.4/src/Makefile lua-5.1.4-new//src/Makefile
*** lua-5.1.4/src/Makefile 2008-01-19 14:37:58.000000000 -0500
--- lua-5.1.4-new//src/Makefile 2012-01-04 20:09:36.000000000 -0500
***************
*** 8,14 ****
PLAT= none
CC= gcc
! CFLAGS= -O2 -Wall $(MYCFLAGS)
AR= ar rcu
RANLIB= ranlib
RM= rm -f
--- 8,14 ----
PLAT= none
CC= gcc
! CFLAGS= -O2 -Wall -fPIC $(MYCFLAGS)
AR= ar rcu
RANLIB= ranlib
RM= rm -f
***************
*** 31,42 ****
LUA_T= lua
LUA_O= lua.o
LUAC_T= luac
LUAC_O= luac.o print.o
ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
! ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T)
ALL_A= $(LUA_A)
default: $(PLAT)
--- 31,43 ----
LUA_T= lua
LUA_O= lua.o
+ LUA_SO= liblua.so
LUAC_T= luac
LUAC_O= luac.o print.o
ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O)
! ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO)
ALL_A= $(LUA_A)
default: $(PLAT)
***************
*** 57,62 ****
--- 58,66 ----
$(LUAC_T): $(LUAC_O) $(LUA_A)
$(CC) -o $@ $(MYLDFLAGS) $(LUAC_O) $(LUA_A) $(LIBS)
+ $(LUA_SO): $(CORE_O) $(LIB_O)
+ $(CC) -o $@ -shared $?
+
clean:
$(RM) $(ALL_T) $(ALL_O)
--- End code ---
The general steps I used to install lua went as follows:
--- Code: ---$ wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
$ tar zxvf lua-5.1.4.tar.gz
$ cd lua-5.1.4
$ patch -p1 -i lua-5.1.4-liblua.so-fix.patch
$ make linux
$ sudo make install
$ sudo ldconfig
--- End code ---
Hopefully the Fedora lua package is the problem and installing lua from source fixes it. I've been able to run both the 32bit and 64bit version of DoomRL like this (the 32bit install had slightly different targets and was run under a chroot environment though). If it doesn't work then I apologize for sending you on a wild goose chase.
nathrakh:
Got same error on 64-bit Arch Linux.
It works fine after using this command
--- Code: ---sed -i 's/liblua5.1.so.0/liblua.so.5.1\x00/g' doomrl
--- End code ---
(copied from some comment in AUR page foor DoomRL).
However I don't get any sound even after installing bunch of libraries.
d1t2:
thanks AStranger, nathrakh!
i got wrong name(liblua-5.1.so.0) to link to liblua5.1.so.0, lol
it works on ubuntu(liblua5.1.so.0), but not fedora(liblua-5.1.so) or arch(liblua.so, liblua.so.5.1)
--- Quote from: nathrakh on January 05, 2012, 10:17 ---However I don't get any sound even after installing bunch of libraries.
--- End quote ---
me, too!
Kornel Kisielewicz:
Next version will link to Lua statically, so there should be no more such problems. As for the sound, I have no clue... AStranger?
Navigation
[0] Message Index
[#] Next page
Go to full version