Beyond Sunset / Hedon Demo on Linux

Need help running G/Q/ZDoom/ECWolf/Zandronum/3DGE/EDuke32/Raze? Did your computer break? Ask here.

Moderator: GZDoom Developers

Forum rules
Contrary to popular belief, we are not all-knowing-all-seeing magical beings!

If you want help you're going to have to provide lots of info. Like what is your hardware, what is your operating system, what version of GZDoom/LZDoom/whatever you're using, what mods you're loading, how you're loading it, what you've already tried for fixing the problem, and anything else that is even remotely relevant to the problem.

We can't magically figure out what it is if you're going to be vague, and if we feel like you're just wasting our time with guessing games we will act like that's what you're really doing and won't help you.
Post Reply
User avatar
Custodian
Posts: 63
Joined: Fri Jan 29, 2021 8:24 pm
Graphics Processor: ATI/AMD (Modern GZDoom)
Location: Minneapolis MN, USA
Contact:

Beyond Sunset / Hedon Demo on Linux

Post by Custodian »

On steam, a number of users have reported this error message when opening the beyond sunset demo:

Code: Select all

/path/to/steam/SteamLibrary/steamapps/common/Beyond Sunset Demo/./gzdoom: error while loading shared libraries: libzmusic.so.1: cannot open shared object file: No such file or directory
The issue clearly appears to be that the libzmusic needs to be installed on the end users system, and I'm not really sure how to do this, the steam Linux documentation is deeply unhelpful.

Out of curiosity, i tried downloading and installing the hedon demo and it generated the same error message as well.

Is there a known fix for this, or anyone more familiar with steam that can point me in the right direction?

it looks like the batch file included with hedon points the app at a directory with the compiled dependencies in it, but that doesn't seem to work. Any help is appreciated.
User avatar
KynikossDragonn
Posts: 272
Joined: Sat Dec 12, 2020 10:59 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Void Linux
Graphics Processor: Intel (Modern GZDoom)
Location: Independence, KS, USA
Contact:

Re: Beyond Sunset / Hedon Demo on Linux

Post by KynikossDragonn »

Try setting the binaries RPATH to $ORIGIN.

I do this by building GZDoom with a CMAKE_INSTALL_RPATH of $ORIGIN and then put libzmusic.so.1 in the same directory as the binary.

Though as you probably have noticed, it's standard practice to LD_LIBRARY_PATH to some "lib" directory in the same spot as the binary in the usual "start.sh" method a lot of Linux steam games use. But, I'd try with a RPATH of $ORIGIN as that is supported by every modern distro's dynamic linker.

this is what you should see in a objdump -x output if you did this correctly:
Screenshot_2022-07-09_17-48-03.png
Screenshot_2022-07-09_17-48-03.png (2.34 KiB) Viewed 401 times
after that as long as libzmusic.so.1 is in the same directory as where the binary is located it should always find ZMusic.
User avatar
Custodian
Posts: 63
Joined: Fri Jan 29, 2021 8:24 pm
Graphics Processor: ATI/AMD (Modern GZDoom)
Location: Minneapolis MN, USA
Contact:

Re: Beyond Sunset / Hedon Demo on Linux

Post by Custodian »

KynikossDragonn wrote:Try setting the binaries RPATH to $ORIGIN.

I do this by building GZDoom with a CMAKE_INSTALL_RPATH of $ORIGIN
How can I do this?
User avatar
KynikossDragonn
Posts: 272
Joined: Sat Dec 12, 2020 10:59 am
Preferred Pronouns: He/Him
Operating System Version (Optional): Void Linux
Graphics Processor: Intel (Modern GZDoom)
Location: Independence, KS, USA
Contact:

Re: Beyond Sunset / Hedon Demo on Linux

Post by KynikossDragonn »

I've only ever successfully done it during compile time by inserting a CMAKE_INSTALL_RPATH variable of type STRING set to $ORIGIN with the CMake GUI.

Every single time I've tried to do it following "advice" on the internet to insert the RPATH info with binary modifier tools it always corrupts the executable and makes it crash...

This wiki page talks about how to set RPATH stuff in CMake, but it's really as easy as just manually inserting the variable with the CMake GUI after you do the initial generation, then regenerate the build files and run the build process once you've set CMAKE_INSTALL_RPATH.
User avatar
Rachael
Posts: 13557
Joined: Tue Jan 13, 2004 1:31 pm
Preferred Pronouns: She/Her
Contact:

Re: Beyond Sunset / Hedon Demo on Linux

Post by Rachael »

GZDoom versions since 4.8.0 do this automatically.
Post Reply

Return to “Technical Issues”