You are not logged in.
Pages: 1
Hello guys,
after an update two weeks ago my game "This war of mine" bought on Steam is not working anymore.
Someone suggested to go back to glibc 2.20 but I cannot since the package valgrind need glibc >2.21.
Is there any way to do so? Maybe with a variable that point the game to the old package version?
Thanks.
Offline
I think you could add "LD_PRELOAD=/path/to/older/lib.so" to startup options.
Offline
Sorry, I do not get it.
Where shall I add this?
PS. I understood what you mean, run the game with this preload option.
Tha fact is that I do not find the location of the old libraries. In the path /var/cache/pacman/pkg there are only tar.xz files.
Last edited by Astroarch (2015-02-26 20:20:08)
Offline
Then extract that package somewhere. It will have lib required.
Offline
Steam usually bundles everything its games need and those libraries can be found in (and are used by default)
~/.local/share/Steam/ubuntu12_32That said I highly doubt glibc is the source of your problem, this is a standard library used by literally everything, it shouldn't have broken ABI with a minor version bump. Start steam in a terminal and start the game and post its exact error output. Blindly poking at stuff won't get you far. And what's your graphics card/driver?
Last edited by V1del (2015-02-27 14:05:05)
Offline
the thing about steam is it is a atempt to stabalize linux for gamming like console and such the problem with linux and gaming is distros and there differences in lib versions and the like. what arch does is keep that purpose by bundling all the libs with steam though you can use your own if you want but that takes active effort.
one way to see what is going on is to look at the logs or start steam in a console and it will give you some info perhaps post that output.
Offline
I understood that the problem is glibc, the game is not working with the last version but wants the 2.20
I have the package, where should I extract it and how can I start the game correctly without downgrading?
Offline
What makes you think that? is there an actual glib error when trying to start the game? Post the terminal output when starting the game.
If you still think that this is the problem just extract it literally anywhere (as long as you don't overwrite the existing glib.so whcih you shouldn't) and then use the LD_PRELOAD to the path.
Offline
I took inspiration from this post:
https://steamcommunity.com/app/282070/d … 581607081/
And run the same command.
objdump -x -j.dynamic This\ War\ of\ Mine
This War of Mine: file format elf32-i386
This War of Mine
architecture: i386, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x08071baf
Program Header:
PHDR off 0x00000034 vaddr 0x08047034 paddr 0x08047034 align 2**2
filesz 0x00000140 memsz 0x00000140 flags r-x
STACK off 0x00001000 vaddr 0x00000000 paddr 0x00000000 align 2**4
filesz 0x00000000 memsz 0x00000000 flags rw-
LOAD off 0x00000000 vaddr 0x08047000 paddr 0x08047000 align 2**12
filesz 0x00001000 memsz 0x00001000 flags rw-
DYNAMIC off 0x00000174 vaddr 0x08047174 paddr 0x08047174 align 2**2
filesz 0x00000138 memsz 0x00000138 flags rw-
LOAD off 0x00001000 vaddr 0x08048000 paddr 0x08048000 align 2**12
filesz 0x008c220e memsz 0x008c220e flags r-x
NOTE off 0x00001168 vaddr 0x08048168 paddr 0x08048168 align 2**2
filesz 0x00000044 memsz 0x00000044 flags r--
INTERP off 0x00003468 vaddr 0x0804a468 paddr 0x0804a468 align 2**0
filesz 0x00000013 memsz 0x00000013 flags r--
EH_FRAME off 0x007a01cc vaddr 0x087e71cc paddr 0x087e71cc align 2**2
filesz 0x0002cb74 memsz 0x0002cb74 flags r--
LOAD off 0x008c37d4 vaddr 0x0890b7d4 paddr 0x0890b7d4 align 2**12
filesz 0x00003404 memsz 0x000b4978 flags rw-
RELRO off 0x008c37d4 vaddr 0x0890b7d4 paddr 0x0890b7d4 align 2**0
filesz 0x0000082c memsz 0x0000082c flags r--
Dynamic Section:
RUNPATH $ORIGIN
NEEDED libOpenAL.so
NEEDED libsteam_api.so
NEEDED libGL.so.1
NEEDED libX11.so.6
NEEDED libpthread.so.0
NEEDED librt.so.1
NEEDED libstdc++.so.6
NEEDED libm.so.6
NEEDED libgcc_s.so.1
NEEDED libc.so.6
INIT 0x0804c3e0
FINI 0x086d56d4
INIT_ARRAY 0x0890b7d4
INIT_ARRAYSZ 0x000006f0
FINI_ARRAY 0x0890bec4
FINI_ARRAYSZ 0x00000004
GNU_HASH 0x0804a374
STRTAB 0x080472ac
SYMTAB 0x08048b04
STRSZ 0x00001857
SYMENT 0x00000010
DEBUG 0x00000000
PLTGOT 0x0890c000
PLTRELSZ 0x00000b58
PLTREL 0x00000011
JMPREL 0x0804b888
REL 0x0804b820
RELSZ 0x00000068
RELENT 0x00000008
VERNEED 0x0804b670
VERNEEDNUM 0x00000006
VERSYM 0x0804b360
Version References:
required from librt.so.1:
0x0d696912 0x00 16 GLIBC_2.2
required from libpthread.so.0:
0x06969192 0x00 22 GLIBC_2.12
0x0d696912 0x00 20 GLIBC_2.2
0x0d696911 0x00 11 GLIBC_2.1
0x0d696910 0x00 09 GLIBC_2.0
required from libgcc_s.so.1:
0x0b792650 0x00 17 GCC_3.0
0x0d696910 0x00 06 GLIBC_2.0
required from libc.so.6:
0x0d696911 0x00 21 GLIBC_2.1
0x09691f73 0x00 19 GLIBC_2.1.3
0x06969191 0x00 14 GLIBC_2.11
0x0d696914 0x00 13 GLIBC_2.4
0x09691974 0x00 12 GLIBC_2.3.4
0x0d696913 0x00 10 GLIBC_2.3
0x0d696912 0x00 08 GLIBC_2.2
0x0d696910 0x00 04 GLIBC_2.0
required from libm.so.6:
0x0d696910 0x00 07 GLIBC_2.0
0x0d696911 0x00 03 GLIBC_2.1
required from libstdc++.so.6:
0x02297f89 0x00 18 GLIBCXX_3.4.9
0x0297f861 0x00 15 GLIBCXX_3.4.11
0x056bafd3 0x00 05 CXXABI_1.3
0x08922974 0x00 02 GLIBCXX_3.4
Sections:
Idx Name Size VMA LMA File off Algn
0 .dynamic 00000138 08047174 08047174 00000174 2**2
CONTENTS, ALLOC, LOAD, DATA
SYMBOL TABLE:
08047174 l d .dynamic 00000000 .dynamic
0890becc l O .dynamic 00000000 _DYNAMICThe output is exaclty the same.
I put the 3 files metioned in the post in the game folder and run the game with this command:
LD_PRELOAD=/home/userme/.steam/steam/SteamApps/common/This War of Mine/libpthread.so.0 /home/userme/.steam/steam/SteamApps/common/This War of Mine/librt.so.1 /home/userme/.steam/steam/SteamApps/common/This War of Mine/libc.so.6 ./This\ War\ of\ Minebut still not working.
In the other computer I downgraded that library and the game goes fine but I would like not to downgrade.
Last edited by Astroarch (2015-05-02 12:12:54)
Offline
If you don't want to downgrade, try this: extract from the old glibc-*.pkg.tar.xz the files in usr/lib to e.g. ~/oldlibc, then run with
LD_LIBRARY_PATH=~/oldlibc This\ War\ of\ MineLast edited by progandy (2015-05-02 12:20:48)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |
Offline
Unfortunately not working.
Offline
You can always use the hammer: Collect all dependency packages and run in a chroot.
Edit:
architecture: i386Are you running 64bit arch? Then you probably need the old copy of lib32-glibc.
Last edited by progandy (2015-05-02 14:51:08)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |
Offline
Yes, I run a 64 bit, for this I used the lib32 version.
Sorry but I did not understand what to do.
Offline
Pages: 1