View Single Post
Posts: 136 | Thanked: 14 times | Joined on Feb 2011
#16
Originally Posted by javispedro View Post



Do something like "strace -e trace=open /path/to/game.executable" to get a list of the files it tries to open, and see if it fails with EACCES for any of them. Strace should be available in the extras repository iirc, otherwise it will be available in the SDK repository.
Here's the output,

Code:
home/user/MyDocs # strace -trace=open /usr/bin/com-gameloft-app-settlers
0.000000 execve("/usr/bin/com-gameloft-app-settlers", ["/usr/bin/com-gameloft-app-settle"...], [/* 25 vars */]) = 0
0.002381 brk(0) = 0x69000
0.000305 uname({sys="Linux", node="Nokia-N900", ...}) = 0
0.001404 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001c000
0.000335 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
0.000489 open("/etc/ld.so.cache", O_RDONLY) = 3
0.000305 fstat64(3, {st_mode=S_IFREG|0644, st_size=42261, ...}) = 0
0.000610 mmap2(NULL, 42261, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40025000
0.000214 close(3) = 0
0.000274 open("/lib/libcrypt.so.1", O_RDONLY) = 3
0.000306 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\214\6\0\0004\0\0\0"..., 512) = 512
0.000396 fstat64(3, {st_mode=S_IFREG|0644, st_size=22016, ...}) = 0
0.000519 mmap2(NULL, 213288, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40030000
0.000214 mprotect(0x40035000, 28672, PROT_NONE) = 0
0.000183 mmap2(0x4003c000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0x4003c000
0.000274 mmap2(0x4003e000, 155944, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4003e000
0.000245 close(3) = 0
0.000213 open("/lib/libc.so.6", O_RDONLY) = 3
0.000275 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0hK\1\0004\0\0\0"..., 512) = 512
0.000366 fstat64(3, {st_mode=S_IFREG|0755, st_size=1160576, ...}) = 0
0.000519 mmap2(NULL, 1196468, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x40065000
0.000213 mprotect(0x4017c000, 32768, PROT_NONE) = 0
0.000184 mmap2(0x40184000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x117) = 0x40184000
0.000244 mmap2(0x40187000, 8628, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x40187000
0.000244 close(3) = 0
0.000275 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001d000
0.000244 set_tls(0x4001d3a0, 0x4001e000, 0x4001daf8, 0x4001da78, 0x40024050) = 0
0.000671 mprotect(0x40184000, 4096, PROT_READ) = 0
0.000244 mprotect(0x4003c000, 4096, PROT_READ) = 0
0.000336 munmap(0x40025000, 42261) = 0
0.000397 getuid32() = 0
0.000549 brk(0) = 0x69000
0.000183 brk(0x8a000) = 0x8a000
0.000275 getpid() = 2742
0.000305 rt_sigaction(SIGCHLD, {SIG_DFL, [CHLD], SA_RESTART|0x4000000}, {SIG_DFL, [], 0}, 8) = 0
0.000580 getppid() = 2741
0.000305 stat64("/home/user/MyDocs", {st_mode=S_IFDIR|0777, st_size=65536, ...}) = 0
0.000641 stat64(".", {st_mode=S_IFDIR|0777, st_size=65536, ...}) = 0
0.000641 open("/usr/bin/com-gameloft-app-settlers", O_RDONLY|O_LARGEFILE) = 3
0.000366 fcntl64(3, F_DUPFD, 10) = 10
0.000183 close(3) = 0
0.000153 fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
0.000183 rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0
0.000274 rt_sigaction(SIGINT, {0x1ade4, ~[RTMIN RT_1], 0x4000000 /* SA_??? */}, NULL, 8) = 0
0.000275 rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, 8) = 0
0.000244 rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], 0x4000000 /* SA_??? */}, NULL, 8) = 0
0.000275 rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
0.000244 rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], 0x4000000 /* SA_??? */}, NULL, 8) = 0
0.000336 read(10, "#!/bin/sh\n\nexport PREENV_ROOT=/o"..., 8191) = 193
0.000610 open("/opt/preenv/env.sh", O_RDONLY|O_LARGEFILE) = 3
0.013184 fcntl64(3, F_DUPFD, 10) = 11
0.000213 close(3) = 0
0.000183 fcntl64(11, F_SETFD, FD_CLOEXEC) = 0
0.000244 read(11, "\nif [ -n \"$PREENV_ROOT\" ]; then\n"..., 8191) = 600
0.002503 read(11, "", 8191) = 0
0.000213 close(11) = 0
0.000336 chdir("/usr/palm/applications/com.gameloft.app.settlers/Settlers") = 0
0.006134 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0x4001cf48) = 2743
0.000946 wait4(-1, PDL: Playing music notification: Playing
PDL: Init: Preenv 0.1.7
PDL: Init: Service name is com.javispedro.preenv.Settlers
PDL: You are root. Don't do this unless you know what you're doing!
PDL: Failed to initialize libosso
SDLGL: Called sdl_init with flags = 0x100030
Home directory /home/user not ours.
X11: PID is 2743
SDLGL: Requested GL major version 1
SDLGL: SDL_GLES initialized (res=0)
SDLGL: Ignoring doublebuffer preference 1
SDLGL: Requested GL minor version 1 (ignored)
SDLGL: Called SetVideoMode(320, 480, 0, 0x80000002)
SDLGL: Requested OpenGL video mode
SDLGL: Asked if video mode 800x480x16 (flags=0x80000000) is ok
SDLGL: Creating shadow surface (w=320, h=480)
PDL: Application asked for device ID
SDLGL: Called SDL_Quit
[{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 2743
2.575592 --- SIGCHLD (Child exited) @ 0 (0) ---
0.000305 read(10, "", 8191) = 0
0.000306 exit_group(1) = ?
Can't find anything with "fail" on i except the libosso..
IIRC correctly it's not the problem right?