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