Fix compilation error due to the use of linux in C++11

linux is no longer defined by GCC in C++11 mode (at least with gcc 4.9
-std=c++11), __linux__ is used instead.

    $ g++ -std=c++0x -dM -E -x c++ - < /dev/null | grep linux
    #define __linux 1
    #define __linux__ 1
    #define __gnu_linux__ 1