Bash says some executables exist, but don't exist at the same time.

13 replies [Last post]
onpon4
Offline
Joined: 05/30/2012

This is really counter-intuitive. I kind of mentioned it in another topic where someone else was having a similar problem with the binary download of Thunderbird, but he solved his Thunderbird problem in another way and the thread mostly ended up being discussion about installing packages without an Internet connection, so this was never really addressed there.

I have two programs downloaded that seem to have this problem: Ryzom and Cube. I can easily live without Cube (it's not really that great of a game), but Ryzom is definitely something I want to work, and it isn't available as a package.

Attached are screenshots of terminal windows showing exactly what I did and also showing that Bash knows the files exist and are executable, and at the same time is telling me that it can't find them. Here is the raw text as well:

http://pastebin.com/V4Z1jNtT
http://pastebin.com/0Dsc8uce

This is on Trisquel 6. Both Ryzom and Cube worked just fine on Trisquel 5.5.

AttachmentSize
Screenshot from 2013-03-19 18:19:27.png31.55 KB
Screenshot from 2013-03-19 18:20:35.png45.88 KB
jxself
Offline
Joined: 09/13/2010

I imagine the problem lies within cube_unix, not BASH. In most cases
your home directory is not within your $PATH. So it seems to me that
there are two options:
* Update cube_unix so that it uses the exact path to linux_client
* Add /home/julian/cube/bin_unix/ to your $PATH

onpon4
Offline
Joined: 05/30/2012

> * Update cube_unix so that it uses the exact path to linux_client

It already does:

> CUBE_DIR=~/cube
> [...]
> cd ${CUBE_DIR}
> exec ${CUBE_DIR}/bin_unix/${MACHINE_PREFIX}${SYSTEM_PREFIX}client $*

And it has nothing to do with the problem with Ryzom, where the executed file is a binary, not a shell script. Like I said, Cube isn't all that important.

Michał Masłowski

I am a member!

I am a translator!

Offline
Joined: 05/15/2010

I've seen similar errors on another architecture when the dynamic linker
specified in the binaries was missing. Missing 32-bit libraries might
cause it when running 32-bit programs on 64-bit x86 systems.

("objdump -sj .interp" shows what dynamic linker the binary uses.)

onpon4
Offline
Joined: 05/30/2012

Well, I'm using the 64-bit version, but I was using the 64-bit version on Trisquel 5.5 too. I'd still like to check this, but I don't really understand what I'm supposed to do with "objdump -sj .interp" (that exact command just gives an error).

miga
Offline
Joined: 09/17/2011

Cube is considered non-free, but I'm pretty sure that just the artwork (non-functional data) is non-free, and the functional data is free. I think this is okay? I could be wrong.

A free (at least from what I can see, some sources say it's non-free in the same sense as well) alternative to Cube is Red Eclipse, in case you're interested.

You could probably look around and find .deb packages of Cube and Ryzom and go from there.

onpon4
Offline
Joined: 05/30/2012

I already know about Red Eclipse and have it installed. Like I said, I don't much like Cube, but what I like in Cube 2 is the single-player, not the multi-player; Red Eclipse doesn't have this. The only completely free FPS I'm aware of with a proper single-player campaign is Freedoom; all the others just have multiplayer, which is particularly annoying when they have so few people playing at any given time that the only way to play multiplayer is to be opportunistic (this applies to every free FPS that I know of except for AssaultCube and OpenArena).

lembas
Offline
Joined: 05/13/2010

What happens if you
sh -x ./ryzom_client
Where did you get those files from?

Have you tried this? http://dev.ryzom.com/projects/ryzom/wiki/LinuxBinaries

onpon4
Offline
Joined: 05/30/2012

./ryzom_client: 1: ./ryzom_client: Syntax error: "(" unexpected

I got them from the official Ryzom website, of course. More specifically, it links to a download from SourceForge: http://sourceforge.net/projects/ryzom/files/ryzom_client.7z/download

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

Could you post the output of:
$ ldd ~/ryzom/ryzom_client

I also guess the problem has something to do with the multiarch support (that has been removed from Toutatis' default install). If you want to try a fix before the actual examination of the problem, try installing the "ia32-libs-multiarch" package.

onpon4
Offline
Joined: 05/30/2012

> Could you post the output of:
> $ ldd ~/ryzom/ryzom_client

Just one line:

> not a dynamic executable

onpon4
Offline
Joined: 05/30/2012

Trying to install ia32-libs-multiarch, I got these errors:

Errors were encountered while processing:
/var/cache/apt/archives/libgtk2.0-0_2.24.10-0ubuntu6+6.0trisquel2_i386.deb
/var/cache/apt/archives/libgail18_2.24.10-0ubuntu6+6.0trisquel2_i386.deb
/var/cache/apt/archives/libsdl1.2debian_1.2.14-6.4ubuntu3+6.0trisquel1_i386.deb
/var/cache/apt/archives/gtk2-engines-pixbuf_2.24.10-0ubuntu6+6.0trisquel2_i386.deb
/var/cache/apt/archives/libgail-common_2.24.10-0ubuntu6+6.0trisquel2_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

Packages were broken, so I tried telling Synaptic to fix them, and it gave me these errors:

E: /var/cache/apt/archives/libgtk2.0-0_2.24.10-0ubuntu6+6.0trisquel2_i386.deb: './usr/share/doc/libgtk2.0-0/changelog.Debian' is different from the same file on the system
E: /var/cache/apt/archives/libsdl1.2debian_1.2.14-6.4ubuntu3+6.0trisquel1_i386.deb: './usr/share/doc/libsdl1.2debian/changelog.Debian.gz' is different from the same file on the system
E: /var/cache/apt/archives/gtk2-engines-pixbuf_2.24.10-0ubuntu6+6.0trisquel2_i386.deb: './usr/share/doc/gtk2-engines-pixbuf/changelog.Debian' is different from the same file on the system
E: /var/cache/apt/archives/libgail18_2.24.10-0ubuntu6+6.0trisquel2_i386.deb: './usr/share/doc/libgail18/changelog.Debian' is different from the same file on the system
E: /var/cache/apt/archives/libgail-common_2.24.10-0ubuntu6+6.0trisquel2_i386.deb: './usr/share/doc/libgail-common/changelog.Debian' is different from the same file on the system

But I'm sure this was the problem, because the error I was seeing before has disappeared (and now I've got a different error complaining that libGL.so.1 is missing, which is easy enough to fix, but I want to fix these broken packages, first).

dadix
Offline
Joined: 07/01/2013

I have the same error when I try to install ia32-libs:
I tried : apt-get -f install
,but the error is there.

lembas
Offline
Joined: 05/13/2010

Since this bug isn't yet mentioned in this thread

https://trisquel.info/en/issues/8155 - Problems installing 32 bit Trisquelized packages on 64 bit systems