If you look through the full output below you'll see that a leading '/' appears to be missing for the #include search paths. GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "usr/include/c++/" ignoring nonexistent directory "usr/include/c++//aarch64-oe-linux" ignoring nonexistent directory "usr/include/c++//backward" ignoring nonexistent directory "/usr/local/include" ignoring nonexistent directory "/usr/lib/gcc/aarch64-oe-linux/4.8.2/../../../../aarch64-oe-linux/include" -------------------------------------------------------- Here's the full output from: $ g++ -v -c hello.cc Using built-in specs. COLLECT_GCC=g++ Target: aarch64-oe-linux Configured with: /scratch/java-benchmark/jenkins-setup/build/tmp-eglibc/work-shared/gcc-linaro-4.8-r2013.06/gcc-linaro-4.8-2013.06/configure --build=x86_64-linux --host=aarch64-oe-linux --target=aarch64-oe-linux --prefix=/usr --exec_prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --libexecdir=/usr/lib/gcc --datadir=/usr/share --sysconfdir=/etc --sharedstatedir=/com --localstatedir=/var --libdir=/usr/lib --includedir=/usr/include --oldincludedir=/usr/include --infodir=/usr/share/info --mandir=/usr/share/man --disable-silent-rules --disable-dependency-tracking --with-libtool-sysroot=/scratch/java-benchmark/jenkins-setup/build/tmp-eglibc/sysroots/genericarmv8 --with-gnu-ld --enable-shared --enable-languages=c,c++ --enable-threads=posix --enable-multilib --enable-c99 --enable-long-long --enable-symvers=gnu --enable-libstdcxx-pch --program-prefix=aarch64-oe-linux- --without-local-prefix --enable-target-optspace --enable-lto --enable-libssp --disable-bootstrap --disable-libmudflap --with-system-zlib --with-linker-hash-style=gnu --enable-linker-build-id --with-ppl=no --with-cloog=no --enable-checking=release --enable-cheaders=c_global --with-sysroot=/ --with-build-sysroot=/scratch/java-benchmark/jenkins-setup/build/tmp-eglibc/sysroots/genericarmv8 --with-native-system-header-dir=/scratch/java-benchmark/jenkins-setup/build/tmp-eglibc/sysroots/genericarmv8/usr/include --with-gxx-include-dir=/usr/include/c++/ --enable-dependency-tracking --enable-nls --enable-__cxa_atexit Thread model: posix gcc version 4.8.2 20130603 (prerelease) (Linaro GCC 4.8-2013.06-0~dev) COLLECT_GCC_OPTIONS='-v' '-c' '-shared-libgcc' /usr/lib/gcc/gcc/aarch64-oe-linux/4.8.2/cc1plus -quiet -v -D_GNU_SOURCE hello.cc -quiet -dumpbase hello.cc -auxbase hello -version -o /tmp/ccdaZdX4.s GNU C++ (Linaro GCC 4.8-2013.06-0~dev) version 4.8.2 20130603 (prerelease) (aarch64-oe-linux) compiled by GNU C version 4.8.2 20130603 (prerelease), GMP version 5.1.1, MPFR version 3.1.2, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 ignoring nonexistent directory "usr/include/c++/" ignoring nonexistent directory "usr/include/c++//aarch64-oe-linux" ignoring nonexistent directory "usr/include/c++//backward" ignoring nonexistent directory "/usr/local/include" ignoring nonexistent directory "/usr/lib/gcc/aarch64-oe-linux/4.8.2/../../../../aarch64-oe-linux/include" #include "..." search starts here: #include <...> search starts here: /usr/lib/gcc/aarch64-oe-linux/4.8.2/include /usr/lib/gcc/aarch64-oe-linux/4.8.2/include-fixed /usr/include End of search list. GNU C++ (Linaro GCC 4.8-2013.06-0~dev) version 4.8.2 20130603 (prerelease) (aarch64-oe-linux) compiled by GNU C version 4.8.2 20130603 (prerelease), GMP version 5.1.1, MPFR version 3.1.2, MPC version 1.0.1 GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 Compiler executable checksum: c81ff8949a041ecebe2a0ccc70e0fc52 hello.cc:1:20: fatal error: iostream: No such file or directory #include ^ compilation terminated. Note: trying to correct this leads to other errors: root@genericarmv8:~# g++ -I/usr/include/c++ -c hello.cc In file included from hello.cc:1:0: /usr/include/c++/iostream:38:28: fatal error: bits/c++config.h: No such file or directory #include ^ compilation terminated.