Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Steam won't work, probably multilib related
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
qemist
n00b
n00b


Joined: 10 Apr 2010
Posts: 18

PostPosted: Thu Jul 03, 2014 1:57 pm    Post subject: Steam won't work, probably multilib related Reply with quote

I gave in to my weakness and attempted to install steam (Valve) on my 64-bit 3.15.0-gentoo-r1 system. It fails promptly in a way I don't understand.

Code:
 # ls -l /opt/halflife/steam
-rwxr-x--- 1 root games 6172824 Jul  3 22:15 /opt/halflife/steam
# file /opt/halflife/steam
/opt/halflife/steam: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
# /opt/halflife/steam
-bash: /opt/halflife/steam: No such file or directory
# strace /opt/halflife/steam
execve("/opt/halflife/steam", ["/opt/halflife/steam"], [/* 46 vars */]) = -1 ENOENT (No such file or directory)
write(2, "strace: exec: No such file or di"..., 40strace: exec: No such file or directory
) = 40
exit_group(1)                           = ?
+++ exited with 1 +++


Why is it giving the No such file or directory error? /opt/halflife/steam is obviously there.

OK, I see the problem. Untarring that tar file I extracted from the .deb file I downloaded from their site trashed a bunch of symlinks such as /lib. Now no compiled 32 bit C apps will run. Opaque error message. I must to work.

Mod edit by i92guboj: title changed. Please, when asking for support try to use descriptive titles.
Back to top
View user's profile Send private message
eccerr0r
Watchman
Watchman


Joined: 01 Jul 2004
Posts: 9677
Location: almost Mile High in the USA

PostPosted: Thu Jul 03, 2014 3:17 pm    Post subject: Reply with quote

You probably have messed up your dynamic linker or some of the shared object files.

Try

ldd /opt/halflife/steam

and see if there are missing files there (other than the usual ones, but if you have ldd from the latest version of glibc, it shouldn't give an error.) I hope your 64-bit libs are OK and can fix it from there.

Is the ebuild games-server/halflife-steam the same thing? Not sure, I've never used it. Probably safer to use this?

I would say, at all costs, never untar a tarfile in the root directory (unless you're running slackware linux and using slackware's tarballs). Make a directory and dump in tmp first and inspect where each file will go.
_________________
Intel Core i7 2700K/Radeon R7 250/24GB DDR3/256GB SSD
What am I supposed watching?
Back to top
View user's profile Send private message
szatox
Advocate
Advocate


Joined: 27 Aug 2013
Posts: 3131

PostPosted: Thu Jul 03, 2014 5:26 pm    Post subject: Reply with quote

I think you used to have multilib profile that got trashed during that installation (or whatever else happened around that time)
Since your current system is not consistent with what portages expects, if you rebuild everything modified files will be replaced with correct ones fixing your system (it will most likely still be a bit bloated though, as any extra libs installed will not be removed this easily)

You can also give revdep-rebuild a shot. If it examines system rather than refer to cache, it will work just as well as emerge -e world. I'm not sure if it does, but it would be fast anyway. Finaly, you might want to clean up removing libs that are not owned by any installed package.

Unfortunately this is likely to take ages to complete. So... Well, backup your system before you screw it up like this again. Restoring wold likely be faster than cleaning up. Ah, you can also try to remove files installed by this package you had there. But better backup first, as you can break it even more this way. However, if your system survives it, you can then rebuild everything missing with emerge -e world and be rid of bloat without waiting ages for checking owner of every single file. Consider this way dangerous.
Back to top
View user's profile Send private message
qemist
n00b
n00b


Joined: 10 Apr 2010
Posts: 18

PostPosted: Thu Jul 03, 2014 11:52 pm    Post subject: Reply with quote

Fortunately my root filesystem is NILFS2 and I was able to mount a pre Steam install snapshot to see what had changed. Deleting /lib/... and /usr/lib/... (there there was only stuff the steam installer put) and replacing them with symlinks to /lib64 and /usr/lib64 made my system better.Getting Steam to install can wait. Clearly just downloading their deb package and blindly following some forum instructions for installing deb packages on gentoo is not the right approach!

Thank you for your time gentlemen.
Back to top
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2571
Location: Here and Away Again

PostPosted: Fri Jul 04, 2014 7:26 am    Post subject: ><)))°€ Reply with quote

Teegrins, qemist!


qemist wrote:
Clearly just downloading their deb package and blindly following some forum instructions for installing deb packages on gentoo is not the right approach!

Depends on who you ask from (what is right, and what is wrong may differ between people ^^).

But yeah, I would say you're on the track from my point of view. I do not consider it sane to install anything (that is, not just deb or what have you) manually. It's certainly more sane to let Portage handle the installation and uninstallation, which it can't do if it has no track of the files (which it doesn't when they were installed manually).

With regards to Steam, there isn't much we can do with its actual install, since it is what it is, and that is it will install itself. What we can do, is not let it pollute our system, and choose where it will install itself.

Generally, I see two different approaches:
  • Manual install. [1]
  • Use an ebuild for the Steam installer (I've not tested it since its early days, and I do prefer the above).
See our wikki-page for more precise instructions (https://wiki.gentoo.org/wiki/Steam).


1. Did I not just say it's bad to install things manually? Yeah, but we're not really installing Steam into our system... so to speak. Not into the root-pathways at least! I feel it's somewhat similar to downloading source-code, extracting it, building it, and running it from that build-directory (that is, we don't make install it at all). I do that a lot, especially with git-builds of Wine and whatever else.

The Steam install is somewhat similar to that: I download the 'deb', extract the script from it, possibly adjust it somewhat for it to use the paths I want, and then let the script do its thing. I never install its files under /opt etc., but instead, it remains in whatever user-managed location I feel like having it at the time.


eccerr0r wrote:
Is the ebuild games-server/halflife-steam the same thing? Not sure, I've never used it. Probably safer to use this?

No, not quite.

As far as I understand, that's the Half-Life Dedicated Server Update Tool. The ebuild description seems like it could be a bit... off, especially now that there is a native client for the actual Steam... client.

In all this, I'm assuming that the actual Steam client is being wanted, not the HLDSUpdateTool (which the /opt/halflife/steam in the beginning might somewhat be pointing towards...).


I hope this helps!


By the by, the title probably could have been something a bit more descriptive. Not that I personally mind, but being punished for my sins certainly did not make me think this was actually a call for support with regards to installing Steam. ^^;
_________________
Kindest of regardses.
Back to top
View user's profile Send private message
i92guboj
Bodhisattva
Bodhisattva


Joined: 30 Nov 2004
Posts: 10315
Location: Córdoba (Spain)

PostPosted: Fri Jul 04, 2014 7:48 am    Post subject: Reply with quote

EDITED: Please, completely ignore this post. I just learnt that the version in portage is for the server version, to which these comments I wrote do not apply. Forgive my ignorance :lol:


As far as Steam goes (or anything similar), the "sane" approach is to download the package from their web and put it in your $HOME. There's no need for that to be in /, and there's certainly no point in installing it system wide, since "the big things" are the games you download using steam, and those are tied to a concrete user anyway. As a side effect, the steam autoupdate feature will work, unlike in a root install.

If your system is correctly setup to support multilib, and you have the correct emul-* packages installed, steam will run in your $HOME directory without any complain.
Back to top
View user's profile Send private message
qemist
n00b
n00b


Joined: 10 Apr 2010
Posts: 18

PostPosted: Fri Jul 04, 2014 10:31 am    Post subject: Re: ><)))°€ Reply with quote

Chiitoo wrote:
Teegrins, qemist!


qemist wrote:
Clearly just downloading their deb package and blindly following some forum instructions for installing deb packages on gentoo is not the right approach!

Depends on who you ask from (what is right, and what is wrong may differ between people ^^).

But yeah, I would say you're on the track from my point of view. I do not consider it sane to install anything (that is, not just deb or what have you) manually. It's certainly more sane to let Portage handle the installation and uninstallation, which it can't do if it has no track of the files (which it doesn't when they were installed manually).

With regards to Steam, there isn't much we can do with its actual install, since it is what it is, and that is it will install itself. What we can do, is not let it pollute our system, and choose where it will install itself.

Generally, I see two different approaches:
  • Manual install. [1]
  • Use an ebuild for the Steam installer (I've not tested it since its early days, and I do prefer the above).
See our wikki-page for more precise instructions (https://wiki.gentoo.org/wiki/Steam).


1. Did I not just say it's bad to install things manually? Yeah, but we're not really installing Steam into our system... so to speak. Not into the root-pathways at least! I feel it's somewhat similar to downloading source-code, extracting it, building it, and running it from that build-directory (that is, we don't make install it at all). I do that a lot, especially with git-builds of Wine and whatever else.

The Steam install is somewhat similar to that: I download the 'deb', extract the script from it, possibly adjust it somewhat for it to use the paths I want, and then let the script do its thing. I never install its files under /opt etc., but instead, it remains in whatever user-managed location I feel like having it at the time.


eccerr0r wrote:
Is the ebuild games-server/halflife-steam the same thing? Not sure, I've never used it. Probably safer to use this?

No, not quite.

As far as I understand, that's the Half-Life Dedicated Server Update Tool. The ebuild description seems like it could be a bit... off, especially now that there is a native client for the actual Steam... client.

In all this, I'm assuming that the actual Steam client is being wanted, not the HLDSUpdateTool (which the /opt/halflife/steam in the beginning might somewhat be pointing towards...).


I hope this helps!


By the by, the title probably could have been something a bit more descriptive. Not that I personally mind, but being punished for my sins certainly did not make me think this was actually a call for support with regards to installing Steam. ^^;


I will try your suggestion of installing it under $HOME. Should I use a 32-bit chroot environment? "games-server/halflife-steam" confused me. Was it a generic Steam client or something just for playing Half-Life? I tried it anyway and it failed promptly like so

Code:
#  /opt/halflife/steam
Checking bootstrapper version ...
Getting version 51 of Steam HLDS Update Tool
No Steam Content Servers available, please try again later


Googling I found a post on the Steam community forums that said the HLDS Update Tool had been abolished. So I gave up on games-server/halflife-steam and tried the client in the gamerlay overlay games-util/steam-launcher. That failed as documented in another thread here. I already had Windows Steam working under wine, and Linux Steam not working under Gentoo, so I was reluctant to follow hasufell's suggestion which apparently kills wine.

The thread title is a Nethack reference. When you are lazy and try to pray too frequently, you may be punished with a ball and chain. I tried to install Steam the lazy way and the project is rapidly becoming a ball and chain.
Back to top
View user's profile Send private message
Chiitoo
Administrator
Administrator


Joined: 28 Feb 2010
Posts: 2571
Location: Here and Away Again

PostPosted: Sat Jul 05, 2014 3:07 pm    Post subject: Re: ><)))°€ Reply with quote

qemist wrote:
I will try your suggestion of installing it under $HOME. Should I use a 32-bit chroot environment?

As i92guboj mentioned, if your system is correctly setup to support multilib, and you have the correct emul-* packages installed, steam will run in your $HOME directory without any complain.

So with that said, I'd say no need for chrooting or anything like that! ^^

(I'm also running Steam on amd64 here.)

Quote:
"games-server/halflife-steam" confused me. Was it a generic Steam client or something just for playing Half-Life?

To my understanding, it was a client for updating GoldSrc and Source dedicated servers, and seems it was indeed deprecated in late 2013 in favor of SteamCMD.

Quote:
I already had Windows Steam working under wine, and Linux Steam not working under Gentoo, so I was reluctant to follow hasufell's suggestion which apparently kills wine.

I'm not entirely sure about the ABI_X86, as I haven't needed to really look into it... but there's certainly no need to kill off Wine. Mine has been built with ABI_X86="32 64 -x32" as of late.

Quote:
The thread title is a Nethack reference. When you are lazy and try to pray too frequently, you may be punished with a ball and chain. I tried to install Steam the lazy way and the project is rapidly becoming a ball and chain.

Right. I seem to think I remember something similar from ADOM, or perhaps Angband... no, ADOM, most likely!

However, it doesn't help you with getting the support you need. ^^;


I might suggest merging that other thread with this one, as it seems to be about the same'ish thing.

I'm not entirely sure what the ebuild does, so I can't really say much about it, but I would imagine you might get similar results by installing manually.

With regards to the X-errors such as X Error of failed request: GLXBadDrawable, do things really work for you aside from Steam? Like, with Wine for example? This often (I think) refers to not having the required 32-bit libs, or graphics driver issues. I imagine you should have the libs due to using Wine and the ebuild for the native Steam (and if you were missing libs, I think you'd be getting different kind of errors with the native Steam... maybe).

From that I also imagine it can't be something simple as not having nvidia set as your OpenGL implementation (eselect opengl list).

You also mentioned you're using the latest nvidia-drivers, but which version does that mean exactly for your Gentoo? It may vary between hardware (old vs new), as well as between Gentoo installations ('unstable' vs 'stable'). From the title of the other thread, I'm guessing 'unstable' (which would probably mean 340.17 for modern enough hardware).


Perhaps you'd fancy an adventure to the fields of debug, and run Steam like so:

Code:
LD_DEBUG=libs steam

This should at least confirm if it's not finding a lib or few (especially look for lines with 'fatal').
_________________
Kindest of regardses.
Back to top
View user's profile Send private message
qemist
n00b
n00b


Joined: 10 Apr 2010
Posts: 18

PostPosted: Sun Jul 06, 2014 4:16 am    Post subject: Re: ><)))°€ Reply with quote

Chiitoo wrote:
qemist wrote:
I will try your suggestion of installing it under $HOME. Should I use a 32-bit chroot environment?

As i92guboj mentioned, if your system is correctly setup to support multilib, and you have the correct emul-* packages installed, steam will run in your $HOME directory without any complain.

So with that said, I'd say no need for chrooting or anything like that! ^^

(I'm also running Steam on amd64 here.)

Quote:
"games-server/halflife-steam" confused me. Was it a generic Steam client or something just for playing Half-Life?

To my understanding, it was a client for updating GoldSrc and Source dedicated servers, and seems it was indeed deprecated in late 2013 in favor of SteamCMD.

Quote:
I already had Windows Steam working under wine, and Linux Steam not working under Gentoo, so I was reluctant to follow hasufell's suggestion which apparently kills wine.

I'm not entirely sure about the ABI_X86, as I haven't needed to really look into it... but there's certainly no need to kill off Wine. Mine has been built with ABI_X86="32 64 -x32" as of late.

Quote:
The thread title is a Nethack reference. When you are lazy and try to pray too frequently, you may be punished with a ball and chain. I tried to install Steam the lazy way and the project is rapidly becoming a ball and chain.

Right. I seem to think I remember something similar from ADOM, or perhaps Angband... no, ADOM, most likely!

However, it doesn't help you with getting the support you need. ^^;



Oh, it seems to have drummed up some interest.


Chiitoo wrote:
I might suggest merging that other thread with this one, as it seems to be about the same'ish thing.

I'm not entirely sure what the ebuild does, so I can't really say much about it, but I would imagine you might get similar results by installing manually.


Yeah. When I installed it manually under $HOME I got the same behavior I saw from the official ebuild.

Chiitoo wrote:
With regards to the X-errors such as X Error of failed request: GLXBadDrawable, do things really work for you aside from Steam? Like, with Wine for example? This often (I think) refers to not having the required 32-bit libs, or graphics driver issues. I imagine you should have the libs due to using Wine and the ebuild for the native Steam (and if you were missing libs, I think you'd be getting different kind of errors with the native Steam... maybe).

From that I also imagine it can't be something simple as not having nvidia set as your OpenGL implementation (eselect opengl list).


Code:
# eselect opengl list
Available OpenGL implementations:
  [1]   nvidia *
  [2]   xorg-x11

 # eix -e  nvidia-drivers
[I] x11-drivers/nvidia-drivers
     Available versions:  96.43.23^msd 173.14.39^msd 304.121^msd 331.79^msd 334.21-r3^msd 337.25^msd (~)340.17^msd {+X acpi custom-cflags gtk multilib pax_kernel (+)tools uvm KERNEL="FreeBSD linux"}
     Installed versions:  340.17^msd(21:10:47 06/18/14)(X acpi multilib tools -pax_kernel -uvm KERNEL="linux -FreeBSD")
     Homepage:            http://www.nvidia.com/
     Description:         NVIDIA Accelerated Graphics Driver


Can play Civ5 under wine, so something is working.

Chiitoo wrote:
Perhaps you'd fancy an adventure to the fields of debug, and run Steam like so:

Code:
LD_DEBUG=libs steam

This should at least confirm if it's not finding a lib or few (especially look for lines with 'fatal').


I might give that a go when I feel stronger.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum