docs/known-issues.txt
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Aug 01 13:39:10 2010 +0200 (2010-08-01)
changeset 2056 441be7e9dc78
parent 2032 278df575fe4b
permissions -rw-r--r--
docs: update known-issues
     1 This files lists the known issues encountered while developping crosstool-NG,
     2 but that could not be addressed before the release.
     3 
     4 The file has one section for each known issue, each section containing four
     5 sub-sections: Symptoms, Explanations, Fix, and Workaround.
     6 
     7 Each section is separated from the others with a lines of at least 4 dashes.
     8 
     9 The following dummy section explains it all.
    10 
    11     --------------------------------
    12     Symptoms:
    13       A one-liner of what you would observe.
    14 
    15     Explanations:
    16       An as much as possible in-depth explanations of the context, why it
    17       happens, what has been investigated so far, and possible orientations
    18       as how to try to solve this (eg. URLs, code snippets...).
    19 
    20     Fix:
    21       What you have to do to fix it, if at all possible.
    22       The fact that there is a fix, and yet this is a known issue means that
    23       time to incorporate the fix in crosstool-NG was missing, or planned for
    24       a future release.
    25 
    26     Workaround:
    27       What you can do to fix it *temporarily*, if at all possible.
    28       A workaround is not a real fix, as it can break other parts of
    29       crosstool-NG, but at least makes you going in your particular case.
    30 
    31 So now, on for the real issues...
    32 
    33 --------------------------------
    34 Symptoms:
    35   gcc is not found, although I *do* have gcc installed.
    36 
    37 Explanations:
    38   This is an issue on at least RHEL systems, where gcc is a symlink to ccache.
    39   Because crosstool-NG create links to gcc for the build and host environment,
    40   those symlinks are in fact pointing to ccache, which then doesn't know how
    41   to run the compiler.
    42 
    43   A possible fix could probably set the environment variable CCACHE_CC to the
    44   actual compiler used.
    45 
    46 Fix:
    47   None known.
    48 
    49 Workaround:
    50   Uninstall ccache.
    51 
    52 --------------------------------
    53 Symptoms:
    54   The extract and/or path steps fail under Cygwin.
    55 
    56 Explanations:
    57   This is not related to crosstool-NG. Mounts under Cygwin are by default not
    58   case-sensitive. You have to use so-called "managed" mounts. See:
    59   http://cygwin.com/faq.html section 4, question 32.
    60 
    61 Fix:
    62   Use "managed" mounts for the directories where you build *and* install your
    63   toolchains.
    64 
    65 Workaround:
    66   None.
    67 
    68 --------------------------------
    69 Symptoms:
    70   uClibc fails to build under Cygwin.
    71 
    72 Explanations:
    73   With uClibc, it is possible to build a cross-ldd. Unfortunately, it is
    74   not (currently) possible to build this cross-ldd under Cygwin.
    75 
    76 Fix:
    77   None so far.
    78 
    79 Workaround:
    80   Disable the cross-ldd build.
    81 
    82 --------------------------------
    83 Symptoms:
    84   On 64-bit build systems, the glibc (possibly eglibc too) build fails for
    85   64-bit targets, because it can not find libgcc.
    86 
    87 Explanations:
    88   This issue has been observed when the companion libraries are built
    89   statically. For an unknown reason, in this case, the libgcc built by the
    90   core gcc is not located in the same place it is located when building
    91   with shared companion libraries.
    92 
    93 Fix:
    94   None so far.
    95 
    96 Workaround:
    97   Build shared companion libraries.
    98 
    99 --------------------------------
   100 Symptoms:
   101   While building the final gcc, I get an error message that ends with:
   102     libtool.m4: error: problem compiling FC test program
   103 
   104 Explanations:
   105   The gcc build procedure tries to run a Fortran test to see if it has a
   106   working native fortran compiler installed on the build machine, and it
   107   can't find one. A native Fortran compiler is needed (seems to be neede)
   108   to build the Fortran frontend of the cross-compiler.
   109   Even if you don't want to build the Fortran frontend, gcc tries to see
   110   if it has one, but fails. This is no problem, as the Fortran frontend
   111   will not be built. There is nothing to be worry about (unless you do
   112   want to build the Fortran frontend, of course).
   113 
   114 Fix:
   115   None so far. It's a spurious error, so there will probably never be
   116   a fix for this issue.
   117 
   118 Workaround:
   119   None needed, it's a spurious error.
   120 
   121 --------------------------------
   122 Symptoms:
   123   gcc barfs because it is "unable to detect the exception model".
   124 
   125 Explanations:
   126   On some architectures, proper stack unwinding (C++) requires that
   127   setjmp/longjmp (sjlj) be used, while on other architectures do not
   128   need sjlj. On some architectures, gcc is unable to determine whether
   129   sjlj are needed or not.
   130 
   131 Fix:
   132   None so far.
   133 
   134 Workaround:
   135   Trying setting use of sjlj to either 'Y' or 'N' (instead of the
   136   default 'M') in the menuconfig, option CT_CC_GCC_SJLJ_EXCEPTIONS
   137   labelled "Use sjlj for exceptions".
   138 
   139 --------------------------------