Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

symbol lookup error when installing Sunshine beta in SteamOS 3.6.19 #3342

Open
2 tasks done
CarlosVR2 opened this issue Oct 30, 2024 · 2 comments
Open
2 tasks done

symbol lookup error when installing Sunshine beta in SteamOS 3.6.19 #3342

CarlosVR2 opened this issue Oct 30, 2024 · 2 comments

Comments

@CarlosVR2
Copy link

Is there an existing issue for this?

  • I have searched the existing issues

Is your issue described in the documentation?

  • I have read the documentation

Is your issue present in the latest beta/pre-release?

This issue is present in the latest pre-release

Describe the Bug

I'm getting the error below when trying to run the beta version of Sunshine v2024.1030.140606 on my Steam Deck OLED running SteamOS 3.6.19.

sunshine: symbol lookup error: sunshine: undefined symbol: ucnv_getMaxCharSize_75

Exactly the same error occurs when installing the AUR version with MAKEPKG and when using beta version v2024.1030.337.

The stable version (0.23.1) installed on the same way runs fine.

Expected Behavior

I expect the beta version to run with no errors after being installed.

Additional Context

I'm installing the beta version of Sunshine v2024.1030.140606 on my Steam Deck OLED running SteamOS 3.6.19.

I first used the command:
wget https://github.com/LizardByte/Sunshine/releases/download/v2024.1030.140606/sunshine.pkg.tar.zst
And then:
pacman -U --noconfirm sunshine.pkg.tar.zst
Then I tried running Sunshine, but I got the error message below:
sunshine: error while loading shared libraries: libminiupnpc.so.18: cannot open shared object file: No such file or directory
I used the command below to fix that error:
patchelf --replace-needed libminiupnpc.so.18 libminiupnpc.so.17 /usr/bin/sunshine
Then I got a similar error pointing to a different file:
sunshine: error while loading shared libraries: libicuuc.so.75: cannot open shared object file: No such file or directory
And I fixed it similarly:
patchelf --replace-needed libicuuc.so.75 libicuuc.so.74.2 /usr/bin/sunshine
Then I tried running Sunshine again, and I got a new error:
sunshine: symbol lookup error: sunshine: undefined symbol: ucnv_getMaxCharSize_75

I haven't been able to fix that last one.

Exactly the same errors occur when installing the AUR version with MAKEPKG and when using beta version v2024.1030.337.

The stable version (0.23.1) installed on the same way runs fine.

Host Operating System

Linux

Operating System Version

SteamOS 3.6.19

Architecture

amd64/x86_64

Sunshine commit or version

v2024.1030.140606

Package

Linux - pkg.tar.zst

GPU Type

AMD

GPU Model

RADV VANGOGH

GPU Driver/Mesa Version

24.2.5

Capture Method

None

Config

No response

Apps

No response

Relevant log output

The program doesn't run, so there are no logs.
@cathyjf
Copy link
Contributor

cathyjf commented Nov 2, 2024

Just from reading what you wrote, it appears that you are attempting to use a different version of libicuuc than the version that Sunshine was linked against. The ucnv_getMaxCharSize symbol appears to be at least somewhat related to libicuuc. My guess is that the library you're attempting to use is not binary compatible with the one that Sunshine was linked against. You can't just replace libraries with different versions in binary code and it expect it to work.

@CarlosVR2
Copy link
Author

Hello @cathyjf , thank you for your reply.

As you say, it seems the beta version of Sunshine is looking specifically for version 2.2.8 of miniupnpc and version 75 of icu. So I tried upgrading those packages before installing Sunshine beta, downloading the packages directly from https://archlinux.org/packages/ .

Upgrading miniupnpc was easy enough:

pacman -U miniupnpc-2.2.8-1-x86_64.pkg.tar.zst
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (1) miniupnpc-2.2.8-1

Total Installed Size:  0.13 MiB
Net Upgrade Size:      0.00 MiB

:: Proceed with installation? [Y/n] y
(1/1) checking keys in keyring                                                                [#######################################################] 100%
(1/1) checking package integrity                                                              [#######################################################] 100%
(1/1) loading package files                                                                   [#######################################################] 100%
(1/1) checking for file conflicts                                                             [#######################################################] 100%
(1/1) checking available disk space                                                           [#######################################################] 100%
:: Processing package changes...
(1/1) upgrading miniupnpc                                                                     [#######################################################] 100%
:: Running post-transaction hooks...
(1/1) Arming ConditionNeedsUpdate...

But I couldn't upgrade icu due to a dependency issue with freerdp:

pacman -U icu-75.1-1-x86_64.pkg.tar.zst 
loading packages...
resolving dependencies...
looking for conflicting packages...
error: failed to prepare transaction (could not satisfy dependencies)
:: installing icu (75.1-1) breaks dependency 'libicuuc.so=74-64' required by freerdp

And trying to upgrade freerdp didn't work either:

pacman -U freerdp2-2.11.7-1-x86_64.pkg.tar.zst
loading packages...
resolving dependencies...
warning: cannot resolve "libavcodec.so=61-64", a dependency of "freerdp2"
warning: cannot resolve "libavutil.so=59-64", a dependency of "freerdp2"
warning: cannot resolve "libswresample.so=5-64", a dependency of "freerdp2"
warning: cannot resolve "libswscale.so=8-64", a dependency of "freerdp2"
warning: cannot resolve "libicuuc.so=75-64", a dependency of "freerdp2"
:: The following package cannot be upgraded due to unresolvable dependencies:
      freerdp2

:: Do you want to skip the above package for this upgrade? [y/N] n
error: failed to prepare transaction (could not satisfy dependencies)
:: unable to satisfy dependency 'libavcodec.so=61-64' required by freerdp2
:: unable to satisfy dependency 'libavutil.so=59-64' required by freerdp2
:: unable to satisfy dependency 'libswresample.so=5-64' required by freerdp2
:: unable to satisfy dependency 'libswscale.so=8-64' required by freerdp2
:: unable to satisfy dependency 'libicuuc.so=75-64' required by freerdp2

Any thoughts?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants