| <sect1 id="manual.intro.setup.prereq" xreflabel="Prerequisites"> |
| <?dbhtml filename="prerequisites.html"?> |
| |
| <sect1info> |
| <keywordset> |
| <keyword> |
| ISO C++ |
| </keyword> |
| <keyword> |
| Prerequisites |
| </keyword> |
| </keywordset> |
| </sect1info> |
| |
| <title>Prerequisites</title> |
| |
| <para> |
| Because libstdc++ is part of GCC, the primary source for |
| installation instructions is |
| <ulink url="http://gcc.gnu.org/install/">the GCC install page</ulink>. |
| In particular, list of prerequisite software needed to build the library |
| <ulink url="http://gcc.gnu.org/install/prerequisites.html"> |
| starts with those requirements.</ulink> The same pages also list |
| the tools you will need if you wish to modify the source. |
| </para> |
| |
| <para> |
| Additional data is given here only where it applies to libstdc++. |
| </para> |
| |
| <para>As of GCC 4.0.1 the minimum version of binutils required to build |
| libstdc++ is <code>2.15.90.0.1.1</code>. You can get snapshots |
| (as well as releases) of binutils from |
| <ulink url="ftp://sources.redhat.com/pub/binutils"> |
| ftp://sources.redhat.com/pub/binutils</ulink>. |
| Older releases of libstdc++ do not require such a recent version, |
| but to take full advantage of useful space-saving features and |
| bug-fixes you should use a recent binutils whenever possible. |
| The configure process will automatically detect and use these |
| features if the underlying support is present. |
| </para> |
| |
| <para> |
| Finally, a few system-specific requirements: |
| </para> |
| |
| <variablelist> |
| <varlistentry> |
| <term>linux</term> |
| |
| <listitem> |
| <para> |
| If gcc 3.1.0 or later on is being used on linux, an attempt |
| will be made to use "C" library functionality necessary for |
| C++ named locale support. For gcc 3.2.1 and later, this |
| means that glibc 2.2.5 or later is required and the "C" |
| library de_DE locale information must be installed. |
| </para> |
| |
| <para> |
| Note however that the sanity checks involving the de_DE |
| locale are skipped when an explicit --enable-clocale=gnu |
| configure option is used: only the basic checks are carried |
| out, defending against misconfigurations. |
| </para> |
| |
| <para> |
| If the 'gnu' locale model is being used, the following |
| locales are used and tested in the libstdc++ testsuites. |
| The first column is the name of the locale, the second is |
| the character set it is expected to use. |
| </para> |
| <programlisting> |
| de_DE ISO-8859-1 |
| de_DE@euro ISO-8859-15 |
| en_HK ISO-8859-1 |
| en_PH ISO-8859-1 |
| en_US ISO-8859-1 |
| en_US.ISO-8859-1 ISO-8859-1 |
| en_US.ISO-8859-15 ISO-8859-15 |
| en_US.UTF-8 UTF-8 |
| es_ES ISO-8859-1 |
| es_MX ISO-8859-1 |
| fr_FR ISO-8859-1 |
| fr_FR@euro ISO-8859-15 |
| is_IS UTF-8 |
| it_IT ISO-8859-1 |
| ja_JP.eucjp EUC-JP |
| se_NO.UTF-8 UTF-8 |
| ta_IN UTF-8 |
| zh_TW BIG5 |
| </programlisting> |
| |
| <para>Failure to have the underlying "C" library locale |
| information installed will mean that C++ named locales for the |
| above regions will not work: because of this, the libstdc++ |
| testsuite will skip the named locale tests. If this isn't an |
| issue, don't worry about it. If named locales are needed, the |
| underlying locale information must be installed. Note that |
| rebuilding libstdc++ after the "C" locales are installed is not |
| necessary. |
| </para> |
| |
| <para> |
| To install support for locales, do only one of the following: |
| </para> |
| |
| <itemizedlist> |
| <listitem> |
| <para>install all locales</para> |
| <itemizedlist> |
| <listitem> |
| <para>with RedHat Linux: |
| </para> |
| <para> <code> export LC_ALL=C </code> |
| </para> |
| <para> <code> rpm -e glibc-common --nodeps </code> |
| </para> |
| <para> |
| <code> rpm -i --define "_install_langs all" |
| glibc-common-2.2.5-34.i386.rpm |
| </code> |
| </para> |
| </listitem> |
| <listitem> |
| <para> |
| Instructions for other operating systems solicited. |
| </para> |
| </listitem> |
| </itemizedlist> |
| </listitem> |
| <listitem> |
| <para>install just the necessary locales</para> |
| <itemizedlist> |
| <listitem> |
| <para>with Debian Linux:</para> |
| <para> Add the above list, as shown, to the file |
| <code>/etc/locale.gen</code> </para> |
| <para> run <code>/usr/sbin/locale-gen</code> </para> |
| </listitem> |
| <listitem> |
| <para>on most Unix-like operating systems:</para> |
| <para><code> localedef -i de_DE -f ISO-8859-1 de_DE </code></para> |
| <para>(repeat for each entry in the above list) </para> |
| </listitem> |
| <listitem> |
| <para> |
| Instructions for other operating systems solicited. |
| </para> |
| </listitem> |
| </itemizedlist> |
| </listitem> |
| </itemizedlist> |
| </listitem> |
| </varlistentry> |
| </variablelist> |
| |
| </sect1> |