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:49:18
Message-Id: 1194382093.22183.48.camel@mercury.sprymusic
In Reply to: Re: [gentoo-embedded] C compiler cannot create executables by Jason
1 On Tue, 2007-11-06 at 15:38 -0500, Jason wrote:
2 > Jean-Claude Gervais wrote:
3 > > On Tue, 2007-11-06 at 15:19 -0500, Jason wrote:
4 > >> Jean-Claude Gervais wrote:
5 > >>> On Tue, 2007-11-06 at 13:11 -0500, Jason wrote:
6 > >>>> Jean-Claude Gervais wrote:
7 > >>>>> On Tue, 2007-11-06 at 12:46 -0500, Jason wrote:
8 > >>>>>> Jean-Claude Gervais wrote:
9 > >>>>>>> Same problem, different environment:
10 > >>>>>>>
11 > >>>>>>> I produced a cross-development toolkit by using the following command:
12 > >>>>>>>
13 > >>>>>>> .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
14 > >>>>>>> SYSROOT="/usr/arm-softfloat-linux-uclibc"
15 > >>>>>>>
16 > >>>>>>> UCLIBC_CPU="ARM920T" USE="-*" crossdev -v -S --binutils 2.17 --gcc
17 > >>>>>>> 3.4.6-r2 --kernel 2.6.19-r2 --libc 0.9.28.3 --ex-gdb --target
18 > >>>>>>> arm-softfloat-linux-uclibc
19 > >>>>>>> .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
20 > >>>>>>>
21 > >>>>>>> This went well; all the required tools were built.
22 > >>>>>>>
23 > >>>>>>> But now when I try to use the (modified) xmerge script, I get the
24 > >>>>>>> "C compiler cannot create executables" error
25 > >>>>>> [snip]
26 > >>>>>>> configure:1225: checking build system type
27 > >>>>>>> configure:1243: result: i686-pc-linux-gnu
28 > >>>>>>> configure:1250: checking host system type
29 > >>>>>>> configure:1264: result: i686-softfloat-linux-uclibc
30 > >>>>>>> configure:1272: checking target system type
31 > >>>>>>> configure:1286: result: i686-softfloat-linux-uclibc
32 > >>>>>> This doesn't look right. Did you setup ${SYSROOT}/etc/make.conf and
33 > >>>>>> ${SYSROOT}/etc/make.profile ?
34 > >>>>> I think I did; here is the contents of
35 > >>>>> /usr/arm-softfloat-linux-uclibc/etc/make.conf
36 > >>>>>
37 > >>>>> .-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
38 > >>>>> ACCEPT_KEYWORDS="arm"
39 > >>>>> ARCH="arm"
40 > >>>>>
41 > >>>>> CFLAGS="-Os -pipe -mfloat-abi=softfp -mfpu=vfp"
42 > >>>>> CHOST="i686-softfloat-linux-uclibc"
43 > >>>> This line should be:
44 > >>>> CHOST="arm-softfloat-linux-uclibc"
45 > >>> OK, I changed that line, performed a
46 > >>> crossdev -C arm-softfloat-linux-uclibc
47 > >>>
48 > >>> And then re-ran the toolchain build procedure I am using;
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 > >> 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 > >> Did you repeat Section 3 of the cross-development guide after blowing
65 > >> away SYSROOT with crossdev -C <target>?
66 > >
67 > > Yes, absolutely.
68 > >
69 > >> And set CHOST correctly?
70 > >
71 > > You mean in /usr/arm-softfloat-linux-uclibc/etc/make.conf ?
72 > > Yes.
73 > >
74 > > The make.conf at that location is
75 > >
76 > > ACCEPT_KEYWORDS="arm"
77 > > ARCH="arm"
78 > >
79 > > CFLAGS="-Os -pipe -mfloat-abi=softfp -mfpu=vfp"
80 > > CHOST="arm-softfloat-linux-uclibc"
81 > > CXXFLAGS="${CFLAGS}"
82 > > GENTOO_MIRRORS="http://open-systems.ufl.edu/mirrors/gentoo
83 > > http://prometheus.cs.wmich.edu/gentoo http://mirror.datapipe.net/gentoo
84 > > http://ftp.ucsb.edu/pub/m$
85 > > INPUT_DEVICES="keyboard"
86 > > MAKEOPTS="-j2"
87 > > USE="minimal symlink"
88 > > UCLIBC_CPU="ARM920T"
89 > >
90 >
91 > Okay, I suspect you fixed the error you were getting before
92 > (configure:1286: result: i686-softfloat-linux-uclibc), so let's take a
93 > look at the config.log again and see what's tripping it up this time.
94
95 Eureka! Or maybe I should say D'OH!
96
97 I had some invalid compiler options: -mfloat-abi=softfp -mfpu=vfp
98 in my CFLAGS!
99
100 I scanned the config.log too quickly last time. Sorry!
101
102 and
103 Thanks Jason!
104
105 J
106
107 --
108 gentoo-embedded@g.o mailing list

Replies

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