32bit GTK2 application


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users 32bit GTK2 application
# 8  
Old 03-05-2015
Thanks for the help guys.

I have tried cross-compiling but have also compiled on the 64bit machine. The problem seems to be coming from the ldd command.

It says I am linking against different .so files at runtime on the 64 bit machine than the 32 bit machine. Would installing the correct 32 bit gtk binaries solve this issue?

Is that possible on a 64 bit machine?

Thanks
# 9  
Old 03-05-2015
What does ldd show on the 32-bit machine, and what does ldd show on the 64-bit machine?

Like I said, it may be possible to make it depend on a specific version of GTK. This would at least cause it to fail to load instead of crashing when a compatible version isn't available.

Like I also said, it's even possible that the 32-bit emulation library has several versions of GTK, and linking a less generic name will cause it to load the correct one.

And also like I said, we haven't even ruled out there being a bug in your program yet. We're only assuming linking is the problem.
This User Gave Thanks to Corona688 For This Post:
# 10  
Old 03-05-2015
There is no bug in the program.
It is a widely distributed application that runs without problems. Tried and Tested.

Using your ldd command brought up some interesting things:

All of the dependencies displayed by ldd had Symlinks to newer GTK modules on the 64bit machine than the 32bit machine. This makes sense because I have not been able to install GTK2.22 on the 64bit machine. The oldest I could find was GTK2.24. I am thinking that if there was a way to somehow install these 32bit GTK2.22 this may solve my problem.

I just dont know how to install it, let along link to it.....
# 11  
Old 03-05-2015
Could you post the actual output I asked for please?

It would help me give actual suggestions instead of vague guesses.
# 12  
Old 03-05-2015
Oh sorry. No problem.

64 bit machine:

Code:
    linux-gate.so.1 =>  (0xf771e000)
    libgtk-x11-2.0.so.0 => /lib/libgtk-x11-2.0.so.0 (0xf7243000)
    libgdk-x11-2.0.so.0 => /lib/libgdk-x11-2.0.so.0 (0xf7185000)
    libatk-1.0.so.0 => /lib/libatk-1.0.so.0 (0xf7163000)
    libgio-2.0.so.0 => /lib/libgio-2.0.so.0 (0xf6fef000)
    libpangoft2-1.0.so.0 => /lib/libpangoft2-1.0.so.0 (0xf6fd8000)
    libpangocairo-1.0.so.0 => /lib/libpangocairo-1.0.so.0 (0xf6fcb000)
    libgdk_pixbuf-2.0.so.0 => /lib/libgdk_pixbuf-2.0.so.0 (0xf6fa4000)
    libm.so.6 => /lib/libm.so.6 (0xf6f5d000)
    libcairo.so.2 => /lib/libcairo.so.2 (0xf6e1c000)
    libpng12.so.0 => /lib/libpng12.so.0 (0xf6df2000)
    libpango-1.0.so.0 => /lib/libpango-1.0.so.0 (0xf6da7000)
    libfreetype.so.6 => /lib/libfreetype.so.6 (0xf6d05000)
    libfontconfig.so.1 => /lib/libfontconfig.so.1 (0xf6cc9000)
    libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0xf6c77000)
    libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0xf6c71000)
    libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0xf6c6e000)
    librt.so.1 => /lib/librt.so.1 (0xf6c65000)
    libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xf6b34000)
    libproj.so.0 => /lib/libproj.so.0 (0xf6ae9000)
    libpthread.so.0 => /lib/libpthread.so.0 (0xf6acd000)
    libc.so.6 => /lib/libc.so.6 (0xf690e000)
    libX11.so.6 => /lib/libX11.so.6 (0xf67d2000)
    libXfixes.so.3 => /lib/libXfixes.so.3 (0xf67cc000)
    libXrender.so.1 => /lib/libXrender.so.1 (0xf67c1000)
    libXinerama.so.1 => /lib/libXinerama.so.1 (0xf67bd000)
    libXi.so.6 => /lib/libXi.so.6 (0xf67ab000)
    libXrandr.so.2 => /lib/libXrandr.so.2 (0xf67a0000)
    libXcursor.so.1 => /lib/libXcursor.so.1 (0xf6794000)
    libXcomposite.so.1 => /lib/libXcomposite.so.1 (0xf6790000)
    libXdamage.so.1 => /lib/libXdamage.so.1 (0xf678c000)
    libXext.so.6 => /lib/libXext.so.6 (0xf6779000)
    libffi.so.6 => /lib/libffi.so.6 (0xf6771000)
    libdl.so.2 => /lib/libdl.so.2 (0xf676c000)
    libz.so.1 => /lib/libz.so.1 (0xf6755000)
    libselinux.so.1 => /lib/libselinux.so.1 (0xf6731000)
    libresolv.so.2 => /lib/libresolv.so.2 (0xf6717000)
    libharfbuzz.so.0 => /lib/libharfbuzz.so.0 (0xf66be000)
    libpng16.so.16 => /lib/libpng16.so.16 (0xf6687000)
    /lib/ld-linux.so.2 (0xf771f000)
    libpixman-1.so.0 => /lib/libpixman-1.so.0 (0xf65da000)
    libEGL.so.1 => /lib/libEGL.so.1 (0xf65b0000)
    libxcb-shm.so.0 => /lib/libxcb-shm.so.0 (0xf65ac000)
    libxcb-render.so.0 => /lib/libxcb-render.so.0 (0xf65a0000)
    libxcb.so.1 => /lib/libxcb.so.1 (0xf657c000)
    libGL.so.1 => /lib/libGL.so.1 (0xf64ca000)
    libexpat.so.1 => /lib/libexpat.so.1 (0xf64a1000)
    libpcre.so.1 => /lib/libpcre.so.1 (0xf6436000)
    liblzma.so.5 => /lib/liblzma.so.5 (0xf640d000)
    libgraphite2.so.3 => /lib/libgraphite2.so.3 (0xf63f0000)
    libX11-xcb.so.1 => /lib/libX11-xcb.so.1 (0xf63ed000)
    libxcb-dri2.so.0 => /lib/libxcb-dri2.so.0 (0xf63e7000)
    libxcb-xfixes.so.0 => /lib/libxcb-xfixes.so.0 (0xf63de000)
    libxcb-shape.so.0 => /lib/libxcb-shape.so.0 (0xf63d9000)
    libgbm.so.1 => /lib/libgbm.so.1 (0xf63cb000)
    libwayland-client.so.0 => /lib/libwayland-client.so.0 (0xf63bf000)
    libwayland-server.so.0 => /lib/libwayland-server.so.0 (0xf63b1000)
    libglapi.so.0 => /lib/libglapi.so.0 (0xf636b000)
    libdrm.so.2 => /lib/libdrm.so.2 (0xf635d000)
    libXau.so.6 => /lib/libXau.so.6 (0xf6359000)
    libxcb-glx.so.0 => /lib/libxcb-glx.so.0 (0xf633e000)
    libXxf86vm.so.1 => /lib/libXxf86vm.so.1 (0xf6338000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xf631a000)

32 bit machine:


Code:
    linux-gate.so.1 =>  (0x0056e000)
    libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x05acd000)
    libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x0024a000)
    libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00487000)
    libgio-2.0.so.0 => /lib/libgio-2.0.so.0 (0x00adf000)
    libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00458000)
    libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x0023c000)
    libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00219000)
    libm.so.6 => /lib/libm.so.6 (0x008d1000)
    libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00371000)
    libpng12.so.0 => /usr/lib/libpng12.so.0 (0x00195000)
    libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x004a8000)
    libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x00101000)
    libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x001e2000)
    libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0x00a87000)
    libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0x00ad9000)
    libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x00a80000)
    librt.so.1 => /lib/librt.so.1 (0x008c6000)
    libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x0091c000)
    libproj.so.0 => /usr/lib/libproj.so.0 (0x00304000)
    libpthread.so.0 => /lib/libpthread.so.0 (0x008a2000)
    libc.so.6 => /lib/libc.so.6 (0x00716000)
    libX11.so.6 => /usr/lib/libX11.so.6 (0x00c6d000)
    libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x0043a000)
    libXext.so.6 => /usr/lib/libXext.so.6 (0x00dd0000)
    libXrender.so.1 => /usr/lib/libXrender.so.1 (0x0044d000)
    libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00df4000)
    libXi.so.6 => /usr/lib/libXi.so.6 (0x00de3000)
    libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x0042b000)
    libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x00441000)
    libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x00df9000)
    libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x00435000)
    libdl.so.2 => /lib/libdl.so.2 (0x008bf000)
    libresolv.so.2 => /lib/libresolv.so.2 (0x00a64000)
    libz.so.1 => /lib/libz.so.1 (0x00a4d000)
    libselinux.so.1 => /lib/libselinux.so.1 (0x00a2c000)
    /lib/ld-linux.so.2 (0x006f5000)
    libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x004f1000)
    libexpat.so.1 => /lib/libexpat.so.1 (0x00da6000)
    libxcb.so.1 => /usr/lib/libxcb.so.1 (0x00c4d000)
    libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x008fd000)
    libXau.so.6 => /usr/lib/libXau.so.6 (0x00c48000)


Last edited by Corona688; 03-05-2015 at 03:43 PM..
# 13  
Old 03-05-2015
How did you decide that 64-bit had links to "newer GTK modules"? They both link to the generic 2.0 module. It seems to link to the 64-bit version, even, causing me to suspect you ran ldd on the version compiled for 64-bit, not the version you want to install libraries for.
# 14  
Old 03-05-2015
Nope. I ran ldd on the version compiled on the 32bit machine.
The problem lies into the symbolic links which aren't evident in that output. Those files link to different actual .so files.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Support for Unicode in GTK2 and GTK3 file selection box?

I'm on Tiny Core Linux Pure64 10.1. My locale is en_US.UTF-8 and I generally have no trouble with Unicode characters with one exception: When I try to use Unicode characters in GTK applications' file selection box, I get "Invalid file name": http://files.dantas.airpost.net/public/save_file.jpg ... (11 Replies)
Discussion started by: DevuanFan
11 Replies

2. Fedora

GTK2.22 for Fedora 20

Hi again, I maybe should have posted this question in this forum. I am looking for an RPM for gtk2.22 development for a machine running Fedora 20. I only have the gtk2.22 development binaries for Fedora 14. Anyone know where I could find them? Thanks! (8 Replies)
Discussion started by: fedora18
8 Replies

3. Shell Programming and Scripting

Gtk2-Perl

Hai how to activate (script2)page of a note book in Gtk2-Perl when one script1 is run successfully... Thanks kiran (1 Reply)
Discussion started by: kiran425
1 Replies

4. Shell Programming and Scripting

Gtk2-Perl

Hai how to activate (script2)page of a note book in Gtk2-Perl when one script1 is run successfully... Thanks kiran (0 Replies)
Discussion started by: kiran425
0 Replies

5. Shell Programming and Scripting

Perl::Gtk2 on Linux --- How to Find the Default Font Being Used?

Hello All, Wasn't sure if this was the correct thread to post this under but figured it has to do with Perl and Gtk2 so why not... Anyway.. How can I find out what the Default font being used is inside a Gtk2::Widget. In this case I'm trying to figure out the font being used inside a... (1 Reply)
Discussion started by: mrm5102
1 Replies

6. Shell Programming and Scripting

[Perl + Gtk2] Image disappears after scrolling / minimizing window

Hello everyone I don't know if it's the right place to ask, but I will try. I want to use Gtk2 in my Perl chart-drawing script, I found a sample code that could be very useful for me somewhere, but I noticed there is one problem with that - when I draw something, and then scroll the window or... (0 Replies)
Discussion started by: xqwzts
0 Replies

7. Programming

perl/Gtk2: issue with initializing Gtk2

hi everybody, currently i'm playing with perl and Gtk2. i've found a fairly old but nice looking example of a client/server application which is written in perl and Gtk2. the server part works perfect but i can't start the client part and keep getting following error message: $ ./client-gui.pl... (1 Reply)
Discussion started by: pseudocoder
1 Replies

8. UNIX Desktop Questions & Answers

gtk2-perl load error help

I write this code. It show the first dialog correctly. but, no matter i modify the code(load module by use or require, or something i think maybe error) it can't pop-up anymore. and show this warning. Thanks. (I'm sorry for my English.) Tue Mar 16 17:24:36 2010 ... (0 Replies)
Discussion started by: snyh
0 Replies

9. Linux

Need gtk2 for linux es3

I need to have the ability to read acrobat files on my Red hat linux boxes (enterprise level 3) . however acroread will not install saying i do not have gtk2 (gimp toolkit). Does anyone know where i can either get gtk2 for this linux or where i can get an acrobat reader for this flavour of linux. (1 Reply)
Discussion started by: frankkahle
1 Replies
Login or Register to Ask a Question