Hi,

On Wed, 26 Apr 2006 14:09:18 -0400
"Michael [Plouj] Ploujnikov" <[EMAIL PROTECTED]> wrote:

> Here is the strace output: http://plouj.sh.nu/straceiconv

from that output:
---snip
open("/usr/lib32/gconv/UNICODE.so", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \5\0\000"..., 640) = 
640
close(4)                                = 0
open("/usr/lib32/gconv/ISO8859-1.so", O_RDONLY) = 4
read(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\4\0"..., 640) = 640
close(4)                                = 0
---snip

So it opens a file, reads 640 bytes and closes it. Note the "/lib32".
Now this is my output, 32bit platform:

---snip
open("/usr/lib/gconv/ISO8859-1.so", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\240\4\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=9720, ...}) = 0
mmap2(NULL, 12316, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xb7de4000
mmap2(0xb7de6000, 8192, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7de6000
---snip

So after reading the first 512 bytes, it mmap's a code section and a
data section into address space. Dynamic loading, I'd say (without
further debugging). So this seems to fail for you and I think the
"lib32" indicates that the 64bit glibc errorneously tries to load the
wrong modules for iconv.

Maybe you can temporarily move the lib32/gconv dir and soft link the
lib64/gconf in place of it to verify my assumption (it should work
then, but this is obviously not a solution as it will break 32bit
environment). You might want to file a bug into gentoo's bugzilla
(after searching for an existing one, of course).

> By looking at /usr/lib{64,32}/gconv/gconv-modules (wich are identical)
> it looks like there really isn't any conversion specified from
> ISO-8859-1 to any other code.

Strange. Mine has:
---snip
module  ISO-8859-1//            INTERNAL                ISO8859-1       1
---snip

(whatever that means)

-hwh
-- 
gentoo-user@gentoo.org mailing list

Reply via email to