Summary of Building Testing and Installing gcc-4.7.2

To:  gcc@gcc.gnu.org

1 Introduction

        Built gcc-4.7.2.  Sending information because other builds seen
for Mac OS X did not include Ada (Gnat).

        Report from configure etc.

bash> config.guess
i386-apple-darwin9.8.0

bash> gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc-4.7.2/usr/local/bin/../libexec/gcc/ i386-apple-darwin9.8.0/4.7.2/lto-wrapper
Target: i386-apple-darwin9.8.0
Configured with: ../src/gcc-4.7.2/configure --enable-languages=ada,c,c++
Thread model: posix
gcc version 4.7.2 (GCC)


        Running Mac OS X:

 System Version:        Mac OS X 10.5.8 (9L30)
 Kernel Version:        Darwin 9.8.0
bash> uname -mpv
Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386 i386


2 Problems Encountered

        During the build, test, and install operations, several problems
needed circumvention. These are listed (with any work-around) in the next
sections.  In some cases bugs have been logged.

2.1 Prerequisites

Problem: Latest GMP, MPFR and MPC libraries (gmp-5.1.0a, mpc-1.0.1, mpfr-3.1.1)
        led to failure in build stage 1.

Work-around: Use the versions listed in srcdir/contrib/ download_prerequisites:
        gmp-4.3.2, mpfr-2.4.2, mpc-0.8.1
        The GCC install/prerequisites page specified:
        GNU Multiple Precision Library (GMP) version 4.3.2 (or later)
        MPFR Library version 2.4.2 (or later)
        MPC Library version 0.8.1 (or later)
        even though configure recommended:
        Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+

Bug Report: Bug 57087 - make failed: libmpfr not found or uses a different ABI


2.2 Failure in build stages 2 and 3 concerning pseudo-op: .balign

Problem: Failed in stages 2 and 3 for libcpp, "Unknown pseudo- op: .balign".

Work-around: After the failure in stage 2, modify objdir/libcpp/ config.h to
        change HAVE_SSE4 to undef.  "#undef HAVE_SSE4"
        Similarly, after the same failure in stage 3 make the same change (the
        previously changed file is now in objdir/prev-libcpp/)

Bug Report: Bug 57291 - Failure in build stages 2 and 3 concerning
        pseudo-op: .balign


2.3 Failures during "Build runtime libraries using the stage3 compiler from the
    previous step."

Problem: Failed with errors for libitm.la:
        "file is not of required architecture" and
        "pointer in read-only segment not allowed"

Work-around: None.  However, a reply from gcc-help indicated:
        "It sounds like everything is working but libitm."

Bug Report: Bug 57292 - Failure in build after stage 3, concerning libitm.la


2.4 Failures during testing

Problem: Testing of libitm failed, but this was expected.
                === libitm Summary ===

# of expected passes            1
# of unexpected failures        14
# of unresolved testcases       14
# of unsupported tests          1

        Also testing of Ada (gnat) failed, with messages in the parts of the
        logs concerning acats, including:

i686-apple-darwin9-gcc-4.0.1: language ada not recognized
**** Failed to compile macrosub
Generating support files...fatal error, run-time library not installed correctly
cannot locate file system.ads
gnatmake: *** make failed.
**** Failed to compile macrosub

Work-around: Ensure that the existing Ada compiler (used during the stage 1
        build) remains available during testing of stage 3.
        The "Installing GCC" information indicates the need for Prerequisites:
        "In order to build the Ada compiler (GNAT) you must already have GNAT
        installed because portions of the Ada frontend are written in Ada".
        However, there is nothing to say that an existing Ada compiler is also
        needed for testing.
        Consequently, although /usr/local/ada-4.3/bin/ was made available in
        the PATH used at build time, it was not added for testing.  It was
        assumed that testing the as yet uninstalled compilation system would be
        self-contained.

Bug Report: Bug 57606 - Failure in testing stage 3 of gcc-4.7.2


2.5 Failures during make install

Problem: Failed with errors for libitm.la, equivalent to the failures during
        build runtime libraries.
        In addition, the std output plus std error that was directed to a log
        file contained 124 messages like.
ranlib: file: /usr/local/gcc-4.7.2/gcc/i386-apple-darwin9.8.0/4.7.2/ adalib/libgnarl.a(g-tastus.o) has no symbols

Work-around: None for libitm.
        There were also "has no symbols" messages in the logs from make during
        building.  It is assumed that these can be ignored, but there has been
        no confirmation that this is correct from the gcc-h...@gcc.gnu.org
        mailing list.

Bug Report: Bug 57292 - comment added concerning libitm


2.6 Problems with documentation

Problem: "make html’ was used to generate HTML for the gcc manuals, but the
        generated HTML has broken links - no pages for gnat_rm have been made.

Work-around: None.

Bug Report: Bug 57659 - Failure in installing documentation of gcc-4.7.2


3 Conclusion

        The information above might be of use to others building on a similar
Mac platform.

ENT/18-Jul-2013

Reply via email to