Next: , Previous: Version numbers, Up: Troubleshooting


10.3 Verbose compilation

The -v option can also be used to display detailed information about the exact sequence of commands used to compile and link a program. Here is an example which shows the verbose compilation of the Hello World program:

     $ gcc -v -Wall hello.c
     Reading specs from /usr/lib/gcc-lib/i686/3.3.1/specs
     Configured with: ../configure --prefix=/usr
     Thread model: posix
     gcc version 3.3.1
      /usr/lib/gcc-lib/i686/3.3.1/cc1 -quiet -v -D__GNUC__=3
      -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=1
      hello.c -quiet -dumpbase hello.c -auxbase hello -Wall
      -version -o /tmp/cceCee26.s
     GNU C version 3.3.1 (i686-pc-linux-gnu)
      compiled by GNU C version 3.3.1 (i686-pc-linux-gnu)
     GGC heuristics: --param ggc-min-expand=51
      --param ggc-min-heapsize=40036
     ignoring nonexistent directory "/usr/i686/include"
     #include "..." search starts here:
     #include <...> search starts here:
      /usr/local/include
      /usr/include
      /usr/lib/gcc-lib/i686/3.3.1/include
      /usr/include
     End of search list.
      as -V -Qy -o /tmp/ccQynbTm.o /tmp/cceCee26.s
     GNU assembler version 2.12.90.0.1 (i386-linux)
     using BFD version 2.12.90.0.1 20020307 Debian/GNU
     Linux
     /usr/lib/gcc-lib/i686/3.3.1/collect2
      --eh-frame-hdr -m elf_i386 -dynamic-linker
      /lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o
      /usr/lib/gcc-lib/i686/3.3.1/crtbegin.o
      -L/usr/lib/gcc-lib/i686/3.3.1
      -L/usr/lib/gcc-lib/i686/3.3.1/../../.. /tmp/ccQynbTm.o
      -lgcc -lgcc_eh -lc -lgcc -lgcc_eh
      /usr/lib/gcc-lib/i686/3.3.1/crtend.o
      /usr/lib/crtn.o

The output produced by -v can be useful whenever there is a problem with the compilation process itself. It displays the full directory paths used to search for header files and libraries, the predefined preprocessor symbols, and the object files and libraries used for linking.