Gentoo Archives: gentoo-embedded

From: Jason <gentoo@××××××××××.net>
To: gentoo-embedded@l.g.o
Subject: Re: [gentoo-embedded] C compiler cannot create executables
Date: Tue, 06 Nov 2007 20:21:35
Message-Id: 4730CC57.2030105@lakedaemon.net
In Reply to: Re: [gentoo-embedded] C compiler cannot create executables by Jean-Claude Gervais
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

Replies

Subject Author
Re: [gentoo-embedded] C compiler cannot create executables Jean-Claude Gervais <jc.gervais@×××××××××.ca>