|
Post by bevito on May 9, 2008 20:09:22 GMT -5
Hi everybody,
I have just installed Debian lenny (testing) amd64 arch, on a Dell inspiron 1525. Everything seems to work, (I have read some threads about running pSX on a 64 linux) I mean, pSX run (I can load and play games). But when i go to options (configuration) pSX segfault. (Too bad, i can't configure the keyboard or the gamepad)
Here is the message i've got from a terminal : (I just launched pSX, and go to File > Configuration)
WARNING: could not get hardware key code for 0000ffe4
(pSX:7725): Gtk-WARNING **: /usr/lib/gtk-2.0/2.10.0/engines/libglide.so: wrong ELF class: ELFCLASS64
(pSX:7725): Gtk-CRITICAL **: gtk_image_set_from_pixbuf: assertion `pixbuf == NULL || GDK_IS_PIXBUF (pixbuf)' failed
(pSX:7725): Gtk-CRITICAL **: gtk_image_set_from_pixbuf: assertion `pixbuf == NULL || GDK_IS_PIXBUF (pixbuf)' failed
(pSX:7725): Gtk-CRITICAL **: gtk_image_set_from_pixbuf: assertion `pixbuf == NULL || GDK_IS_PIXBUF (pixbuf)' failed Erreur de segmentation
Here is a gdb trace :
(gdb) bt #0 0xf7a48f45 in gtk_image_set_from_pixbuf () from /usr/lib32/libgtk-x11-2.0.so.0 #1 0x08118cf6 in controllers_page::update_icons () #2 0xf75d3f26 in ?? () from /usr/lib32/libglib-2.0.so.0 #3 0x0893b820 in ?? () #4 0x08963da0 in ?? () #5 0xffb5f798 in ?? () #6 0xf75d3128 in ?? () from /usr/lib32/libglib-2.0.so.0 #7 0x00000001 in ?? () #8 0xffb5f79c in ?? () #9 0xffb5f7a8 in ?? () #10 0xf7649248 in ?? () from /usr/lib32/libglib-2.0.so.0 #11 0xf7649248 in ?? () from /usr/lib32/libglib-2.0.so.0 #12 0xffb5f7dc in ?? () #13 0xffb5f7f8 in ?? () #14 0xf75d37e8 in g_main_context_dispatch () from /usr/lib32/libglib-2.0.so.0 Backtrace stopped: frame did not save the PC
Any help will be great.
Thanks a lot.
|
|
|
Post by patrickp on May 10, 2008 16:10:21 GMT -5
I presume you installed 32bit GTKGLext, bevito, or pSX wouldn't run at all. It might be worth installing the -dev package as well; I've found before that, while it doesn't seem to have any effect on the way pSX runs, it does seem to get rid of the GTK error messages - it might just fix something for you.
|
|
|
Post by bevito on May 10, 2008 16:39:38 GMT -5
Thanks patrickp, I had tested with libgtkglext1-dev, but it seems that pSX still segfault when i go to options. I hope this is not a bug in ia32-libs-gtk ... But with my luck ... We'll see, maybe PSX Author will understand the gdb trace. EDIT : I have just tested under a fresh install on vmware (Debian Lenny 64 bit) and i've got the same segfault error, so i guess it can be a problem in GTKGLext. Seems strange, because under a Debian Lenny 32 bit, no problems at all. Maybe the 64 bit version doesn't handle quite well libgtkglext EDIT2 : With Ubuntu 8.04 64 bit version, pSX works, no problems at all, no segfault. So i guess there is a problem in debian libgtkglext version. Maybe i can try to install this one from ubuntu to my debian ... that's sounding a bit dirty.
|
|
dfreer
Junior Member
Posts: 75
|
Post by dfreer on May 30, 2008 12:08:46 GMT -5
Ok, let's figure this out: Firstly, whenever running a 32-bit binary in 64-bit Debian/Ubuntu, try running ldd on it first to make sure you have all of the 32-bit libraries you will need: ldd ./pSX Second, installing libgtkglext1-dev like patrickp might help get rid of those annoying error messages, but like he said the main thing here is to install the 32-bit libraries from libgtkglext1 (ldd should tell you whether these are already installed or not, but installing ia32-libs-gtk does NOT install them). Easiest way I find to install it is to download the .deb file from packages.debian.org, decompress it, grab the libraries and put them in /usr/lib32/ Finally, the very first error message you got complained about the library it tried to load was a 64-bit library, and not a 32-bit like pSX needs: A quick look at packages.debian.org shows that libglide.so belongs to the package gtk2-engines. This 32-bit library has also been repackaged in ia32-libs-gtk, so if you have already installed ia32-libs-gtk it should be found at: /emul/ia32-linux/usr/lib/gtk-2.0/2.10.0/engines/libglide.so The next question would be, why didn't the 32-bit library get used? It may be that lddconfig didn't correctly add the library to it's list. Try following this page and see if you can get ldconfig to find your 32-bit libglide.so: www.netadmintools.com/art410.htmlIt may also be that the program itself is only looking at this folder for your library: /usr/lib/gtk-2.0/2.10.0/engines/ So you could also try symbolically linking the libglide.so file from it's current folder to the one mentioned above. You will most likely want to rename the link as lib32glide.so. Hopefully this helps you out and you get it running! EDIT: Ubuntu does things slightly differently than debian, among others it places that 32-bit library at: /usr/lib32/gtk-2.0/2.10.0/engines/libglide.so
|
|
|
Post by bevito on Jun 1, 2008 17:15:22 GMT -5
Hi, Thanks for your answer First, pSX run on my machine. I just can't access the configuration Options.
Here is the ldd output :
~/data/games/psx$ ldd pSX linux-gate.so.1 => (0xffffe000) libGL.so.1 => /usr/lib32/libGL.so.1 (0xf7e9f000) libz.so.1 => /usr/lib32/libz.so.1 (0xf7e8a000) libasound.so.2 => /usr/lib32/libasound.so.2 (0xf7dc7000) libgtkglext-x11-1.0.so.0 => /usr/lib32/libgtkglext-x11-1.0.so.0 (0xf7dc4000) libgdkglext-x11-1.0.so.0 => /usr/lib32/libgdkglext-x11-1.0.so.0 (0xf7d71000) libGLU.so.1 => /usr/lib32/libGLU.so.1 (0xf7cf1000) libXmu.so.6 => /usr/lib32/libXmu.so.6 (0xf7cdc000) libXt.so.6 => /usr/lib32/libXt.so.6 (0xf7c8c000) libSM.so.6 => /usr/lib32/libSM.so.6 (0xf7c84000) libICE.so.6 => /usr/lib32/libICE.so.6 (0xf7c6d000) libpangox-1.0.so.0 => /usr/lib32/libpangox-1.0.so.0 (0xf7c61000) libgthread-2.0.so.0 => /usr/lib32/libgthread-2.0.so.0 (0xf7c5d000) librt.so.1 => /lib32/librt.so.1 (0xf7c55000) libglade-2.0.so.0 => /usr/lib32/libglade-2.0.so.0 (0xf7c3d000) libgtk-x11-2.0.so.0 => /usr/lib32/libgtk-x11-2.0.so.0 (0xf78c7000) libxml2.so.2 => /usr/lib32/libxml2.so.2 (0xf77a8000) libgdk-x11-2.0.so.0 => /usr/lib32/libgdk-x11-2.0.so.0 (0xf7723000) libatk-1.0.so.0 => /usr/lib32/libatk-1.0.so.0 (0xf7708000) libgdk_pixbuf-2.0.so.0 => /usr/lib32/libgdk_pixbuf-2.0.so.0 (0xf76f0000) libpangocairo-1.0.so.0 => /usr/lib32/libpangocairo-1.0.so.0 (0xf76e6000) libpango-1.0.so.0 => /usr/lib32/libpango-1.0.so.0 (0xf76a8000) libcairo.so.2 => /usr/lib32/libcairo.so.2 (0xf7646000) libgobject-2.0.so.0 => /usr/lib32/libgobject-2.0.so.0 (0xf760a000) libgmodule-2.0.so.0 => /usr/lib32/libgmodule-2.0.so.0 (0xf7606000) libdl.so.2 => /lib32/libdl.so.2 (0xf7602000) libglib-2.0.so.0 => /usr/lib32/libglib-2.0.so.0 (0xf7552000) libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7465000) libm.so.6 => /lib32/libm.so.6 (0xf743f000) libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7432000) libpthread.so.0 => /lib32/libpthread.so.0 (0xf741b000) libc.so.6 => /lib32/libc.so.6 (0xf72d4000) libX11.so.6 => /usr/lib32/libX11.so.6 (0xf71e8000) libXext.so.6 => /usr/lib32/libXext.so.6 (0xf71da000) libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf71d4000) libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf71d1000) libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf71cc000) libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf71c3000) libselinux.so.1 => /lib32/libselinux.so.1 (0xf71a9000) /lib/ld-linux.so.2 (0xf7f18000) libfontconfig.so.1 => /usr/lib32/libfontconfig.so.1 (0xf7180000) libXrender.so.1 => /usr/lib32/libXrender.so.1 (0xf7178000) libXinerama.so.1 => /usr/lib32/libXinerama.so.1 (0xf7175000) libXi.so.6 => /usr/lib32/libXi.so.6 (0xf716d000) libXrandr.so.2 => /usr/lib32/libXrandr.so.2 (0xf7166000) libXcursor.so.1 => /usr/lib32/libXcursor.so.1 (0xf715d000) libXcomposite.so.1 => /usr/lib32/libXcomposite.so.1 (0xf715a000) libpangoft2-1.0.so.0 => /usr/lib32/libpangoft2-1.0.so.0 (0xf7132000) libfreetype.so.6 => /usr/lib32/libfreetype.so.6 (0xf70c2000) libpng12.so.0 => /usr/lib32/libpng12.so.0 (0xf709f000) libpixman-1.so.0 => /usr/lib32/libpixman-1.so.0 (0xf7076000) libpcre.so.3 => /usr/lib32/libpcre.so.3 (0xf704f000) libXau.so.6 => /usr/lib32/libXau.so.6 (0xf704c000) libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7047000) libexpat.so.1 => /usr/lib32/libexpat.so.1 (0xf7026000)
I had try your trick for ldconfig, and for me it's the same, i.e. segfault when i go to configuration options. I guess this is a debian bug package for libgtkglext.
I guess the problem is here :
Like you said, pSX try to load a 64 bit version of libglide.so ... I'll try something, but i'm afraid this can be a bit dirty. If others programs, after this modification try to load the 32 bit libglide.so it can be a problem.
Thanks dfreer
EDIT : I've try to move the 32 bit version of libglide.so to /usr/lib32/gtk-2.0/2.10.0/engines/libglide.so With this, i get ride of
But, pSX still segfault when i go to Options > Configuration. Strange thing, i can load and play games without a problem.
|
|