Trouble with 32 bit Gtk app on 64 bit system - no or misleading error msgs
dmitrij.ledkov at ubuntu.com
Sun Mar 14 23:26:32 GMT 2010
On 14 March 2010 22:40, Thomas Tempelmann <tempelmann at gmail.com> wrote:
> Hi there,
> this is my first post. I've signed up here because I have a particular
> problem I like to discuss with the developers.
> I'm a long-time software developer, although I'm not a big fan of Unix and
> derivates. I am mostly developing for OS X, and used to do for classic Mac
> OS, so I'm more of a autmatic tools user than a user of command line tools.
> Anyway. I've created a 32 bit application that uses Gtk 2, which launches
> fine on the 32 Bit Ubuntu 9.10 default installation.
> But when I launch the same app on the 64 bit Ubuntu version, the following
> things happen:
There is quite a huge difference between Mac-O binaries and linux elf
binaries and how the libraries are linked.
On mac most binaries are compiled to be "fat" meaning that 32 & 64 bit
versions are compiled and merged into final binary. Similar thing is
done with libraries as well. That's why when you compile on mac you
generally can run binary on both 32 & 64 bit macs. That's why there
are apps like trim the fat which can save about ~6-9 GB of space.
On linux we are not doing fat binaries =) You can use pbuilder / qemu
or launchpad PPA to compile two binaries: 32 & 64 bit.
> When launching by double clicking it within the Explorer (sorry, haven't
> figured out the name of the UI desktop app yet), _nothing_ happens. Not even
> a error message popping up. This is, IMO, something that should be fixed,
> i.e. that the user needs to get some kind of response telling him that his
> attempt to launch the app was actually understood.
On Ubuntu default file manager is Nautilus.
I don't think an error is needed. Generally on Ubuntu you launch
.desktop files of applications installed using Software Centre /
Synaptic / apt. All of which are of correct architecture.
> When launching it from the Terminal, the only message I get is "bash:
> ./appname: No such file or directory".
> Now, this is a bad error message as well. The file exists and is executable.
> So, the error message should be something like "required lib .. not found"
> or "this executable has no code for this architecture" or whatever. But not
> a message saying "there is no file".
Dunno did you run this command from the folder the binary is located?
I'll try some 64bit arch binaries in terminal to see if I get that
error message. Cause I thought the error was something else.
> So, is there a chance that this gets fixed/improved without me actually
> having to do that (I won't, I've got other problems, thank you :) ?
> If so, where should I address this issue, or does this post already make it
> into the bug DB even, magically?
No there is no magic which scans mailing lists and files bug in
launchpad =) This type of request might actually be marked invalid.
It is more idea or wish of how to make ubuntu better and is more
suited for Brainstrom. http://brainstorm.ubuntu.com/
> BTW, I'm still stuck solving this problem, i.e. getting the right libs
> installed so that this app eventually launches (no, I can not build a 64 bit
> version of this app, just believe me), and so I installed, as a first step,
> the "ia32-libs". This, in fact, made the misleading error msg in Terminal go
> away, replaced by a similarly useless "segmentation fault" without any
> further info even in which context this happened, and again with no error
> msg when double clicking the app in Explorer. Any suggestions how I could
> get at least some more information so that I can figure out which other 32
> bit libs are missing?
How come you can't build it on AMD64? Sounds like a bug in that
software. And do use ldd as suggested in previous mail to find all of
the missing 32 bit libs needed for your binary.
Is it not free software?
With regards, Dima.
More information about the Ubuntu-devel-discuss