prerequisites.xml revision 1.7
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