1 |
Hi, |
2 |
|
3 |
I have been using crossdev and gentoo to build an uclibc embedded platform. I |
4 |
have been buidling my toolchain using: |
5 |
|
6 |
crossdev -binutils 2.16.1-r2 -gcc 3.4.5-r1 -libc 0.9.28 -kernel 2.6.16.20 -t |
7 |
i386-pc-linux-uclibc |
8 |
|
9 |
and |
10 |
|
11 |
crossdev -binutils 2.16.1-r2 -gcc 3.4.5-r1 -libc 0.9.28 -kernel 2.6.16.20 -t |
12 |
arm-softfloat-linux-uclibc |
13 |
|
14 |
As you can see I am targeting both Intel and Arm platforms. I'm using |
15 |
portage snapshot from portage-20060703.tar.gz. I intend only to update the |
16 |
portage snapshot I am using only if I need to to fix a bug or add features. |
17 |
|
18 |
Things have been working well, but there have been some issues with uclibc's |
19 |
shared library loader, which so far I have worked around using LD_PRELOAD. |
20 |
Having cross-compiled both mozilla for dfb and mozilla against X to use with |
21 |
XDirectFB(dfb mozilla still seems to have some issues) these shared library |
22 |
loader issues seem to be rearing there head again and I cant seem to work |
23 |
around them with LD_PRELOAD for mozilla/X. |
24 |
|
25 |
I have noticed though that since uclibc 0.9.28 there seems to have been a fair |
26 |
bit of work done in uclibc's ldso directory and it looks like these bugs may |
27 |
have been fixed there - hence the need to try and build against uclibc from |
28 |
svn. |
29 |
|
30 |
I have done this by creating a new uclibc-1.0.0.ebuild (version 1.0.0 just to |
31 |
provide something.). I place the latest uclibc snapshot in in |
32 |
/usr/portage/distfiles/uClibc-1.0.0.tar.gz. To make this build I had to use |
33 |
the pregenerated uClibc locale stuff, make the ebuild fix up KERNEL_HEADERS |
34 |
rather then KERNEL_SOURCE and in extra/locale 'ln -s ../../include include' so |
35 |
this part could find it's headers. I also set 'PATCH_VER=""' assuming that |
36 |
these fixes would probarbly be included in the latest SVN version. |
37 |
(Please let me know if theres a more appropiate way to do this using the |
38 |
uclibc ebuild - I noticed a reference to SVN_VER in the ebuild but it wasnt |
39 |
clear how to use this, what it does or if it workes. ) |
40 |
|
41 |
This now build's OK and I can compile everything else against it. The problem |
42 |
comes though trying to use it in |
43 |
"crossdev -binutils 2.16.1-r2 -gcc 3.4.5-r1 -libc 1.0.0 -kernel 2.6.16.20 -t |
44 |
i386-pc-linux-uclibc" |
45 |
|
46 |
to build the toolchain with uclibc from svn. It falls over in gcc-stage2 with |
47 |
the following build errors: |
48 |
|
49 |
/bin/sh ../libtool --tag CXX --mode=compile |
50 |
/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/gcc/xgcc |
51 |
-shared-libgcc |
52 |
-B/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/gcc/ |
53 |
-nostdinc++ |
54 |
-L/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/src |
55 |
-L/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/src/.libs |
56 |
-B/usr/i386-pc-linux-uclibc/bin/ -B/usr/i386-pc-linux-uclibc/lib/ -isystem |
57 |
/usr/i386-pc-linux-uclibc/include -isystem |
58 |
/usr/i386-pc-linux-uclibc/sys-include |
59 |
-I/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/include/i386-pc-linux-uclibc |
60 |
-I/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/include |
61 |
-I/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/gcc-3.4.5/libstdc++-v3/libsupc++ |
62 |
-g -Os -g -Os -fno-implicit-templates -Wall -W -Wwrite-strings -Wcast-qual |
63 |
-fdiagnostics-show-location=once -ffunction-sections -fdata-sections -c -o |
64 |
ctype_members.lo ctype_members.cc |
65 |
/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/gcc/xgcc |
66 |
-shared-libgcc |
67 |
-B/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/gcc/ |
68 |
-nostdinc++ |
69 |
-L/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/src |
70 |
-L/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/src/.libs |
71 |
-B/usr/i386-pc-linux-uclibc/bin/ -B/usr/i386-pc-linux-uclibc/lib/ -isystem |
72 |
/usr/i386-pc-linux-uclibc/include -isystem |
73 |
/usr/i386-pc-linux-uclibc/sys-include |
74 |
-I/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/include/i386-pc-linux-uclibc |
75 |
-I/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/include |
76 |
-I/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/gcc-3.4.5/libstdc++-v3/libsupc++ |
77 |
-g -Os -g -Os -fno-implicit-templates -Wall -W -Wwrite-strings -Wcast-qual |
78 |
-fdiagnostics-show-location=once -ffunction-sections -fdata-sections -c |
79 |
ctype_members.cc -fPIC -DPIC -o .libs/ctype_members.o |
80 |
In file included from /usr/i386-pc-linux-uclibc/sys-include/stdio.h:72, |
81 |
from |
82 |
/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/include/cstdio:52, |
83 |
from |
84 |
/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/include/i386-pc-linux-uclibc/bits/c++locale.h:42, |
85 |
from |
86 |
/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/include/bits/localefwd.h:46, |
87 |
from |
88 |
/var/tmp/cross/i386-pc-linux-uclibc/portage/gcc-3.4.5-r1/work/build/i386-pc-linux-uclibc/libstdc++-v3/include/locale:44, |
89 |
from ctype_members.cc:37: |
90 |
/usr/i386-pc-linux-uclibc/sys-include/bits/uClibc_stdio.h:346: error: expected |
91 |
initializer before "attribute_hidden" |
92 |
/usr/i386-pc-linux-uclibc/sys-include/bits/uClibc_stdio.h:347: error: expected |
93 |
initializer before "attribute_hidden" |
94 |
/usr/i386-pc-linux-uclibc/sys-include/bits/uClibc_stdio.h:361: error: expected |
95 |
initializer before "attribute_hidden" |
96 |
make[3]: *** [ctype_members.lo] Error 1 |
97 |
|
98 |
|
99 |
I will look into the problem and if I find a solution will post it here. If |
100 |
somebody already knows how to resolve this problem some advice would be |
101 |
greatly appreciated. |
102 |
|
103 |
Thanks |
104 |
|
105 |
Ryan |
106 |
|
107 |
|
108 |
-- |
109 |
gentoo-embedded@g.o mailing list |