Re: How to create a self contained GTK+ Application for Linux



On Tue, 2007-05-22 at 20:29 +0000, Jeremy Roberson wrote:
The majority of our clients are using custom Linux Distributions and they are
using older versions of GTK+.  Our application depends on features available in
GTK+ >= 2.10 so, I need to figure out how to distribute the application with all
of its dependencies.  

So, I used ldd to determine all of the dependencies.  The output is listed below.

->ldd interwrite-learning-systray
...
So, I copied all of the shared libraries into a sub directory of the application
directory called "lib/" for testing.  I then used the following commands.

->export LD_LIBRARY_PATH=../lib
->./interwrite-learning-systray
...
Everything runs okay on my system with GTK+ 2.10
I then ran ldd again to see if my application was linked against the libraries
that I'm providing in the application directory and sure enough, it is.  The
output is below.

...
So, according the ldd output above, it should work. So, I copied the application
over to a test system using an older version of GTK+ and executed the following
commands.

->export LD_LIBRARY_PATH=../lib
->./interwrite-learning-systray

And I get a segmentation fault.  I then tried ldd and gdb and I get an instant
segmentation fault.  If I unset the LD_LIBRARY_PATH variable and then try ldd
and gdb, they work but the application fails because it's linking against older
libraries.  

Be aware that gcc-3.4.x and gcc-4.x.x are not ABI compatible.  If 
your old system was built with 3.4.x then stuff compiled on the new 
one won't work.

Perhaps you can install gcc-3.4.x on your new system, compile the
libraries with that, and then ship them across?





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