RimPy icon indicating copy to clipboard operation
RimPy copied to clipboard

Settings doesn't work

Open DarkShadow44 opened this issue 3 years ago • 17 comments

I'm on Linux. When clicking "Settings" I get the message kde-open5: symbol lookup error: /usr/lib/libKF5GuiAddons.so.5: undefined symbol: wl_proxy_marshal_flags in the terminal and nothing else happens.

DarkShadow44 avatar Aug 03 '22 15:08 DarkShadow44

It's probably because you ship "libwayland-client.so.0", which is older than my libKF5GuiAddons.so.5 expects.

DarkShadow44 avatar Aug 03 '22 16:08 DarkShadow44

Provide more infromation about your system - os, WM, etc.

rimpy-custom avatar Aug 06 '22 11:08 rimpy-custom

Arch Linux, KDE Plasma 5.25. Not sure what other details are of use, please tell me if you need more. Side note: Is the source available? Would be easier for Linux users..

DarkShadow44 avatar Aug 06 '22 15:08 DarkShadow44

May you try with different WM? Gnome, for example? No sources.

rimpy-custom avatar Aug 06 '22 18:08 rimpy-custom

Also try to reinstall wayland

rimpy-custom avatar Aug 06 '22 19:08 rimpy-custom

Different WM could work, I had another issue with Xfce, but this issue is plasma specific and I don't want to change my DE just for this. I already tried reinstalling wayland, but that doesn't help. This is to be expected though, since my wayland libraries aren't even used. RimPy ships wayland libraries, and those are incompatible with mine.

DarkShadow44 avatar Aug 07 '22 00:08 DarkShadow44

An idea would be to make a version that doesn't include needed dependencies, but require them to be installed on the distro. This would allow Arch users to provide them themselves. Is that an option?

DarkShadow44 avatar Aug 07 '22 01:08 DarkShadow44

Different WM could work

So it works in different WM or you didn't try? May you also try in live CD session with KDE plasma also? Looks like KDE issue since it is refer to your system library, not RImPy's, not sure.

rimpy-custom avatar Aug 07 '22 05:08 rimpy-custom

Different WM works, but that does NOT make it a KDE issue. No offence, but I already told you the reason for the error:

  • "libKF5GuiAddons.so.5" depends on the library "libwayland-client.so.0"
  • RimPy ships the library "libwayland-client.so.0"
  • Now when RimPy uses the system wide "libKF5GuiAddons.so.5", it doesn't use the systemwide "libwayland-client.so.0" but the RimPy version of "libwayland-client.so.0"
  • Since the RimPy "libwayland-client.so.0" is too old, there is a missing symbol

It is a packaging issue. Nothing I can do here unless I have the sources, because I can't repackage it. As I see it, the options are not shipping any dependent libraries, or shipping all of them. Otherwise you will run into incompatibilities. If I can be of service, please let me know.

DarkShadow44 avatar Aug 07 '22 17:08 DarkShadow44

I may be wrong, but it is kde-open5 that fails, am I right? For example similar issue, that was solved on user end: https://www.reddit.com/r/archlinux/comments/oip5ty/kde_apps_symbol_lookup_error_after_upgrade/ That is why I ask you to run KDE plasma live session to test that is not smth that failed during your system update. Will RImPy run fine in live session from USB stick or in VM environment? I acnnot test myself for the moment.

rimpy-custom avatar Aug 07 '22 18:08 rimpy-custom

also check what ldd /usr/lib/libKF5GuiAddons.so.5 gives you?

rimpy-custom avatar Aug 07 '22 18:08 rimpy-custom

My kde-open5 works perfecly fine. However, when I use LD_LIBRARY_PATH=/home/fabian/Games/RimWorld/RimPy kde-open5 /home/ then I get the error: kde-open5: symbol lookup error: /usr/lib/libKF5GuiAddons.so.5: undefined symbol: wl_proxy_marshal_flags

Because, as I said again and again, the libraries you ship are incompatible with my system libraries.

KDE live system could work or not - depending on how new the live system is. New live system won't work, older live system will work. Same with VM. Older plasma will work, never won't work. What ldd is giving me is irrelevant, since libraries are injected via LD_LIBRARY_PATH.

But since you don't seem to believe me, here a log with LD_DEBUG=libs: libs.log

As you see, it loads a lot of libraries from the RimPy folder, because of LD_LIBRARY_PATH. The wayland library is loaded from RimPy (/home/fabian/Games/RimWorld/RimPy/libwayland-client.so.0) However, libKF5GuiAddons is loaded from my system (/usr/libs/libKF5GuiAddons.so.5)

There is nothing wrong with my installation, it's just too new for RimPy to work properly. Please believe me, it is a packaging problem.

DarkShadow44 avatar Aug 07 '22 22:08 DarkShadow44

Since I don't know how you call kde-open5, could you make sure no library overrides are set? E.g. clear LD_LIBRARY_PATH before trying to call kde-open5. I'd like to help, but there's nothing I can do with the binary to fix it.

DarkShadow44 avatar Aug 07 '22 22:08 DarkShadow44

I do not want to be that person but as I said before there are no sources, no need to ask for that several time. You have already done a lot in helping me to understand what is going on. That was pretty useful. Am I right and you can delete that lib from rimpy's folder and issue will be solved? Afaik that issue may be solve if I rebuild with wayland 1.2 or replace that lib with newer one? What version of KDE do you use so I could reproduce issue?

rimpy-custom avatar Aug 08 '22 06:08 rimpy-custom

I'm using KDE 5.25, the easiest way to reproduce would probably to run Arch Linux in a VM. Or an easier to install Arch derivate like Manjaro should work as well.

Sadly, just removing that library libwayland-client.so.0 doesn't work. The next problem is kde-open5: symbol lookup error: /usr/lib/libKF5GuiAddons.so.5: undefined symbol: _ZN23QWaylandClientExtensionD2Ev, version Qt_5 which is inside libQt5WaylandClient.so Removing that as well, gives the error

qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Not sure why that is or how to work around that though.

Rebuilding with newer wayland should help, as long as it still works on older distros. Or you could try to change the way you call kde-open5, the thing with LD_LIBRARY_PATH I mentioned in my last comment.

DarkShadow44 avatar Aug 08 '22 17:08 DarkShadow44

Thank you for your help. I will look into this issue in 2 weeks, after come back from business trip. My laptop unable to handle VMs.

rimpy-custom avatar Aug 09 '22 13:08 rimpy-custom

Alright, thanks for looking into this :+1:

DarkShadow44 avatar Aug 09 '22 16:08 DarkShadow44

Closing for now. Reopen if issue wasn't fixed with latest Linux build 1.2.6.28.

rimpy-custom avatar Nov 19 '22 19:11 rimpy-custom