1 |
2011/10/14 Mike Frysinger <vapier@g.o>: |
2 |
> On Thursday 13 October 2011 19:30:14 Sergey Mironov wrote: |
3 |
>> 2011/10/14 Mike Frysinger: |
4 |
>> > On Thursday 13 October 2011 15:15:40 Sergey Mironov wrote: |
5 |
>> >> Hello. I have my arm-unknown-linux-gnueabi system which uses glibc and |
6 |
>> >> busybox. Recently I realised that iconv program doesn't exist in the |
7 |
>> >> tree. I've compared host's and target's glibc file lists and found |
8 |
>> >> that arm's version doesn't install anything to |
9 |
>> >> /usr/arm-unknown-linux-gnueabi/usr/bin. What can be the cause of this? |
10 |
>> >> Small C program shows that iconv_open function returns error code just |
11 |
>> >> like if there is no iconv at all. How shoud I make arm's iconv work? |
12 |
>> > |
13 |
>> > see glibc's files/eblits/src_compile.eblit: |
14 |
>> > is_crosscompile && sed -i '1ibuild-programs = no' config.make |
15 |
>> > |
16 |
>> > i imagine disabling that line will get you `iconv` |
17 |
>> |
18 |
>> Thanks, I will try it! Am I understand correctly that iconv itself |
19 |
>> (library, not program) is a part of glibc and it is not possible to |
20 |
>> exclude it during the build? So despite the lack of program I should |
21 |
>> still have fully functional library. |
22 |
> |
23 |
> your understanding is correct, however ........ |
24 |
> |
25 |
> iconv() is part of glibc but it relies on all of the gconv shared libs found |
26 |
> in /usr/$CTARGET/usr/lib/gconv/ to do its actually work. which we also |
27 |
> incidentally delete when building the cross-compiler glibc (see |
28 |
> src_install.eblit and look for "gconv"). |
29 |
> |
30 |
> you aren't the first person to find this behavior undesirable, and when i |
31 |
> implemented it, it was more of "let's save space on things i don't think |
32 |
> anyone will use". but if people are using it, then installing these things |
33 |
> probably makes sense. |
34 |
> -mike |
35 |
> |
36 |
|
37 |
Well, maybe I really want something strange. I guess, people often |
38 |
install another, non-cross-compiled version of glibc on top of initial |
39 |
one. I've tried to do so, but found that cross-emerge complains about |
40 |
conflicts - it simply doesn't treat initial glibc as a package |
41 |
installed on target. I saw 2 ways - either edit package.provided and |
42 |
don't install new glibc or disable conflicts detection and overwrite |
43 |
some target's /lib* and /usr/lib/* files. I've chosen first way since |
44 |
I am afraid of getting a mess of two glibc's compiled with different |
45 |
tools. But how do you (or other people) act in this situation? |
46 |
|
47 |
By the way, I also had to handcopy libstdc++.so from |
48 |
/usr/lib/gcc/$CTARGET to /usr/$CTARGET/lib to make C++ programs work. |
49 |
It is another thing which makes me thinking of installig full glibc on |
50 |
top of cross-one. |
51 |
|
52 |
Sergey |