crosstool-ng/docs/known-issues.txt
Yann E. MORIN" 443f51a2dc libc/glibc: fix building for seemingly native toolchains
Build glibc with -O2 as a fix/workaround to building
seemingly-native toolchains.

See:
- docs/overview.txt
- docs/known-issues.txt
- http://sourceware.org/ml/crossgcc/2009-09/msg00055.html
2009-10-02 22:10:38 +02:00

109 lines
3.4 KiB
Plaintext

This files lists the known issues encountered while developping crosstool-NG,
but that could not be addressed before the release.
The file has one section for each known issue, each section containing four
sub-sections: Symptoms, Explanations, Fix, and Workaround.
Each section is separated from the others with a lines of at least 4 dashes.
The following dummy section explains it all.
--------------------------------
Symptoms:
A one-liner of what you would observe.
Explanations:
An as much as possible in-depth explanations of the context, why it
happens, what has been investigated so far, and possible orientations
as how to try to solve this (eg. URLs, code snippets...).
Fix:
What you have to do to fix it, if at all possible.
The fact that there is a fix, and yet this is a known issue means that
time to incorporate the fix in crosstool-NG was missing, or planned for
a future release.
Workaround:
What you can do to fix it *temporarily*, if at all possible.
A workaround is not a real fix, as it can break other parts of
crosstool-NG, but at least makes you going in your particular case.
So now, on for the real issues...
--------------------------------
Symptoms:
Seemingly native toolchains do not build.
Explanations:
Seemingly native toolchains are toolchains that target the same architecture
as the one it is built on, and on which it will run, but the machine tuple
may be different (eg i686 vs. i386, or x86_64-unknown-linux-gnu vs.
x86_64-pc-linux-gnu).
This seems to happen when building glibc-2.7 based toolchains only, for
x86 and for x86_64.
Only the system part of the tuple (here, linux-gnu) needs to be the same to
trigger the bug. Which means that building a tolchain for either x86 or
x86_64 on either x86 or x86_64 breaks.
Fix:
None known.
Workaround:
It seems that using -O2 in the CFLAGS fixes the problem. It has been
confirmed in the following threads:
http://sourceware.org/ml/crossgcc/2009-09/msg00055.html (for glibc)
http://sourceware.org/ml/crossgcc/2009-10/msg00001.html (for eglibc)
--------------------------------
Symptoms:
gcc is not found, although I *do* have gcc installed.
Explanations:
This is an issue on at least RHEL systems, where gcc is a symlink to ccache.
Because crosstool-NG create links to gcc for the build and host environment,
those symlinks are in fact pointing to ccache, which then doesn't know how
to run the compiler.
A possible fix could probably set the environment variable CCACHE_CC to the
actual compiler used.
Fix:
None known.
Workaround:
Uninstall ccache.
--------------------------------
Symptoms:
The extract and/or path steps fail under Cygwin.
Explanations:
This is not related to crosstool-NG. Mounts under Cygwin are by default not
case-sensitive. You have to use so-called "managed" mounts. See:
http://cygwin.com/faq.html section 4, question 32.
Fix:
Use "managed" mounts for the directories where you build *and* install your
toolchains.
Workaround:
None.
--------------------------------
Symptoms:
uClibc fails to build under Cygwin.
Explanations:
With uClibc, it is possible to build a cross-ldd. Unfortunately, it is
not (currently) possible to build this cross-ldd under Cygwin.
Fix:
None so far.
Workaround:
Disable the cross-ldd build.
--------------------------------