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

icc/icpc 14.0.1 + boost 1.5x program_options causes undefined reference to `__builtin_signbit'

Alex_P_2
Beginner
398 Views

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? 

Thank you!

 

0 Kudos
1 Solution
TimP
Honored Contributor III
398 Views

According to the earlier thread on the same question, it was fixed in 14.0.3, and work-around was offered for your version.

View solution in original post

0 Kudos
4 Replies
TimP
Honored Contributor III
399 Views

According to the earlier thread on the same question, it was fixed in 14.0.3, and work-around was offered for your version.

0 Kudos
Alex_P_2
Beginner
398 Views

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. 

Thank you!

0 Kudos
TimP
Honored Contributor III
398 Views

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.

0 Kudos
KitturGanesh
Employee
398 Views

Hi Alex,
This was a bug that was fixed in the 14 Update 3 ( 14.0.3.174 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.

Kittur

0 Kudos
Reply