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