Could this be related to the fact that for my normal user I see:
$ echo $GCONV_PATH
/usr/lib32/gconv

(root doesn't have that env var set at all)

On 4/26/06, Michael [Plouj] Ploujnikov <[EMAIL PROTECTED]> wrote:
After doing:
# mv lib32{,-bak}
# ln -s lib64 lib32

I saw the following results:

$ iconv --from-code ISO-8859-1 --to-code UCS2 </dev/null
$ iconv --from-code ISO-8859-1 --to-code UCS-2 </dev/null
$ iconv --from-code ISO-8859-1 --to-code UCS-2-INTERNAL </dev/null
iconv: conversion to `UCS-2-INTERNAL' is not supported
$ iconv --from-code ISO-8859-1 --to-code "ISO-10646/UCS2" </dev/null
$ iconv --from-code ISO-8859-1 --to-code "UNICODE" </dev/null

Assuming that no output means the conversions suceed shows that it
does have something to do with iconv originally loading a wrong
module. So it seems that your hypothesis is right. I thought of this
before, when I was looking at the gconv/ contents but I didn't
actually try it because the gconv-modules file syntax confused me. I
thought iconv was not finding an appropriate module for conversion in
this file.

Also, FF ran fine (configured with iconv) once I forced the 64bit
directory to be used

On 4/26/06, Hans-Werner Hilse <[EMAIL PROTECTED]> wrote:
> 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
>
>


--
gentoo-user@gentoo.org mailing list

Reply via email to