Hi icc developers and users!
I use a cluster with different versions of Intel Compiler installed. The latest one is 14.0.1. I also have to use custom installation of gcc 4.7.2 (by pointing PATH variable to its installation path) because of old system version.
I use Cmake to build my program, and when I use my customly installed gcc 4.7.2 it builds it fine, without any errors. But when I use ICC it causes such a linking error:
function_opts_descr.cpp:(.text+0x257): undefined reference to `__builtin_signbit' function_opts_descr.cpp:(.text+0x2a8): undefined reference to `__builtin_signbit'
function_opts_descr.cpp is a file in which boost/program_options.hpp is included. Unfortunatelly, I cannot narrow the code to minimal one.
I tried to build the code with different versions of boost (from 1.44 to 1.55), built with icc and gcc 4.7.2 - the results is the same. std=c++11 is used during compilation.
And I am not sure that the reason of such behaviour is the Boost, but I have come across several posts about problems with icc and boost and a lot of them are about bugs in icc... Unfortunatelly, I have to use icc because of compilation for Xeon Phi.
Maybe anybody knows a way of solving this problem?
Tim, thanks for your reply!
Unfortunatelly, I don't have an updated version of icc since it is a big cluster. Maybe your could advise me a way of solving this problem without using an updated version? If it exists, of course. It seems that less recent versions of boost cause different errors, so it is possibly not an option.
On my phone, my expertise on quoting URL is minimal. Did you try a search engine string such as builtin_signbit site: software.Intel.com? With c++ particularly, relying on compilers which have gone off support over a year ago isn't good strategy.
This was a bug that was fixed in the 14 Update 3 ( 188.8.131.52 Build 20140422) with what I see in the issue database. There was no workaround for this issue other than downloading the update 3 release from the Intel registration center. Since then many bugs have been fixed and the latest version is 16.0 update 2 that's out. It's advisable to therefore upgrade to the latest version of ICC if possible.