1<section xmlns="http://docbook.org/ns/docbook" version="5.0" 2 xml:id="manual.intro.setup.prereq" xreflabel="Prerequisites"> 3<?dbhtml filename="prerequisites.html"?> 4 5<info><title>Prerequisites</title> 6 <keywordset> 7 <keyword>ISO C++</keyword> 8 <keyword>Prerequisites</keyword> 9 </keywordset> 10</info> 11 12 13 14<para> 15 Because libstdc++ is part of GCC, the primary source for 16 installation instructions is 17 <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/">the GCC install page</link>. 18 In particular, list of prerequisite software needed to build the library 19 <link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://gcc.gnu.org/install/prerequisites.html"> 20 starts with those requirements.</link> The same pages also list 21 the tools you will need if you wish to modify the source. 22</para> 23 24 <para> 25 Additional data is given here only where it applies to libstdc++. 26 </para> 27 28 <para>As of GCC 4.0.1 the minimum version of binutils required to build 29 libstdc++ is <code>2.15.90.0.1.1</code>. 30 Older releases of libstdc++ do not require such a recent version, 31 but to take full advantage of useful space-saving features and 32 bug-fixes you should use a recent binutils whenever possible. 33 The configure process will automatically detect and use these 34 features if the underlying support is present. 35 </para> 36 37 <para> 38 To generate the API documentation from the sources you will need 39 Doxygen, see <link linkend="appendix.porting.doc">Documentation 40 Hacking</link> in the appendix for full details. 41 </para> 42 43 <para> 44 Finally, a few system-specific requirements: 45 </para> 46 47 <variablelist> 48 <varlistentry> 49 <term>linux</term> 50 51 <listitem> 52 <para> 53 If GCC 3.1.0 or later on is being used on GNU/Linux, an attempt 54 will be made to use "C" library functionality necessary for 55 C++ named locale support. For GCC 4.6.0 and later, this 56 means that glibc 2.3 or later is required. 57 </para> 58 59 <para> 60 If the 'gnu' locale model is being used, the following 61 locales are used and tested in the libstdc++ testsuites. 62 The first column is the name of the locale, the second is 63 the character set it is expected to use. 64 </para> 65<programlisting> 66de_DE ISO-8859-1 67de_DE@euro ISO-8859-15 68en_GB ISO-8859-1 69en_HK ISO-8859-1 70en_PH ISO-8859-1 71en_US ISO-8859-1 72en_US.ISO-8859-1 ISO-8859-1 73en_US.ISO-8859-15 ISO-8859-15 74en_US.UTF-8 UTF-8 75es_ES ISO-8859-1 76es_MX ISO-8859-1 77fr_FR ISO-8859-1 78fr_FR@euro ISO-8859-15 79is_IS UTF-8 80it_IT ISO-8859-1 81ja_JP.eucjp EUC-JP 82ru_RU.ISO-8859-5 ISO-8859-5 83ru_RU.UTF-8 UTF-8 84se_NO.UTF-8 UTF-8 85ta_IN UTF-8 86zh_TW BIG5 87</programlisting> 88 89 <para>Failure to have installed the underlying "C" library 90 locale information for any of the above regions means that 91 the corresponding C++ named locale will not work: because of 92 this, the libstdc++ testsuite will skip named locale tests 93 which need missing information. If this isn't an issue, don't 94 worry about it. If a named locale is needed, the underlying 95 locale information must be installed. Note that rebuilding 96 libstdc++ after "C" locales are installed is not necessary. 97 </para> 98 99 <para> 100 To install support for locales, do only one of the following: 101 </para> 102 103 <itemizedlist> 104 <listitem> 105 <para>install all locales</para> 106 </listitem> 107 <listitem> 108 <para>install just the necessary locales</para> 109 <itemizedlist> 110 <listitem> 111 <para>with Debian GNU/Linux:</para> 112 <para> Add the above list, as shown, to the file 113 <code>/etc/locale.gen</code> </para> 114 <para> run <code>/usr/sbin/locale-gen</code> </para> 115 </listitem> 116 <listitem> 117 <para>on most Unix-like operating systems:</para> 118 <para><code> localedef -i de_DE -f ISO-8859-1 de_DE </code></para> 119 <para>(repeat for each entry in the above list) </para> 120 </listitem> 121 <listitem> 122 <para> 123 Instructions for other operating systems solicited. 124 </para> 125 </listitem> 126 </itemizedlist> 127 </listitem> 128 </itemizedlist> 129 </listitem> 130 </varlistentry> 131 </variablelist> 132 133</section> 134