You are not logged in.
After last update, when I try to run etr (extremetuxracer) it won't start and when I start it from terminal I get this error:
etr: error while loading shared libraries: libsfml-system.so.2.5: cannot open shared object file: No such file or directoryThis is output from ldd and lddtree:
ldd /usr/bin/etr
linux-vdso.so.1 (0x00007ffdec0f6000)
libsfml-system.so.2.5 => not found
libsfml-audio.so.2.5 => not found
libsfml-window.so.2.5 => not found
libsfml-graphics.so.2.5 => not found
libOpenGL.so.0 => /usr/lib/libOpenGL.so.0 (0x00007f114c7af000)
libGLU.so.1 => /usr/lib/libGLU.so.1 (0x00007f114c757000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f114c400000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007f114c313000)
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f114c732000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f114c129000)
libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0 (0x00007f114c071000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f114c8b4000)
lddtree /usr/bin/etr
/usr/bin/etr (interpreter => /lib64/ld-linux-x86-64.so.2)
libsfml-system.so.2.5 => None
libsfml-audio.so.2.5 => None
libsfml-window.so.2.5 => None
libsfml-graphics.so.2.5 => None
libOpenGL.so.0 => /usr/lib/libOpenGL.so.0
libGLdispatch.so.0 => /usr/lib/libGLdispatch.so.0
libGLU.so.1 => /usr/lib/libGLU.so.1
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libm.so.6 => /usr/lib/libm.so.6
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libc.so.6 => /usr/lib/libc.so.6I know that extremetuxracer has been thrown out from main repository, but I don't know how long; I was surprised by that.
I see that 4 libraries are missing and I don't know why (I thing that before last update the game was working) and in what package that libraries were and how to find out this. Can somebody tell me why they were removed and where to find them?
Last edited by xerxes_ (2023-06-27 10:50:54)
Offline
$ pacman -F libsfml-system.so
extra/sfml 2.6.0-2
usr/lib/libsfml-system.so
$ looks like sfml was updated to version 2.6 and everything using it needs to be rebuild against the new version.
For repo packages devs do this, for non-repo packages users need to do it themselves .
extremetuxracer has been moved to aur and appears to be actively maintained, see https://aur.archlinux.org/packages/extremetuxracer and use that to build the latest version .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
OK, now I understand. Thanks for fast response.
Offline
Moving to AUR issues.
Offline
I resolved it in different way for now: copied old version 2.5.1 of this 4 libraries to /usr/local/lib from package /var/cache/pacman/pkg/sfml-2.5.1-3-x86_64.pkg.tar.zst, rename etr from /usr/bin/etr to etr_ and I create executable file in /usr/bin/etr which contain "/lib/ld-linux-x86-64.so.2 --preload /usr/local/lib/libsfml-system.so.2.5.1:/usr/local/lib/libsfml-audio.so.2.5.1:/usr/local/lib/libsfml-window.so.2.5.1:/usr/local/lib/libsfml-graphics.so.2.5.1 /usr/bin/etr_" and run through it.
Offline
That is a terrible way of working around the issue (not a fix).
Offline
Why it is so terrible if it works? Extremetuxracer package is out of main repo. I don't need new version of that game because it doesn't change. If more libraries change I will think for better solution.
Last edited by xerxes_ (2023-06-27 15:17:58)
Offline
You can just rebuild the existing version so it makes use of the new functionality, while also staying generally compatible without potentially breaking at a moments notice.
Offline
I don't need new version of that game because it doesn't change.
https://sourceforge.net/projects/extrem … /releases/ shows upstream released a new version of extremetuxracer just 9 days ago .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Why it is so terrible if it works?
There's worse (symlinking versioned objects, partial updates) because the impact is - in theory - contained.
/usr/local/lib is however in the regular library path, so you'd not even have to ld_preload it (since etr explicitly links the 2.5 versions)
It also means that the impact isn't as contained as you may think it is, the old libraries are still around and, while I've no idea about sfml, can come back to bite you if anything (indirectly) links in this case libsfml-*.so.2 and libsfml-*.so.2.5 because those are now different objcts.
If you're gonna bundle libraries, actually isolate them outside system paths.
And since you can just rebuild ETR there's indeed no good reason for such shenanigans, you're effectively re-inventing snapflatdocker w/o need.
Offline