1 |
Jean-Claude Gervais wrote: |
2 |
> On Tue, 2007-11-06 at 13:11 -0500, Jason wrote: |
3 |
>> Jean-Claude Gervais wrote: |
4 |
>>> On Tue, 2007-11-06 at 12:46 -0500, Jason wrote: |
5 |
>>>> Jean-Claude Gervais wrote: |
6 |
>>>>> Same problem, different environment: |
7 |
>>>>> |
8 |
>>>>> I produced a cross-development toolkit by using the following command: |
9 |
>>>>> |
10 |
>>>>> .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- |
11 |
>>>>> SYSROOT="/usr/arm-softfloat-linux-uclibc" |
12 |
>>>>> |
13 |
>>>>> UCLIBC_CPU="ARM920T" USE="-*" crossdev -v -S --binutils 2.17 --gcc |
14 |
>>>>> 3.4.6-r2 --kernel 2.6.19-r2 --libc 0.9.28.3 --ex-gdb --target |
15 |
>>>>> arm-softfloat-linux-uclibc |
16 |
>>>>> .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- |
17 |
>>>>> |
18 |
>>>>> This went well; all the required tools were built. |
19 |
>>>>> |
20 |
>>>>> But now when I try to use the (modified) xmerge script, I get the |
21 |
>>>>> "C compiler cannot create executables" error |
22 |
>>>> [snip] |
23 |
>>>>> configure:1225: checking build system type |
24 |
>>>>> configure:1243: result: i686-pc-linux-gnu |
25 |
>>>>> configure:1250: checking host system type |
26 |
>>>>> configure:1264: result: i686-softfloat-linux-uclibc |
27 |
>>>>> configure:1272: checking target system type |
28 |
>>>>> configure:1286: result: i686-softfloat-linux-uclibc |
29 |
>>>> This doesn't look right. Did you setup ${SYSROOT}/etc/make.conf and |
30 |
>>>> ${SYSROOT}/etc/make.profile ? |
31 |
>>> I think I did; here is the contents of |
32 |
>>> /usr/arm-softfloat-linux-uclibc/etc/make.conf |
33 |
>>> |
34 |
>>> .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- |
35 |
>>> ACCEPT_KEYWORDS="arm" |
36 |
>>> ARCH="arm" |
37 |
>>> |
38 |
>>> CFLAGS="-Os -pipe -mfloat-abi=softfp -mfpu=vfp" |
39 |
>>> CHOST="i686-softfloat-linux-uclibc" |
40 |
>> This line should be: |
41 |
>> CHOST="arm-softfloat-linux-uclibc" |
42 |
> |
43 |
> OK, I changed that line, performed a |
44 |
> crossdev -C arm-softfloat-linux-uclibc |
45 |
> |
46 |
> And then re-ran the toolchain build procedure I am using; |
47 |
|
48 |
judging by your initial ncurses build error, you haven't successfully |
49 |
xmerge'd anything into SYSROOT, so all you had to do was change CHOST in |
50 |
${SYSROOT}/etc/make.conf, then try xmerge ncurses again. |
51 |
|
52 |
> SYSROOT="/usr/arm-softfloat-linux-uclibc" |
53 |
> |
54 |
> UCLIBC_CPU="ARM920T" USE="-*" crossdev -v -S --binutils 2.17 --gcc |
55 |
> 3.4.6-r2 --kernel 2.6.19-r2 --libc 0.9.28.3 --ex-gdb --target |
56 |
> arm-softfloat-linux-uclibc |
57 |
|
58 |
crossdev doesn't use SYSROOT, it creates it. So there is no need to set it. |
59 |
|
60 |
> Which concluded with no errors. |
61 |
> |
62 |
> However, when I run any xmerge, I still get the same error |
63 |
> "C compiler cannot create executables" |
64 |
|
65 |
Did you repeat Section 3 of the cross-development guide after blowing |
66 |
away SYSROOT with crossdev -C <target>? And set CHOST correctly? |
67 |
|
68 |
hth, |
69 |
|
70 |
Jason. |
71 |
-- |
72 |
gentoo-embedded@g.o mailing list |