Author: randy Date: 2010-02-18 08:34:02 -0700 (Thu, 18 Feb 2010) New Revision: 8263
Modified: trunk/BOOK/general.ent trunk/BOOK/general/prog/gcc.xml trunk/BOOK/introduction/welcome/changelog.xml Log: Updated to GCC-4.4.1 Modified: trunk/BOOK/general/prog/gcc.xml =================================================================== --- trunk/BOOK/general/prog/gcc.xml 2010-02-18 14:48:56 UTC (rev 8262) +++ trunk/BOOK/general/prog/gcc.xml 2010-02-18 15:34:02 UTC (rev 8263) @@ -6,14 +6,14 @@ <!ENTITY gcc-download-http "http://ftp.gnu.org/gnu/gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2"> <!ENTITY gcc-download-ftp "ftp://ftp.gnu.org/gnu/gcc/gcc-&gcc-version;/gcc-&gcc-version;.tar.bz2"> - <!ENTITY gcc-md5sum "a4a3eb15c96030906d8494959eeda23c"> - <!ENTITY gcc-size "39.7 MB"> - <!ENTITY gcc-buildsize "1.9 GB"> - <!ENTITY gcc-time "77 SBU (build, test and install all compilers)"> + <!ENTITY gcc-md5sum "927eaac3d44b22f31f9c83df82f26436"> + <!ENTITY gcc-size "62.8 MB"> + <!ENTITY gcc-buildsize "~3.7 GB (build, test and install all compilers)"> + <!ENTITY gcc-time "119 SBU (build, test and install all compilers)"> - <!ENTITY gnat-download-http "https://libre.adacore.com/dynamic/download_page"> - <!ENTITY gnat-md5sum "659b7f57e00b73ecaa4863dabea5e0e2"> - <!ENTITY gnat-size "44.6 MB"> + <!ENTITY gnat-download-http "https://libre.adacore.com/libre/download/"> + <!ENTITY gnat-md5sum "88d82a34ab0b67d2c03cef93527ca863"> + <!ENTITY gnat-size "104 MB"> ]> <sect1 id="gcc" xreflabel="GCC-&gcc-version;"> @@ -35,13 +35,18 @@ <para>The <application>GCC</application> package contains GNU compilers. This package is useful for compiling programs written in C, C++, Fortran, - Java, Objective C and Ada. Also included is GNU Treelang. Treelang is a - sample language, useful only to help people understand how to implement a - new language front end to GCC. It is not a useful language in itself other - than as an example or basis for building a new language. Therefore only - language developers are likely to have an interest in it.</para> + Java, Objective C, Objective C++, and Ada. You should ensure you actually + need one of these additional compilers (C and C++ are installed in LFS) + before you install them. Additionally, there are instructions in the BLFS + book to install the Sun Java Development Kit (<xref linkend="jdk"/>), + which can be used instead of the Java provided by the + <application>GCC</application> package. Many consider the Sun JDK to be a + more robust Java environment than the one provided by + <application>GCC</application>.</para> - <note> + &lfs65_checked; + + <!-- <note> <para>The Fortran compiler included with the <application>GCC</application>-4.x package now aims to be conformant with the Fortran 95 standard, not the Fortran 77 standard as all previous @@ -63,7 +68,7 @@ can be found in <xref linkend="gcc3"/> and on the <ulink url="&blfs-wiki;/gcc3">BLFS Wiki</ulink>.</para> - </note> + </note> --> <bridgehead renderas="sect3">Package Information</bridgehead> <itemizedlist spacing="compact"> @@ -92,13 +97,6 @@ <bridgehead renderas="sect4">Recommended</bridgehead> <para role="recommended"><xref linkend="dejagnu"/></para> - <!-- This is now installed in LFS - <bridgehead renderas="sect4">Optional (Required to Build the Fortran - Compiler)</bridgehead> - <para role="optional"> - <ulink url="http://www.mpfr.org/">MPFR</ulink></para> - --> - <note> <para>If you plan to compile Ada, you will need to install <application>GNAT</application> temporarily to satisfy the circular @@ -107,13 +105,13 @@ create an account on the AdaCore site before you can download the package. Nothing is required other than a valid email address.</para> - <para><emphasis role='strong'>Ensure you download the 2005 version of the - GNAT compiler. The 2006 version will not work. The file name you need is: - <filename>gnat-gpl-2005-i686-gnu-linux-gnu-libc2.3-bin.tar.gz</filename>.</emphasis> + <para>At the AdaCore download page, choose your platform and 2009. Then + scroll down and click on <quote>Files</quote>. Download the file named + <filename>gnat-gpl-2009-1-i686-gnu-linux-libc2.3-bin.tar.gz</filename>. </para> </note> - <bridgehead renderas="sect3">GNAT GPL 2005 Package Information</bridgehead> + <bridgehead renderas="sect3">GNAT GPL 2009 Package Information</bridgehead> <itemizedlist spacing="compact"> <listitem> <para>Download (HTTP): <ulink url="&gnat-download-http;"/></para> @@ -134,20 +132,23 @@ <sect2 role="installation"> <title>Installation of GNAT</title> - <para>Install <application>GNAT</application> by running the following - command as the <systemitem class="username">root</systemitem> user:</para> + <para>Before unpacking and changing into the GCC build directory, first + unpack the <application>GNAT</application> tarball and change into the + newly created directory and install <application>GNAT</application> by + running the following command:</para> -<screen role="root"><userinput>make ins-all prefix=/opt/gnat</userinput></screen> +<screen><userinput>make ins-all prefix=<replaceable><Your build directory></replaceable>/gnat</userinput></screen> <para>The <application>GNAT</application> compiler can be invoked by executing the <command>gcc</command> binary installed - in <filename class='directory'>/opt/gnat/bin</filename>.</para> + in <filename + class='directory'><replaceable><Your build directory></replaceable>/gnat/bin</filename>.</para> <para>You may now remove the <application>GNAT</application> source directory:</para> <screen><userinput>cd .. && -rm -rf gnat-gpl-2005-i686-gnu-linux-gnu-libc2.3-bin</userinput></screen> +rm -rf gnat-2009-i686-gnu-linux-libc2.3-bin</userinput></screen> <para>Prepare to compile <application>GCC</application> by placing the <application>GNAT</application> version of <command>gcc</command> at the @@ -155,7 +156,7 @@ commands:</para> <screen><userinput>PATH_HOLD=$PATH && -export PATH=/opt/gnat/bin:$PATH_HOLD</userinput></screen> +export PATH=<replaceable><Your build directory></replaceable>/gnat/bin:$PATH_HOLD</userinput></screen> </sect2> @@ -178,8 +179,8 @@ until you are confident the build was successful. You can compare your test results with those found at <ulink url="http://gcc.gnu.org/ml/gcc-testresults/"/>. There's also an - i686 platform test result produced by an LFS-SVN-20070304 system at - <ulink url="&files-anduin;/gcc412_test.txt"/>. You + i686 32-bit platform test result produced by an LFS-6.5 system at + <ulink url="&files-anduin;/gcc441_test.txt"/>. You may also want to refer to the information found in the <application>GCC</application> section of Chapter 6 in the LFS book (<ulink url="&lfs-root;/chapter06/gcc.html"/>).</para> @@ -198,29 +199,35 @@ <screen><userinput>sed -i 's/install_to_$(INSTALL_DEST) //' libiberty/Makefile.in && sed -i 's...@\./fixinc\...@-c true@' gcc/Makefile.in && -sed -i 's/@have_mktemp_command@/yes/' gcc/gccbug.in && + mkdir ../gcc-build && -cd ../gcc-build && +cd ../gcc-build && + ../gcc-&gcc-version;/configure \ --prefix=/usr \ --libexecdir=/usr/lib \ --enable-shared \ --enable-threads=posix \ --enable-__cxa_atexit \ + --disable-multilib \ + --enable-bootstrap \ --enable-clocale=gnu \ - --enable-languages=c,c++,ada,fortran,java,objc,treelang && + --enable-languages=c,c++,ada,fortran,java,objc,obj-c++ && + make bootstrap && -make -k check && +make -k check && + ../gcc-&gcc-version;/contrib/test_summary</userinput></screen> <para>Now, as the <systemitem class="username">root</systemitem> user:</para> <screen role="root"><userinput>make install && + ln -v -sf ../usr/bin/cpp /lib && ln -v -sf gcc /usr/bin/cc && + chown -v -R root:root \ - /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/include && -chown -v -R root:root \ + /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/include \ /usr/lib/gcc/i686-pc-linux-gnu/&gcc-version;/ada{lib,include}</userinput></screen> <para>The <filename class='libraryfile'>libffi</filename> interface header @@ -231,14 +238,12 @@ <screen role="root"><userinput>ln -v -sf `find /usr/lib/gcc -name ffitarget.h` /usr/include</userinput></screen> - <para>As the <systemitem class="username">root</systemitem> user, remove the - <application>GNAT</application> installation:</para> + <para>You should now become the unprivileged user and remove the + <application>GNAT</application> installation and perform other + cleanups:</para> -<screen role="root"><userinput>rm -rf /opt/gnat</userinput></screen> +<screen><userinput>rm -rf <replaceable><Your build directory></replaceable>/gnat</userinput></screen> - <para>Now, as the unprivileged user, restore your old - <envar>PATH</envar>:</para> - <screen><userinput>export PATH=$PATH_HOLD && unset PATH_HOLD</userinput></screen> @@ -247,9 +252,8 @@ <sect2 role="commands"> <title>Command Explanations</title> - <para>The three <command>sed</command> commands are the same ones used - during the build of LFS. A fourth one in LFS is omitted intentionally, - due to the bootstrap build.</para> + <para>The two <command>sed</command> commands are the same ones used + during the build of LFS.</para> <para><command>mkdir ../gcc-build; cd ../gcc-build</command>: The <application>GCC</application> documentation recommends @@ -259,11 +263,17 @@ --enable-__cxa_atexit</parameter>: These parameters are required to build the <application>C++</application> libraries to published standards.</para> - <para><parameter>--enable-clocale=gnu</parameter>: This command is a + <para><parameter>--disable-multilib</parameter>: This parameter ensures + that files are created for the specific arch of your computer.</para> + + <para><parameter>--enable-bootstrap</parameter>: This parameter is used + so that a bootstrap installation is performed.</para> + + <para><parameter>--enable-clocale=gnu</parameter>: This parameter is a failsafe for incomplete locale data.</para> <para> - <parameter>--enable-languages=c,c++,ada,fortran,java,objc,treelang</parameter>: + <parameter>--enable-languages=c,c++,ada,fortran,java,objc,obj-c++</parameter>: This command identifies which languages to build. You may modify this command to remove undesired languages.</para> Modified: trunk/BOOK/general.ent =================================================================== --- trunk/BOOK/general.ent 2010-02-18 14:48:56 UTC (rev 8262) +++ trunk/BOOK/general.ent 2010-02-18 15:34:02 UTC (rev 8263) @@ -37,16 +37,16 @@ <!-- These entities are used to identify versions of LFS packages referenced throughout the BLFS book. --> -<!ENTITY lfs-gcc-version "4.3.2"> +<!ENTITY lfs-autoconf-version "2.64"> <!-- <!ENTITY lfs-bdb-version "4.7.25"> --> +<!ENTITY lfs-coreutils-version "7.4"> +<!ENTITY lfs-flex-version "2.5.35"> +<!ENTITY lfs-gcc-version "4.4.1"> <!ENTITY lfs-gdbm-version "1.8.3"> -<!ENTITY lfs-coreutils-version "6.12"> +<!ENTITY lfs-m4-version "1.4.13"> <!ENTITY lfs-perl-version "5.10.0"> -<!ENTITY lfs-autoconf-version "2.63"> -<!ENTITY lfs-flex-version "2.5.35"> -<!ENTITY lfs-shadow-version "4.1.4.1"> +<!ENTITY lfs-shadow-version "4.1.4.2"> <!ENTITY lfs-vim-version "7.2"> -<!ENTITY lfs-m4-version "1.4.12"> <!-- End LFS versions --> <!ENTITY blfs-bootscripts-version "20090302"> @@ -265,7 +265,7 @@ <!ENTITY doxygen-version "1.5.9"> <!ENTITY expect-version "5.43.0"> <!ENTITY gc-version "6.8"> -<!ENTITY gcc-version "4.1.2"> +<!ENTITY gcc-version "4.4.1"> <!ENTITY gcc3-version "3.3.6"> <!ENTITY guile-version "1.8.7"> <!ENTITY jdk-version "6 Update 18"> Modified: trunk/BOOK/introduction/welcome/changelog.xml =================================================================== --- trunk/BOOK/introduction/welcome/changelog.xml 2010-02-18 14:48:56 UTC (rev 8262) +++ trunk/BOOK/introduction/welcome/changelog.xml 2010-02-18 15:34:02 UTC (rev 8263) @@ -44,7 +44,10 @@ <listitem> <para>February 18th, 2010</para> <itemizedlist> - <listitem> + <listitem> + <para>[randy] - Updated to GCC-4.4.1.</para> + </listitem> + <listitem> <para>[dj] - Updated to Firefox-3.6/XULRunner-1.9.2.</para> </listitem> <listitem> -- http://linuxfromscratch.org/mailman/listinfo/blfs-book FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
