docs/B - Known issues.txt
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Apr 07 19:17:12 2011 +0200 (2011-04-07)
changeset 2386 ff33dccf005c
parent 2384 5f260bb27b35
child 2387 41743d7a3f37
permissions -rw-r--r--
docs: use the error message in the known issues titles

This helps users find the appropriate known issue entry.

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