Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

What is "gcc compatibility mode" and how to disable it?

Andreas_D_1
Beginner
1,236 Views

Hello,

I am - so far - quite unsuccessful in using icpc 2016 while making boost 1.59.0. I did manage to compile a helloworld program BTW.

I am using Linux Mint 17.3

My question is: icpc shows

 ~ $ icpc -v
icpc version 16.0.0 (gcc version 3.2.0 compatibility)

What does the "compatibility mode" mean? It seems that when building bjam in order to install boost 1.59.0 I get errors because "gcc is too old" as they say over in the boost mailinglist. As a matter of fact, my gcc / g++ are version 4.8.4!

I didn't find anything useful when googling..

What's wrong? Thanks a lot in advance for any hint!

Andreas

0 Kudos
4 Replies
Judith_W_Intel
Employee
1,236 Views

 

The icc driver goes a "gcc -v" and from there tries to figure out the version number of GCC.

If it can't figure it out based upon the expected version string then it defaults to the earliest version supported (in this case gcc 3.2.0).

You can override that with the -i_gcc-version=versionnumber command line option where versionnumber would be 484 in your case.

Judy

 

0 Kudos
TimP
Honored Contributor III
1,236 Views

According to the reply Judith gave, it looks like you have a problem with the path settings for your installed gcc in the shell where you run icc.  I thought it would be g++ -v, but if that doesn't agree with gcc -v, that also is a problem.

0 Kudos
Judith_W_Intel
Employee
1,236 Views

 

I'm guessing he's using an unsupported version of GNU and the version string when you type in gcc -v is different than the one you see on Red Hat, Fedora, etc. and therefore our driver is trying to parse it but can't figure it out.

What does gcc -v say on a Linux Mint machine? On a Red Hat machine it says:

sptxl15-145> gcc -v
Using built-in specs.
Target: i686-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch=i686 --build=i686-redhat-linux
Thread model: posix
gcc version 4.4.4 20100726 (Red Hat 4.4.4-13) (GCC)
sptxl15-146>

 

0 Kudos
Andreas_D_1
Beginner
1,236 Views

Thanks for answering!

I am sorting this out with Patrick in a parallel thread ("Linux Mint: Unsupported?") but here we go

# g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04) 

# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.8/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 4.8.4-2ubuntu1~14.04' --with-bugurl=file:///usr/share/doc/gcc-4.8/README.Bugs --enable-languages=c,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.8 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.8 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --disable-libmudflap --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-4.8-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-4.8-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04) 

The compilervars.sh script complained about some "daalvars" - maybe we continue over there?

I guess Judy has answered my initial question here, - many thanks!

Andreas

 

0 Kudos
Reply