Re: "portable" applications



On Wed, Jun 24, 2009 at 5:41 AM, John Zavgren<john zavgren com> wrote:
Greetings:
I wrote a Glade-3/GTK2/G++ application on a ubuntu machine, and the
application works great. In fact it works so well that my colleagues want to
use it. Ujnfortunately, they are not using ubuntu (and neither was I until I
started developing my GUI. I chose ubuntu because it seemed to support GUI
development.)

I tried running my app on a Red Hat machine and the app failed because of an
unresolved external reference,,, missing shared object file.

No big deal. I attempted to statically link my app with the assistance of
"strace", the doctrinaire approach with embedded systems. That opened
pandoras box! The number of references to shared object files was
astounding.
My intuition tells me that there must be a better way to build an
application that will run on more than one Linux machine.

There is.  Check out http://ldn.linuxfoundation.org/lsb
(Or, as a first approximation, build your app on an old
version of linux, like Ubuntu 6.06.  But lsb is a better way
to go if you can do it.)
You don't need to create lsb packages; just building with
the lsb sdk will make your program more portable.

Is there a simple way to statically link the esoteric aspects of my GUI

In general, static linking doesn't work well these days.  glibc
and several other libraries use dynamic linking at runtime.
- Dan



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]