Jump to content
  • 0

Cannot play on linux


azurit

Question

Kubuntu 14.04, 32bit. Any hints?
 

Game update: AppID 291650 "Pillars of Eternity", ProcID 13786, IP 0.0.0.0:0
ERROR: ld.so: object '/home/.../.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
ERROR: ld.so: object '/home/.../.local/share/Steam/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
/home/.../.local/share/Steam/SteamApps/common/Pillars of Eternity/PillarsOfEternity: 1: /home/.../.local/share/Steam/SteamApps/common/Pillars of Eternity/PillarsOfEternity: ELF: not found
/home/.../.local/share/Steam/SteamApps/common/Pillars of Eternity/PillarsOfEternity: 2: /home/.../.local/share/Steam/SteamApps/common/Pillars of Eternity/PillarsOfEternity: Syntax error: "(" unexpected
Game removed: AppID 291650 "Pillars of Eternity", ProcID 13786
Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0

And what about that 'Syntax error: "(" unexpected'? Doesn't seems as an 32bit system problem.

It could be due to a difference in encoding, a single byte is 64 bits long in a x64 system while on an x86 system it is 32 bits long. The 32 bit system could be attempting to read a 64bit byte and only reading the first half. This can cause an improper character to be decoded or half of the message could be lost.

 

A simple but improper example would be () being read as simply ( or an "x" being read as "z"

 

Edit: This is an error in sh, most likely caused because it is meant for a different shell. So yes it is a 32 vs 64 bit problem.

Edited by Ekital
Link to comment
Share on other sites

  • 0

I'd say this 'And what about that 'Syntax error: "(" unexpected'' is just an error in the script,

in certain case it seems to look for two ELF's however since the game only is 64bit compiled (there is no 32bit ELF).

It will not find this... topic should be marked as [resolved].

Link to comment
Share on other sites

  • 0
/home/.../.local/share/Steam/SteamApps/common/Pillars of Eternity/PillarsOfEternity: 1: /home/.../.local/share/Steam/SteamApps/common/Pillars of Eternity/PillarsOfEternity: ELF: not found
/home/.../.local/share/Steam/SteamApps/common/Pillars of Eternity/PillarsOfEternity: 2: /home/.../.local/share/Steam/SteamApps/common/Pillars of Eternity/PillarsOfEternity: Syntax error: "(" unexpected

 

The reason those two lines happen is because the shell, for some reason, tries to interpret this ELF binary as a shell script, after it couldn't load the 64-bit gameoverlayrenderer.so.

 

The 1 and 2 are line numbers (after trying to interpret the file as plain text). The first 4 byte of an ELF binary are 0x7F ELF, and the shell throws away the 0x7F (because it's a non-printable control character), then tries to execute a command "ELF", which of course doesn't exist. It goes on to try to parse the second "line", and then trips over the '(' it finds mid-way through. Of course, everything else in that line is also not valid as a shell script, but the '(' is the first serious problem the shell can't cope with, and dies.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...