Re: [DynInst_API:] Dyninst building with Intel compilers?


Date: Tue, 24 Nov 2015 11:13:19 -0600
From: Bill Williams <bill@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] Dyninst building with Intel compilers?
On 11/23/2015 07:01 PM, Jim Galarowicz wrote:
Hi Bill, Dyninst team,

I forgot to include how I'm calling cmake. Maybe this isn't the best way to do it?

       export cc=icc
       export CXX=icpc
       export CC=icc

cmake . -DCMAKE_INSTALL_PREFIX=$RPM_BUILD_ROOT/$KRELL_ROOT_PREFIX -DINSTALL_LIB_DIR=$RPM_BUILD_ROOT/$KRELL_ROOT_PREFIX/$LIBDIR -DINSTALL_INCLUDE_DIR=$RPM_BUILD_ROOT/$KRELL_ROOT_PREFIX/include/dyninst -DCMAKE_PREFIX_PATH=$RPM_BUILD_ROOT/$KRELL_ROOT_PREFIX -DCMAKE_BUILD_TYPE=None -DCMAKE_CXX_FLAGS="-mmic -g -O2 " -DCMAKE_C_FLAGS="-mmic -g -O2" -DLIBDWARF_LIBRARIES=$LIBDWARF_LIBNAME -DLIBDWARF_INCLUDE_DIR=$LIBDWARFINC -DLIBELF_LIBRARIES=$LIBELF_LIBNAME -DLIBELF_INCLUDE_DIR=$LIBELFINC -DPATH_BOOST=$DYNINST_BOOST_ROOT -DIBERTY_LIBRARIES=$LIBIBERTY_LIBNAME -DIBERTY_LIBRARY=$LIBIBERTY_LIBNAME

I know that Dyninst 9 builds with icc, thanks to Rashawn Knapp, and if memory serves it shares flags with gcc for the most part. I don't think that overriding the build type and C/CXX flags should break anything but you can always try adding -mmic (if it's even needed for Dyninst; it may only be needed for the runtime library or not at all) to the optimization.cmake defines and using a "normal" build type. The other option is forcing the correct C++11 flag; the checks there could spuriously pass if both C++0x and C++11 flags are accepted without error, but only one of them actually enables the C++11 features.

The cmake logs should show which C++11 flag it's trying and what the result of compiling the "auto" test file is; that would be informative.

Thanks,
Jim G


On 11/23/2015 04:13 PM, Jim Galarowicz wrote:
Hi Bill, Dyninst team,

Does Dyninst build with Intel compilers? I'm trying to build on an Intel MIC platform but I can't get by the C++11 support checks.

Thanks for any advice.   This is the top of tree source code.

Thanks,
Jim G


~/babbage/OpenSpeedShop_ROOT/BUILD/bint01 ~/babbage/OpenSpeedShop_ROOT
~/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-9.0.3 ~/babbage/OpenSpeedShop_ROOT/BUILD/bint01 ~/babbage/OpenSpeedShop_ROOT checking for /global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/SOURCES/dyninst-9.0.3.patch
-- The C compiler identification is Intel 16.0.0.20150815
-- The CXX compiler identification is Intel 16.0.0.20150815
-- Check for working C compiler: /opt/intel/compilers_and_libraries_2016/linux/bin/intel64/icc -- Check for working C compiler: /opt/intel/compilers_and_libraries_2016/linux/bin/intel64/icc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /opt/intel/compilers_and_libraries_2016/linux/bin/intel64/icpc -- Check for working CXX compiler: /opt/intel/compilers_and_libraries_2016/linux/bin/intel64/icpc -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- -- Input platform:
-- -- Attempting to automatically identify platform: x86_64-unknown-linux2.4 -- Found LibElf: /global/u2/j/jgalaro/babbage/krellroot_stable/compute/lib64/libelf.so
-- Could NOT find LibDwarf (missing:  LIBDWARF_INCLUDE_DIR)
-- No libdwarf found, attempting to build as external project
CMake Warning (dev) at cmake/shared.cmake:23 (target_link_libraries):
Policy CMP0039 is not set: Utility targets may not have link dependencies. Run "cmake --help-policy CMP0039" for policy details. Use the cmake_policy
  command to set the policy and suppress this warning.

  Utility target "LibDwarf" should not be used as the target of a
  target_link_libraries call.
Call Stack (most recent call first):
  cmake/packages.cmake:45 (target_link_private_libraries)
  cmake/shared.cmake:82 (include)
  CMakeLists.txt:17 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found libiberty: /global/u2/j/jgalaro/babbage/krellroot_stable/compute/lib64/libiberty_pic.a -- Using libiberty /global/u2/j/jgalaro/babbage/krellroot_stable/compute/lib64/libiberty_pic.a
-- Found Thread_Db: /usr/lib64/libthread_db.so
-- Disabling Boost's own CMake--known buggy in many cases
-- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:513 ] _boost_TEST_VERSIONS = 1.47;1.47.0;1.48;1.48.0;1.49;1.49.0;1.50;1.50.0;1.51;1.51.0;1.52;1.52.0;1.53;1.53.0;1.54;1.54.0;1.55;1.55.0;1.56;1.56.0;1.57;1.57.0;1.58;1.58.0;1.59;1.59.0;1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48;1.47.0;1.47;1.46.1;1.46.0;1.46;1.45.0;1.45;1.44.0;1.44;1.43.0;1.43;1.42.0;1.42;1.41.0;1.41;1.40.0;1.40;1.39.0;1.39;1.38.0;1.38;1.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.0;1.33 -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:515 ] Boost_USE_MULTITHREADED = ON -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:517 ] Boost_USE_STATIC_LIBS = -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:519 ] Boost_USE_STATIC_RUNTIME = OFF -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:521 ] Boost_ADDITIONAL_VERSIONS = 1.47;1.47.0;1.48;1.48.0;1.49;1.49.0;1.50;1.50.0;1.51;1.51.0;1.52;1.52.0;1.53;1.53.0;1.54;1.54.0;1.55;1.55.0;1.56;1.56.0;1.57;1.57.0;1.58;1.58.0;1.59;1.59.0 -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:523 ] Boost_NO_SYSTEM_PATHS = ON -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:575 ] Declared as CMake or Environmental Variables: -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:577 ] BOOST_ROOT = -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:579 ] BOOST_INCLUDEDIR = -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:581 ] BOOST_LIBRARYDIR = -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:583 ] _boost_TEST_VERSIONS = 1.47;1.47.0;1.48;1.48.0;1.49;1.49.0;1.50;1.50.0;1.51;1.51.0;1.52;1.52.0;1.53;1.53.0;1.54;1.54.0;1.55;1.55.0;1.56;1.56.0;1.57;1.57.0;1.58;1.58.0;1.59;1.59.0;1.56.0;1.56;1.55.0;1.55;1.54.0;1.54;1.53.0;1.53;1.52.0;1.52;1.51.0;1.51;1.50.0;1.50;1.49.0;1.49;1.48.0;1.48;1.47.0;1.47;1.46.1;1.46.0;1.46;1.45.0;1.45;1.44.0;1.44;1.43.0;1.43;1.42.0;1.42;1.41.0;1.41;1.40.0;1.40;1.39.0;1.39;1.38.0;1.38;1.37.0;1.37;1.36.1;1.36.0;1.36;1.35.1;1.35.0;1.35;1.34.1;1.34.0;1.34;1.33.1;1.33.0;1.33 -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:652 ] Include debugging info: -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:654 ] _boost_INCLUDE_SEARCH_DIRS = /usr/include/include;/usr/include;NO_CMAKE_SYSTEM_PATH -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:656 ] _boost_PATH_SUFFIXES = boost-1_47;boost_1_47;boost/boost-1_47;boost/boost_1_47;boost-1_47_0;boost_1_47_0;boost/boost-1_47_0;boost/boost_1_47_0;boost-1_48;boost_1_48;boost/boost-1_48;boost/boost_1_48;boost-1_48_0;boost_1_48_0;boost/boost-1_48_0;boost/boost_1_48_0;boost-1_49;boost_1_49;boost/boost-1_49;boost/boost_1_49;boost-1_49_0;boost_1_49_0;boost/boost-1_49_0;boost/boost_1_49_0;boost-1_50;boost_1_50;boost/boost-1_50;boost/boost_1_50;boost-1_50_0;boost_1_50_0;boost/boost-1_50_0;boost/boost_1_50_0;boost-1_51;boost_1_51;boost/boost-1_51;boost/boost_1_51;boost-1_51_0;boost_1_51_0;boost/boost-1_51_0;boost/boost_1_51_0;boost-1_52;boost_1_52;boost/boost-1_52;boost/boost_1_52;boost-1_52_0;boost_1_52_0;boost/boost-1_52_0;boost/boost_1_52_0;boost-1_53;boost_1_53;boost/boost-1_53;boost/boost_1_53;boost-1_53_0;boost_1_53_0;boost/boost-1_53_0;boost/boost_1_53_0;boost-1_54;boost_1_54;boost/boost-1_54;boost/boost_1_54;boost-1_54_0;boost_1_54_0;boost/boost-1_54_0;boost/boost_1_54_0;boost-1_55;boost_1_55;boost!
/boost-1_55;boost/boost_1_55;boost-1_55_0;boost_1_55_0;boost/boost-1_55_0;boost/boost_1_55_0;boost-1_56;boost_1_56;boost/boost-1_56;boost/boost_1_56;boost-1_56_0;boost_1_56_0;boost/boost-1_56_0;boost/boost_1_56_0;boost-1_57;boost_1_57;boost/boost-1_57;boost/boost_1_57;boost-1_57_0;boost_1_57_0;boost/boost-1_57_0;boost/boost_1_57_0;boost-1_58;boost_1_58;boost/boost-1_58;boost/boost_1_58;boost-1_58_0;boost_1_58_0;boost/boost-1_58_0;boost/boost_1_58_0;boost-1_59;boost_1_59;boost/boost-1_59;boost/boost_1_59;boost-1_59_0;boost_1_59_0;boost/boost-1_59_0;boost/boost_1_59_0;boost-1_56_0;boost_1_56_0;boost/boost-1_56_0;boost/boost_1_56_0;boost-1_56;boost_1_56;boost/boost-1_56;boost/boost_1_56;boost-1_55_0;boost_1_55_0;boost/boost-1_55_0;boost/boost_1_55_0;boost-1_55;boost_1_55;boost/boost-1_55;boost/boost_1_55;boost-1_54_0;boost_1_54_0;boost/boost-1_54_0;boost/boost_1_54_0;boost-1_54;boost_1_54;boost/boost-1_54;boost/boost_1_54;boost-1_53_0;boost_1_53_0;boost/boost-1_53_0;boost/boos! t_1_53_0;boost-1_53;boost_1_53;boost/boost-1_53;boost/boost_1_53;boost-1_52_0;boost_1_52_0;boost/boost-1_52_0;boost/boost_1_52_0;boost-1_52;boost_1_52;boost/boost-1_52;boost/boost_1_52;boost-1_51_0;boost_1_51_0;boost/boost-1_51_0;boost/boost_1_51_0;boost-1_51;boost_1_51;boost/boost-1_51;boost/boost_1_51;boost-1_50_0;boost_1_50_0;boost/boost-1_50_0;boost/boost_1_50_0;boost-1_50;boost_1_50;boost/boost-1_50;boost/boost_1_50;boost-1_49_0;boost_1_49_0;boost/boost-1_49_0;boost/boost_1_49_0;boost-1_49;boost_1_49;boost/boost-1_49;boost/boost_1_49;boost-1_48_0;boost_1_48_0;boost/boost-1_48_0;boost/boost_1_48_0;boost-1_48;boost_1_48;boost/boost-1_48;boost/boost_1_48;boost-1_47_0;boost_1_47_0;boost/boost-1_47_0;boost/boost_1_47_0;boost-1_47;boost_1_47;boost/boost-1_47;boost/boost_1_47;boost-1_46_1;boost_1_46_1;boost/boost-1_46_1;boost/boost_1_46_1;boost-1_46_0;boost_1_46_0;boost/boost-1_46_0;boost/boost_1_46_0;boost-1_46;boost_1_46;boost/boost-1_46;boost/boost_1_46;boost-1_45_0;boost_1_45_0;
boost/boost-1_45_0;boost/boost_1_45_0;boost-1_45;boost_1_45;boos!
t/boost-1_45;boost/boost_1_45;boost-1_44_0;boost_1_44_0;boost/boost-1_44_0;boost/boost_1_44_0;boost-1_44;boost_1_44;boost/boost-1_44;boost/boost_1_44;boost-1_43_0;boost_1_43_0;boost/boost-1_43_0;boost/boost_1_43_0;boost-1_43;boost_1_43;boost/boost-1_43;boost/boost_1_43;boost-1_42_0;boost_1_42_0;boost/boost-1_42_0;boost/boost_1_42_0;boost-1_42;boost_1_42;boost/boost-1_42;boost/boost_1_42;boost-1_41_0;boost_1_41_0;boost/boost-1_41_0;boost/boost_1_41_0;boost-1_41;boost_1_41;boost/boost-1_41;boost/boost_1_41;boost-1_40_0;boost_1_40_0;boost/boost-1_40_0;boost/boost_1_40_0;boost-1_40;boost_1_40;boost/boost-1_40;boost/boost_1_40;boost-1_39_0;boost_1_39_0;boost/boost-1_39_0;boost/boost_1_39_0;boost-1_39;boost_1_39;boost/boost-1_39;boost/boost_1_39;boost-1_38_0;boost_1_38_0;boost/boost-1_38_0;boost/boost_1_38_0;boost-1_38;boost_1_38;boost/boost-1_38;boost/boost_1_38;boost-1_37_0;boost_1_37_0;boost/boost-1_37_0;boost/boost_1_37_0;boost-1_37;boost_1_37;boost/boost-1_37;boost/boost_1_3! 7;boost-1_36_1;boost_1_36_1;boost/boost-1_36_1;boost/boost_1_36_1;boost-1_36_0;boost_1_36_0;boost/boost-1_36_0;boost/boost_1_36_0;boost-1_36;boost_1_36;boost/boost-1_36;boost/boost_1_36;boost-1_35_1;boost_1_35_1;boost/boost-1_35_1;boost/boost_1_35_1;boost-1_35_0;boost_1_35_0;boost/boost-1_35_0;boost/boost_1_35_0;boost-1_35;boost_1_35;boost/boost-1_35;boost/boost_1_35;boost-1_34_1;boost_1_34_1;boost/boost-1_34_1;boost/boost_1_34_1;boost-1_34_0;boost_1_34_0;boost/boost-1_34_0;boost/boost_1_34_0;boost-1_34;boost_1_34;boost/boost-1_34;boost/boost_1_34;boost-1_33_1;boost_1_33_1;boost/boost-1_33_1;boost/boost_1_33_1;boost-1_33_0;boost_1_33_0;boost/boost-1_33_0;boost/boost_1_33_0;boost-1_33;boost_1_33;boost/boost-1_33;boost/boost_1_33
-- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:676 ] location of version.hpp: /usr/include/boost/version.hpp -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:700 ] version.hpp reveals boost 1.41.0 -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:785 ] guessed _boost_COMPILER = -il -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:795 ] _boost_MULTITHREADED = -mt -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:838 ] _boost_RELEASE_ABI_TAG = - -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:840 ] _boost_DEBUG_ABI_TAG = -d -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:888 ] _boost_LIBRARY_SEARCH_DIRS = /usr/include/lib;/usr/include/stage/lib;/usr/include/lib;/usr/include/../lib;/usr/include/stage/lib;NO_CMAKE_SYSTEM_PATH -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:998 ] Searching for THREAD_LIBRARY_RELEASE: boost_thread-il-mt-1_41;boost_thread-il-mt;boost_thread-mt-1_41;boost_thread-mt;boost_thread -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:1034 ] Searching for THREAD_LIBRARY_DEBUG: boost_thread-il-mt-d-1_41;boost_thread-il-mt-d;boost_thread-mt-d-1_41;boost_thread-mt-d;boost_thread-mt;boost_thread -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:998 ] Searching for SYSTEM_LIBRARY_RELEASE: boost_system-il-mt-1_41;boost_system-il-mt;boost_system-mt-1_41;boost_system-mt;boost_system -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:1034 ] Searching for SYSTEM_LIBRARY_DEBUG: boost_system-il-mt-d-1_41;boost_system-il-mt-d;boost_system-mt-d-1_41;boost_system-mt-d;boost_system-mt;boost_system -- [ /chos/global/common/babbage/usg/cmake/3.0.1/share/cmake-3.0/Modules/FindBoost.cmake:1085 ] Boost_FOUND = 1
-- Boost version: 1.41.0
-- Found the following Boost libraries:
--   thread
--   system
-- Boost includes: /usr/include
-- Boost library dirs: /usr/lib64
-- Boost thread library: /usr/lib64/libboost_thread-mt.so
-- Boost libraries: /usr/lib64/libboost_thread-mt.so;/usr/lib64/libboost_system-mt.so
-- Performing Test _HAS_CXX11_FLAG
-- Performing Test _HAS_CXX11_FLAG - Success
-- Checking C++11 support for "__func__"
-- Checking C++11 support for "__func__": not supported
-- Checking C++11 support for "auto"
-- Checking C++11 support for "auto": not supported
-- Checking C++11 support for "auto_ret_type"
-- Checking C++11 support for "auto_ret_type": not supported
-- Checking C++11 support for "class_override_final"
-- Checking C++11 support for "class_override_final": not supported
-- Checking C++11 support for "constexpr"
-- Checking C++11 support for "constexpr": not supported
-- Checking C++11 support for "cstdint"
-- Checking C++11 support for "cstdint": not supported
-- Checking C++11 support for "decltype"
-- Checking C++11 support for "decltype": not supported
-- Checking C++11 support for "initializer_list"
-- Checking C++11 support for "initializer_list": not supported
-- Checking C++11 support for "lambda"
-- Checking C++11 support for "lambda": not supported
-- Checking C++11 support for "long_long"
-- Checking C++11 support for "long_long": not supported
-- Checking C++11 support for "nullptr"
-- Checking C++11 support for "nullptr": not supported
-- Checking C++11 support for "regex"
-- Checking C++11 support for "regex": not supported
-- Checking C++11 support for "rvalue-references"
-- Checking C++11 support for "rvalue-references": not supported
-- Checking C++11 support for "sizeof_member"
-- Checking C++11 support for "sizeof_member": not supported
-- Checking C++11 support for "static_assert"
-- Checking C++11 support for "static_assert": not supported
-- Checking C++11 support for "variadic_templates"
-- Checking C++11 support for "variadic_templates": not supported
CMake Error at cmake/packages.cmake:148 (message):
No support for C++11 auto found. Dyninst requires this compiler feature.
Call Stack (most recent call first):
  cmake/shared.cmake:82 (include)
  CMakeLists.txt:17 (include)


-- Configuring incomplete, errors occurred!
See also "/global/homes/j/jgalaro/babbage/OpenSpeedShop_ROOT/BUILD/bint01/dyninst-9.0.3/CMakeFiles/CMakeOutput.log".
make: *** No targets specified and no makefile found.  Stop.
make: *** No rule to make target `install'.  Stop.
~/babbage/OpenSpeedShop_ROOT/BUILD/bint01 ~/babbage/OpenSpeedShop_ROOT





_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api



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