Odd error trying linux 32-bit package in 64-bit?

374 views
Skip to first unread message

David Cortesi

unread,
Oct 9, 2012, 2:54:34 PM10/9/12
to pyins...@googlegroups.com
I create a one-dir package on a 32-bit Linux (Ubuntu 12) using the
development pyinstaller.

The code executes properly in that system.

I go to a 64-bit version of Ubuntu 12 and attempt to execute the
identical package (literally the identical bits, both systems access
it via Dropbox) and it does not run.

Should it? Or must I make separate 32- and 64-bit versions?

If it is supposed to work, here is the very strange error I get,
under gdb so you can see it really comes out of the program.

| $ gdb ppqt
| GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04
| This GDB was configured as "x86_64-linux-gnu".
| Reading symbols from
/home/dcortesi/Dropbox/David/PPQT/ppqt-linux/dist/ppqt/ppqt...done.
| (gdb) run
| Starting program:
/home/dcortesi/Dropbox/David/PPQT/ppqt-linux/dist/ppqt/ppqt
| /bin/bash: /home/dcortesi/Dropbox/David/PPQT/ppqt-linux/dist/ppqt/ppqt:
No such file or directory
| During startup program exited with code 127.
| (gdb) break main
| Breakpoint 1 at 0x804bfb8
| (gdb) run
| Starting program:
/home/dcortesi/Dropbox/David/PPQT/ppqt-linux/dist/ppqt/ppqt
| /bin/bash: /home/dcortesi/Dropbox/David/PPQT/ppqt-linux/dist/ppqt/ppqt:
No such file or directory
| During startup program exited with code 127.

As you see, the program exists (gdb can load it) but before it reaches
"main", the shell says it does not exist. Why is bash running at this
point? Why can't it find the program?

(If you google "bash no such file or directory" you find many people
puzzled by that message in a variety of circumstances. It's a bash thing.)

Thanks for your attention.

Martin Zibricky

unread,
Oct 9, 2012, 3:22:16 PM10/9/12
to pyins...@googlegroups.com
David Cortesi píše v Út 09. 10. 2012 v 11:54 -0700:
>
> I go to a 64-bit version of Ubuntu 12 and attempt to execute the
> identical package (literally the identical bits, both systems access
> it via Dropbox) and it does not run.
>
> Should it? Or must I make separate 32- and 64-bit versions?

Hi David,

it looks like you are missing 32bit compatibility libraries on that
system. Does it work when you do

sudo apt-get install ia32-libs ia32-libs-gtk

?

If it works then probably you do not need 64-bit version.

davecortesi

unread,
Oct 9, 2012, 4:24:38 PM10/9/12
to pyins...@googlegroups.com


On Tuesday, October 9, 2012 12:22:21 PM UTC-7, Martin Z wrote:
David Cortesi píše v Út 09. 10. 2012 v 11:54 -0700:
>
> I go to a 64-bit version of Ubuntu 12 and attempt to execute the
> identical package (literally the identical bits, both systems access
> it via Dropbox) and it does not run.
>
> Should it? Or must I make separate 32- and 64-bit versions?

Hi David,

it looks like you are missing 32bit compatibility libraries on that
system. Does it work when you do

  sudo apt-get install ia32-libs ia32-libs-gtk
Almost! It runs (apparently correctly) but produce many messages "/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: wrong ELF class: ELFCLASS64

I fixed this with sudo app-get install appmenu-gtk:i386

One pesky message remains, 'Unable to load library icui18n "Cannot load library icui18n.so.48 wrong ELF class: ELFCLASS64'

I cannot find what package this would be part of. Any idea?

davecortesi

unread,
Oct 9, 2012, 4:44:24 PM10/9/12
to pyins...@googlegroups.com


One pesky message remains, 'Unable to load library icui18n "Cannot load library icui18n.so.48 wrong ELF class: ELFCLASS64'

I cannot find what package this would be part of. Any idea?

It seems to be part of libicu48, however when I tried apt-get install libicu48:i386, there was a list of 96 packages that would be REMOVED, which I assume means, depend on the 64-bit version of that lib, so I didn't do that. Need to wait for libicu48 to be made "multiarch" apparently.

Martin Zibricky

unread,
Oct 9, 2012, 4:54:47 PM10/9/12
to pyins...@googlegroups.com
davecortesi píše v Út 09. 10. 2012 v 13:44 -0700:
> It seems to be part of libicu48, however when I tried apt-get install
> libicu48:i386, there was a list of 96 packages that would be REMOVED,
> which I assume means, depend on the 64-bit version of that lib, so I
> didn't do that. Need to wait for libicu48 to be made "multiarch"
> apparently.

In that case it could be better create a 64-bit version of your app.

davecortesi

unread,
Oct 9, 2012, 5:05:48 PM10/9/12
to pyins...@googlegroups.com

It appears the problem was solved (libicu48 made multiarch: debian
bug #665416 closed) in April, but this is not available for the current
Ubuntu. So probably after 12.10 "quantal quetzal" a 32bit package
will work provided the ia32-libs are installed.

Thanks for your help.
Reply all
Reply to author
Forward
0 new messages