32-bit apps on 64-bit Fedora 28

For the life of me I cannot get 32-bit apps (compiled with Xojo 2017r1.1) to run on Fedora 28 64-bit. I tried the suggested installation on to no avail, i.e.

sudo yum install glib2.i686 libgcc.i686 libstdc++.i686 gtk3.i686 webkitgtk3.i686

(it couldn’t find webkitgtk3.i686).

Can someone give me the definitive answer (and procedure) to get this going? Alas, I have no first-born to give away, but you’ll have the thanks of several frustrated users and an ignorant developer.

Hi Paul,

If you start your app from a Terminal, what errors are displayed?

I cd to the directory containing the app binary, and type in the binary file’s name. I get

bash: xxxxx: command not found...

where xxxxx is the filename.

The permissions are 777 (i.e. executable).

I’m a total Linux ignoramus, so go gently…

You have to precede the binary with either the full path, or in this case “./”, so try:

./xxxxx

bash: ./xxxxx: No such file or directory

The file is there, trust me ;^)

64-bit apps work fine. The logs don’t throw any light either.

I haven’t used Linux, but I have read several posts about ldd your-app, maybe you can execute that to see if anything is missing?

ldd xxxxx

returns

‘not a dynamic executable’

We’ve made some assumptions here - is your Web app a standalone app or a CGI app?

Can you please post the results of this:

cd [full path to where your application is]
ls -al

It’s a desktop app, not a web app.

Here’s the ls -al result:

total 14376 drwxr-xr-x. 4 parallels parallels 4096 Aug 30 10:38 . drwxrwxr-x. 3 parallels parallels 4096 Aug 3 11:51 .. -rw-r--r--. 1 parallels parallels 4112 Sep 19 2017 appicon_128.png -rw-r--r--. 1 parallels parallels 1437 Sep 19 2017 appicon_32.png -rw-r--r--. 1 parallels parallels 1595 Sep 19 2017 appicon_48.png -rwxr-xr-x. 1 parallels parallels 70 Sep 19 2017 '._EKM Dash' -rwxrwxrwx. 1 parallels parallels 14682267 Sep 19 2017 'EKM Dash' drwxr-xr-x. 3 parallels parallels 4096 Sep 19 2017 'EKM Dash Libs' drwxr-xr-x. 8 parallels parallels 4096 Sep 19 2017 'EKM Dash Resources'

EKM Dash is the executable. (yes, I used both ‘EKM Dash’ and EKM\ Dash in my above travails to get past the embedded space).

You can download the linux version of the app I’m trying to get going here

When you launch an app with spaces, you must either escape the space or place the command into quotes, so:

./EKM\ Dash
or
“./EKM Dash”
Sorry - I missed that last line.

Do this:

file ./EKM\ Dash

file ./EKM\ Dash

./EKM Dash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=2547358de8b0cf1a01ab0c200f1e8ce26a853e7c, not stripped

Does removing the single quotes from the actual file name make any difference?

So “ldd” reports not a dynamic executable, but “file” clearly reports “dynamically linked” - try ldd again with proper quoting.

Can you rebuild it again and make the app name EKM-Dash instead of using a space?

@Tim Jones

[parallels@localhost EKM Dash]$ ldd ./EKM\\ Dash not a dynamic executable [parallels@localhost EKM Dash]$ ldd EKM\\ Dash not a dynamic executable [parallels@localhost EKM Dash]$ ldd 'EKM Dash' not a dynamic executable

I can rebuild it. Stay tuned.

@Jason Parsley
No, quotes don’t help.

OK, rebuilt with the name EKM-Dash. No change:

[parallels@localhost EKM-Dash]$ ls -al total 17736 drwxr-xr-x. 4 parallels parallels 4096 Aug 30 13:20 . drwxr-xr-x. 6 parallels parallels 4096 Aug 30 13:20 .. -rw-r--r--. 1 parallels parallels 4124 Aug 30 13:19 appicon_128.png -rw-r--r--. 1 parallels parallels 1449 Aug 30 13:19 appicon_32.png -rw-r--r--. 1 parallels parallels 1607 Aug 30 13:19 appicon_48.png -rwxr-xr-x. 1 parallels parallels 18125104 Aug 30 13:19 EKM-Dash drwxr-xr-x. 3 parallels parallels 4096 Aug 30 13:20 'EKM-Dash Libs' drwxr-xr-x. 8 parallels parallels 4096 Aug 30 13:20 'EKM-Dash Resources' [parallels@localhost EKM-Dash]$ ./EKM-Dash bash: ./EKM-Dash: No such file or directory [parallels@localhost EKM-Dash]$ file ./EKM-Dash ./EKM-Dash: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.15, BuildID[sha1]=2547358de8b0cf1a01ab0c200f1e8ce26a853e7c, not stripped [parallels@localhost EKM-Dash]$ ldd EKM-Dash not a dynamic executable [parallels@localhost EKM-Dash]$ ldd ./EKM-Dash not a dynamic executable

This seems to be a key line:

bash: ./EKM-Dash: No such file or directory

Are you compiling this on macOS? On Linux? If on macOS, how are you getting it on the Linux VM?