1 |
Hi, |
2 |
|
3 |
I recently tried to install Gentoo with GCC 3.4. After running bootstrap.sh |
4 |
some packages refused to compile during "emerge system". |
5 |
For instance, the configure script of xterm could not find the program |
6 |
/usr/bin/tic (which is included in ncurses) though ncurses was installed. |
7 |
I found tic in /usr/bin/ but with a different name: |
8 |
/usr/bin/i586-pc-linux-gnu-tic. I figured out that this was caused by the |
9 |
configure script which was run with the --target switch: ./configure |
10 |
... --target=i586-pc-linux-gnu ... |
11 |
This target switch is used when emerge finds CTARGET set in the environment |
12 |
variables. CTARGET is set when the GCC ebuild (versions 3.4 and up, I think) |
13 |
finds a cross compile which infact applies to a Gentoo installation because |
14 |
Gentoo assumes to be i386-pc-linux-gnu in stage1. The function that writes |
15 |
the CTARGET entry in /etc/env.d/gcc/<host> is create_gcc_env_entry found in |
16 |
toolchain.eclass (/usr/portage/eclass) (if it detects a cross compile). |
17 |
This function isn't used in the ebuilds of GCC with version 3.3.x (except |
18 |
3.3.5 which is ~x86 and not installed in general). This explains why my |
19 |
current Gentoo installation works quite fine. |
20 |
So, why is create_gcc_env_entry used in the newest versions of GCC and |
21 |
should this the default behaviour to detect a cross compile and to set |
22 |
CTARGET even if both system types are of pc-linux-gnu but different |
23 |
processors? |
24 |
|
25 |
Regards |
26 |
Philipp Hasse |
27 |
|
28 |
|
29 |
-- |
30 |
gentoo-user@g.o mailing list |