Re: [DynInst_API:] Question about building Dyninst-9.1 release with Intel compilers


Date: Wed, 13 Jan 2016 12:03:54 -0800
From: Josh Stone <jistone@xxxxxxxxxx>
Subject: Re: [DynInst_API:] Question about building Dyninst-9.1 release with Intel compilers
On 01/13/2016 11:55 AM, Jim Galarowicz wrote:
> 
> On 01/13/2016 09:49 AM, Josh Stone wrote:
>> On 01/13/2016 08:40 AM, Jim Galarowicz wrote:
>>> [ 10%] Building CXX object common/CMakeFiles/common.dir/src/linuxKludges.C.o
>>> /nobackupnfs2/jgalarow/OpenSpeedShop_ROOT/BUILD/maia112/dyninst-9.1.0/common/src/linuxKludges.C(1032):
>>> error: no instance of constructor "std::basic_ifstream<_CharT,
>>> _Traits>::basic_ifstream [with _CharT=char,
>>> _Traits=std::char_traits<char>]" matches the argument list
>>>              argument types are: (std::basic_string<char,
>>> std::char_traits<char>, std::allocator<char>>)
>>>       std::ifstream maps_file(maps_filename.str());
>>>                               ^
>> The ifstream(string) constructor is a C++11 addition.
>> Is icc still using gcc's libstdc++?
>> _______________________________________________
>> Dyninst-api mailing list
>> Dyninst-api@xxxxxxxxxxx
>> https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api
> 
> Hi Josh, Bill,
> 
> I added -std=c++11 to the compiler export:
>         export cc="icc -std=c++11"
>         export CXX="icpc -std=c++11"
>         export CC="icc -std=c++11"
> and it seems the Intel compilers have the c++11 support, or at least 
> Dyninst says they do (see below).
> But we get the same compile error.

CMake is testing compiler features, but the error you're getting is in
the library.  So if icc is still using the old gcc's libstdc++, and it
probably is, then things like C++11 ifstream(string) still won't work.

[← Prev in Thread] Current Thread [Next in Thread→]