Hi! I just realized that there is something about building GCC that I do not understand: what the differences are among some of the executables the installation script puts into the final install directory. I am working on an Ubuntu (Gnu/Linux 2.6.32-41-server) system. In order to save build time, I configured my GCC build to support only C, C++, and Fortran. My install directory's "bin" subdirectory now has the following executable files: c++ cpp g++ gcov gfortran x86_64-unknown-linux-gnu-c++ x86_64-unknown-linux-gnu-g++ x86_64-unknown-linux-gnu-gcc x86_64-unknown-linux-gnu-gcc-4.6.2 x86_64-unknown-linux-gnu-gfortran None of these files is a symbolic link. I do understand the difference between gcc (the C and general-purpose front end), cpp (the C preprocessor), and g++ (the C++ front end, which automatically links to the C++ Standard Library). But-- 1. What is "c++"? How is it different from "g++"? 2. Also, how are the simply-named executables (c++, g++, gcc, gfortran) different from the ones whose names are prefixed with the system name "x86_64-unknown-linux-gnu"? 3. Finally, how does "x86_64-unknown-linux-gnu-gcc" differ from "x86_64-unknown-linux-gnu-gcc-4.6.2"? Thus far, I have always been calling the plain "gcc," "g++," and "gfortran" to run test programs in C, C++, and Fortran, respectively, without any problems, AFAIK. Thanks! Amittai Amittai Aviram PhD Student in Computer Science Yale University 646 483 2639 amittai.aviram@xxxxxxxx http://www.amittai.com