Gentoo Archives: gentoo-user

From: "Michael [Plouj] Ploujnikov" <ploujj@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Fwd: FontForge needs conversion from ISO-8859-1 to UCS2 - iconv (glibc-2.3.5-r2) does not support it on amd64
Date: Fri, 28 Apr 2006 22:26:00
Message-Id: 18e575130604281518y604d291ej13cda9a290684b60@mail.gmail.com
In Reply to: Re: [gentoo-user] Fwd: FontForge needs conversion from ISO-8859-1 to UCS2 - iconv (glibc-2.3.5-r2) does not support it on amd64 by "Michael [Plouj] Ploujnikov"
1 Could this be related to the fact that for my normal user I see:
2 $ echo $GCONV_PATH
3 /usr/lib32/gconv
4
5 (root doesn't have that env var set at all)
6
7 On 4/26/06, Michael [Plouj] Ploujnikov <ploujj@×××××.com> wrote:
8 > After doing:
9 > # mv lib32{,-bak}
10 > # ln -s lib64 lib32
11 >
12 > I saw the following results:
13 >
14 > $ iconv --from-code ISO-8859-1 --to-code UCS2 </dev/null
15 > $ iconv --from-code ISO-8859-1 --to-code UCS-2 </dev/null
16 > $ iconv --from-code ISO-8859-1 --to-code UCS-2-INTERNAL </dev/null
17 > iconv: conversion to `UCS-2-INTERNAL' is not supported
18 > $ iconv --from-code ISO-8859-1 --to-code "ISO-10646/UCS2" </dev/null
19 > $ iconv --from-code ISO-8859-1 --to-code "UNICODE" </dev/null
20 >
21 > Assuming that no output means the conversions suceed shows that it
22 > does have something to do with iconv originally loading a wrong
23 > module. So it seems that your hypothesis is right. I thought of this
24 > before, when I was looking at the gconv/ contents but I didn't
25 > actually try it because the gconv-modules file syntax confused me. I
26 > thought iconv was not finding an appropriate module for conversion in
27 > this file.
28 >
29 > Also, FF ran fine (configured with iconv) once I forced the 64bit
30 > directory to be used
31 >
32 > On 4/26/06, Hans-Werner Hilse <hilse@×××.de> wrote:
33 > > from that output:
34 > > ---snip
35 > > open("/usr/lib32/gconv/UNICODE.so", O_RDONLY) = 4
36 > > 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
37 > > close(4) = 0
38 > > open("/usr/lib32/gconv/ISO8859-1.so", O_RDONLY) = 4
39 > > 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
40 > > close(4) = 0
41 > > ---snip
42 > >
43 > > So it opens a file, reads 640 bytes and closes it. Note the "/lib32".
44 > > Now this is my output, 32bit platform:
45 > >
46 > > ---snip
47 > > open("/usr/lib/gconv/ISO8859-1.so", O_RDONLY) = 3
48 > > 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
49 > > fstat64(3, {st_mode=S_IFREG|0755, st_size=9720, ...}) = 0
50 > > mmap2(NULL, 12316, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7de4000
51 > > mmap2(0xb7de6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7de6000
52 > > ---snip
53 > >
54 > > So after reading the first 512 bytes, it mmap's a code section and a
55 > > data section into address space. Dynamic loading, I'd say (without
56 > > further debugging). So this seems to fail for you and I think the
57 > > "lib32" indicates that the 64bit glibc errorneously tries to load the
58 > > wrong modules for iconv.
59 > >
60 > > Maybe you can temporarily move the lib32/gconv dir and soft link the
61 > > lib64/gconf in place of it to verify my assumption (it should work
62 > > then, but this is obviously not a solution as it will break 32bit
63 > > environment). You might want to file a bug into gentoo's bugzilla
64 > > (after searching for an existing one, of course).
65 > >
66 > > > By looking at /usr/lib{64,32}/gconv/gconv-modules (wich are identical)
67 > > > it looks like there really isn't any conversion specified from
68 > > > ISO-8859-1 to any other code.
69 > >
70 > > Strange. Mine has:
71 > > ---snip
72 > > module ISO-8859-1// INTERNAL ISO8859-1 1
73 > > ---snip
74 > >
75 > > (whatever that means)
76 > >
77 > > -hwh
78 > > --
79 > > gentoo-user@g.o mailing list
80 > >
81 > >
82 >
83
84 --
85 gentoo-user@g.o mailing list

Replies