> Now, am I to undestand that, at least in my case, the error message > Gtk-Message: Failed to load module "gail": > /usr/lib/gtk-2.0/modules/libgail.so: wrong ELF class: ELFCLASS64 > was caused by libgail being a 32bit library and not compatible with amd64 > architecture?
amd64 Linux kernels support ia32 processes running in 32bit compatibility mode. From the point-of-view of the 32bit process, it's pretty much the same as running under a 32bit (i386 architecture) kernel. (This is now called legacy mode on). http://en.wikipedia.org/wiki/Long_mode http://developer.amd.com/pages/123200367.aspx So yeah, when the dynamic linker in a 32bit process tries to load a shared library compiled for a different architecture, it returns an error, because it detected that the library is for a different architecture than the process. Just like if the file was a PowerPC or SPARC library. The kernel knows whether to run a process in 32 or 64 bit mode by looking at the same ELF headers that libraries have, and that file(1) will show you. llama$ file /bin/ls /bin/ls: ELF 32-bit LSB executable, Intel 80386, ... tesla$ file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, ... file works on share libs, too, of course. -- ia32 apps look for libs on the wrong place https://bugs.launchpad.net/bugs/190227 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
