Doesn't work with nss 3.82
I'm on Arch Linux, and RimPy doesn't start after a recent system update. To be clear, it's the update from nss-3.81 to nss-3.82 that broke it. Downgrading nss works around the issue.
Log:
Traceback (most recent call last):
File "/home/fabian/Games/RimWorld/RimPy/rimpy.py", line 26, in <module>
ImportError: /home/fabian/Games/RimWorld/RimPy/PyQt5/../libnssutil3.so: version `NSSUTIL_3.82' not found (required by /usr/lib/libnss3.so)
Can confirm it being broken as I receive the same error.
I'd expect 3.82-1 to be downward compatible.
I'm running EndeavourOS, can also confirm the same issue and that downgrading to 3.81 works.
Nss on arch has been updated to 3.83, so I get the same error as DarkShadow44 with NSSUTIL_3.82 not found. Going to try to build it from source and change this version dependency and see what happens.
Oh, there is no source code https://github.com/rimpy-custom/RimPy/issues/79
Uhhh, I'm not downgrading NSS so that's kinda frustrating :/
edit: a word
For what it's worth, wine does seem to run the windows version. at least so far for me.
same here on fedora
Rimpy was working fine on Fedora before a system update, now I'm getting this error. Getting the same error on Arch as well. Running in wine is a good workaround for sorting, but you lose SteamAPI functionality (launching game from RimPy, opening a mod page in Steam from RimPy, etc).
Same thing on Garuda (Arch Linux). Downgrading nss seemed to have solved the problem. Mod stripping crashes the app tho
Same problem here, latest Fedora. LD_PRELOAD also doesn't work. Error message below.
ERROR: ld.so: object 'libpcre.so.3' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
Traceback (most recent call last):
File "/home/kiske/Games/Utils/Rimptest/rimpy.py", line 26, in <module>
ImportError: /home/kiske/Games/Utils/Rimptest/PyQt5/../libnssutil3.so: version `NSSUTIL_3.82' not found (required by /lib64/libnss3.so)
Rimpy 1.2.4.21 still works though.
You can use LD_PRELOAD to load the older libnssutil3.so
You can use LD_PRELOAD to load the older libnssutil3.so
I'm also on libnss 3.83. The RimPy.sh in the directory already holds a LD_PRELOAD variable. I'm not able to change the env var to do the included libnss3.so, and frankly, am unsure if that's how it's supposed to be done.
Contents of modified RimPy.sh
#!/bin/bash
LD_PRELOAD=./libnssutil3.so ./RimPy
Continues to throw
[heim3x@sancus-unix RimPy]$ ./RimPy.sh
Traceback (most recent call last):
File "/home/skuch/.software/RimPy/rimpy.py", line 26, in <module>
ImportError: ./libnssutil3.so: version `NSSUTIL_3.82' not found (required by /usr/lib/libnss3.so)
How to properly set the LD_PRELOAD?
I downloaded nss-3.82 from here: https://archive.archlinux.org/packages/n/nss/, extracted to RimPy/nss, then changed the bash script to:
#!/bin/bash
LD_PRELOAD="nss/libnssutil3.so:libpcre.so.3:$LD_PRELOAD" ./RimPy
And it seems to work!
I think the libnssutil3.so that comes packaged with RimPy is faulty. It has a different md5 than some other libnssutil3.so file on my system.
Deleting the packaged one helps.
I think the libnssutil3.so that comes packaged with RimPy is faulty. It has a different md5 than some other libnssutil3.so file on my system.
That is normal and to be expected. It's not faulty, just different.
Closing for now. Reopen if issue wasn't fixed with latest Linux build 1.2.6.28.