Thursday, November 5, 2015

When is gcc not gcc?

If you're trying to use Travis to get as diverse a build matrix as possible, here's one thing to watch out for. A Travis config like:

    language: c
    compiler: gcc
    os: osx
has an interesting detail in the output:

    $ gcc --version
    Configured with: --prefix=/Applications/ --with-gxx-include-dir=/usr/include/c++/4.2.1
    Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)
    Target: x86_64-apple-darwin13.4.0
    Thread model: posix

Huh? Although we asked for gcc, we're getting something that looks like LLVM! Issue 2423 has the down-low, which is basically that by default OS X has a gcc binary that's a front-end for LLVM. That issue also has the work-around, which is to export CC=gcc-4.8.

No comments:

Post a Comment