Gentoo Archives: gentoo-embedded

From: Jean-Claude Gervais <jc.gervais@×××××××××.ca>
To: gentoo-embedded@l.g.o
Subject: Re: [gentoo-embedded] C compiler cannot create executables
Date: Tue, 06 Nov 2007 20:34:00
Message-Id: 1194381099.22183.44.camel@mercury.sprymusic
In Reply to: Re: [gentoo-embedded] C compiler cannot create executables by Jason
1 On Tue, 2007-11-06 at 15:19 -0500, Jason wrote:
2 > Jean-Claude Gervais wrote:
3 > > On Tue, 2007-11-06 at 13:11 -0500, Jason wrote:
4 > >> Jean-Claude Gervais wrote:
5 > >>> On Tue, 2007-11-06 at 12:46 -0500, Jason wrote:
6 > >>>> Jean-Claude Gervais wrote:
7 > >>>>> Same problem, different environment:
8 > >>>>>
9 > >>>>> I produced a cross-development toolkit by using the following command:
10 > >>>>>
11 > >>>>> .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
12 > >>>>> SYSROOT="/usr/arm-softfloat-linux-uclibc"
13 > >>>>>
14 > >>>>> UCLIBC_CPU="ARM920T" USE="-*" crossdev -v -S --binutils 2.17 --gcc
15 > >>>>> 3.4.6-r2 --kernel 2.6.19-r2 --libc 0.9.28.3 --ex-gdb --target
16 > >>>>> arm-softfloat-linux-uclibc
17 > >>>>> .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
18 > >>>>>
19 > >>>>> This went well; all the required tools were built.
20 > >>>>>
21 > >>>>> But now when I try to use the (modified) xmerge script, I get the
22 > >>>>> "C compiler cannot create executables" error
23 > >>>> [snip]
24 > >>>>> configure:1225: checking build system type
25 > >>>>> configure:1243: result: i686-pc-linux-gnu
26 > >>>>> configure:1250: checking host system type
27 > >>>>> configure:1264: result: i686-softfloat-linux-uclibc
28 > >>>>> configure:1272: checking target system type
29 > >>>>> configure:1286: result: i686-softfloat-linux-uclibc
30 > >>>> This doesn't look right. Did you setup ${SYSROOT}/etc/make.conf and
31 > >>>> ${SYSROOT}/etc/make.profile ?
32 > >>> I think I did; here is the contents of
33 > >>> /usr/arm-softfloat-linux-uclibc/etc/make.conf
34 > >>>
35 > >>> .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
36 > >>> ACCEPT_KEYWORDS="arm"
37 > >>> ARCH="arm"
38 > >>>
39 > >>> CFLAGS="-Os -pipe -mfloat-abi=softfp -mfpu=vfp"
40 > >>> CHOST="i686-softfloat-linux-uclibc"
41 > >> This line should be:
42 > >> CHOST="arm-softfloat-linux-uclibc"
43 > >
44 > > OK, I changed that line, performed a
45 > > crossdev -C arm-softfloat-linux-uclibc
46 > >
47 > > And then re-ran the toolchain build procedure I am using;
48 >
49 > judging by your initial ncurses build error, you haven't successfully
50 > xmerge'd anything into SYSROOT, so all you had to do was change CHOST in
51 > ${SYSROOT}/etc/make.conf, then try xmerge ncurses again.
52 >
53 > > SYSROOT="/usr/arm-softfloat-linux-uclibc"
54 > >
55 > > UCLIBC_CPU="ARM920T" USE="-*" crossdev -v -S --binutils 2.17 --gcc
56 > > 3.4.6-r2 --kernel 2.6.19-r2 --libc 0.9.28.3 --ex-gdb --target
57 > > arm-softfloat-linux-uclibc
58 >
59 > crossdev doesn't use SYSROOT, it creates it. So there is no need to set it.
60 >
61 > > Which concluded with no errors.
62 > >
63 > > However, when I run any xmerge, I still get the same error
64 > > "C compiler cannot create executables"
65 >
66 > Did you repeat Section 3 of the cross-development guide after blowing
67 > away SYSROOT with crossdev -C <target>?
68
69 Yes, absolutely.
70
71 > And set CHOST correctly?
72
73 You mean in /usr/arm-softfloat-linux-uclibc/etc/make.conf ?
74 Yes.
75
76 The make.conf at that location is
77
78 ACCEPT_KEYWORDS="arm"
79 ARCH="arm"
80
81 CFLAGS="-Os -pipe -mfloat-abi=softfp -mfpu=vfp"
82 CHOST="arm-softfloat-linux-uclibc"
83 CXXFLAGS="${CFLAGS}"
84 GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo
85 http://prometheus.cs.wmich.edu/gentoo http://mirror.datapipe.net/gentoo
86 http://ftp.ucsb.edu/pub/m$
87 INPUT_DEVICES="keyboard"
88 MAKEOPTS="-j2"
89 USE="minimal symlink"
90 UCLIBC_CPU="ARM920T"
91
92
93 --
94 gentoo-embedded@g.o mailing list

Replies

Subject Author
Re: [gentoo-embedded] C compiler cannot create executables Jason <gentoo@××××××××××.net>