Re: [DynInst_API:] Building Dyninst 8.2 on SGI ICE - issue


Date: Wed, 26 Mar 2014 10:48:33 -0700 (PDT)
From: Matthew LeGendre <legendre1@xxxxxxxx>
Subject: Re: [DynInst_API:] Building Dyninst 8.2 on SGI ICE - issue


On Wed, 26 Mar 2014, Jim Galarowicz wrote:
Hi Matt,

Ok. the web pages don't indicate anything about backend and frontend versions like they do for the Cray machine.

Yes, this machine was both frustrating and poorly documented. Good luck ;)

I'm guessing in order to get the frontend compilers I have to module unload the default Intel compiler module, and then do not load the gcc module. Do you remember if that is what you did?

Yes, I do recall switching compilers with the module command. I think the system was giving me the frontend compilers by default, then I could module load the backend compilers (if I recall correctly).

That gives me the 4.4.7 gnu compilers. I get the same error. I did module unload of the compiler modules.

Looks like it is finding another version of as somewhere else that /usr/bin/as

GNU assembler version 2.20.51.0.2-5.36.el6 20100205
Copyright 2009 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or later.
This program has absolutely no warranty.
This assembler was configured for a target of `x86_64-redhat-linux'.
[galarowi@spirit01 OpenSpeedShop_ROOT ]$ ldd  /usr/bin/as
	linux-vdso.so.1 =>  (0x00007ffff7fde000)
	libopcodes-2.20.51.0.2-5.36.el6.so => /usr/lib64/libopcodes-2.20.51.0.2-5.36.el6.so (0x00007ffff7cd7000)
	libbfd-2.20.51.0.2-5.36.el6.so => /usr/lib64/libbfd-2.20.51.0.2-5.36.el6.so (0x00007ffff79f0000)
	libz.so.1 => /lib64/libz.so.1 (0x00007ffff77da000)
	libc.so.6 => /lib64/libc.so.6 (0x00007ffff7447000)
	/lib64/ld-linux-x86-64.so.2 (0x00007ffff7fdf000)
[galarowi@spirit01 OpenSpeedShop_ROOT ]$


[galarowi@spirit01 OpenSpeedShop_ROOT ]$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[galarowi@spirit01 OpenSpeedShop_ROOT ]$ which gcc
/usr/bin/gcc

I think you've got the frontend compiler there. An easy test is just to use it to build/run a hello world binary. If it runs, then you've got the front end compiler.

------- BUILD OUTPUT ------------

Build dyninst? <y/n>


Build-RPM command-line argument #1 = dyninst-8.2
Build-RPM command-line argument #2 =
Build-RPM command-line argument #3 =

DEBUG: Setting machine to uname: spirit01
RPM working directory: spirit01
Environment variable KRELL_ROOT_PREFIX is set
Environment variable KRELL_ROOT_PREFIX is set to /home/galarowi/krellroot_v2.1u3
error: Macro %target_prefix has empty body
error: Macro %target_prefix has empty body
Executing(%prep): /bin/sh -e /home/galarowi/OpenSpeedShop_ROOT/INSTALL/spirit01/rpm-tmp.6mVk1i
+ umask 022
+ cd /home/galarowi/OpenSpeedShop_ROOT/BUILD/spirit01
+ LANG=C
+ export LANG
+ unset DISPLAY
+ '[' -d dyninst-8.2 ']'
+ rm -fr dyninst-8.2
+ '[' '!' -z ']'
+ '[' '!' -z ']'
+ '[' -d /home/galarowi/krellroot_v2.1u3 ']'
+ '[' -d /home/galarowi/krellroot_v2.1u3/include -a -f /home/galarowi/krellroot_v2.1u3/include/boost/shared_ptr.hpp ']'
+ '[' -d /home/galarowi/krellroot_v2.1u3 ']'
+ '[' -f /home/galarowi/krellroot_v2.1u3/boost/shared_ptr.hpp ']'
+ export DYNINST_BOOST_ROOT=
+ DYNINST_BOOST_ROOT=
+ '[' '!' -z ']'
+ '[' '!' -z ']'
+ '[' '!' -z /home/galarowi/krellroot_v2.1u3 ']'
+ '[' -f /home/galarowi/krellroot_v2.1u3/lib64/libelf.so -o -f /home/galarowi/krellroot_v2.1u3/lib64/libelf.a ']'
+ '[' '!' -z /home/galarowi/krellroot_v2.1u3 ']'
+ '[' -f /home/galarowi/krellroot_v2.1u3//libelf.so -o -f /home/galarowi/krellroot_v2.1u3//libelf.a ']'
+ '[' -d /home/galarowi/krellroot_v2.1u3 ']'
+ '[' -f /home/galarowi/krellroot_v2.1u3/lib64/libelf.so -o -f /home/galarowi/krellroot_v2.1u3/lib64/libelf.a ']'
+ export LIBELFDIR=/usr
+ LIBELFDIR=/usr
+ '[' -f /usr/include/libelf.h ']'
+ export LIBELFINC=/usr/include
+ LIBELFINC=/usr/include
+ '[' '!' -z ']'
+ '[' '!' -z /home/galarowi/krellroot_v2.1u3 ']'
+ '[' -f /home/galarowi/krellroot_v2.1u3/lib64/libdwarf.so -o -f /home/galarowi/krellroot_v2.1u3/lib64/libdwarf.a ']'
+ export LIBDWARFDIR=/home/galarowi/krellroot_v2.1u3
+ LIBDWARFDIR=/home/galarowi/krellroot_v2.1u3
+ '[' '!' -z /app/wpostool/COST/binutils-2.23 ']'
+ '[' -f /app/wpostool/COST/binutils-2.23/lib64/libiberty.a ']'
+ export LIBIBERTYLIBDIR=/app/wpostool/COST/binutils-2.23/lib64/libiberty.a
+ LIBIBERTYLIBDIR=/app/wpostool/COST/binutils-2.23/lib64/libiberty.a
+ cd /home/galarowi/OpenSpeedShop_ROOT/BUILD/spirit01
+ rm -rf dyninst-8.2
+ /usr/bin/gzip -dc /home/galarowi/OpenSpeedShop_ROOT/SOURCES/dyninst-8.2.tar.gz
+ /bin/tar -xf -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd dyninst-8.2
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ echo 'Patch (dyninst-8.2.patch):'
Patch (dyninst-8.2.patch):
+ /bin/cat /home/galarowi/OpenSpeedShop_ROOT/SOURCES/dyninst-8.2.patch
+ /usr/bin/patch -p1 --fuzz=0
(Stripping trailing CRs from patch.)
patching file CMakeLists.txt
+ pwd
/home/galarowi/OpenSpeedShop_ROOT/BUILD/spirit01/dyninst-8.2
+ export DYNINST_ROOT=/home/galarowi/OpenSpeedShop_ROOT/BUILD/spirit01/dyninst-8.2
+ DYNINST_ROOT=/home/galarowi/OpenSpeedShop_ROOT/BUILD/spirit01/dyninst-8.2
+ '[' '%{target_prefix}' == bgp ']'
+ '[' '%{target_prefix}' == bgq ']'
+ CXXFLAGS=-std=c++0x
+ cmake . -DCMAKE_INSTALL_PREFIX=/home/galarowi/OpenSpeedShop_ROOT/BUILDROOT/dyninst-8.2-1.x86_64/home/galarowi/krellroot_v2.1u3 -DINSTALL_LIB_DIR=/home/galarowi/OpenSpeedShop_ROOT/BUILDROOT/dyninst-8.2-1.x86_64/home/galarowi/krellroot_v2.1u3/lib64 -DINSTALL_INCLUDE_DIR=/home/galarowi/OpenSpeedShop_ROOT/BUILDROOT/dyninst-8.2-1.x86_64/home/galarowi/krellroot_v2.1u3/include/dyninst -DCMAKE_PREFIX_PATH=/home/galarowi/OpenSpeedShop_ROOT/BUILDROOT/dyninst-8.2-1.x86_64/home/galarowi/krellroot_v2.1u3 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DLIBDWARF_LIBRARIES=/home/galarowi/krellroot_v2.1u3/lib64 -DLIBDWARF_INCLUDE_DIR=/home/galarowi/krellroot_v2.1u3/include -DLIBELF_LIBRARIES=/usr/lib64 -DLIBELF_INCLUDE_DIR=/usr/include -DPATH_BOOST= -DIBERTY_LIBRARY=/app/wpostool/COST/binutils-2.23/lib64/libiberty.a
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- broken
CMake Error at /work1/app/gnu/platforms/x86_64/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 (message):
 The C compiler "/usr/bin/cc" is not able to compile a simple test program.

CMake isn't choosing the correct compiler here. Try explicitely setting CC=/usr/bin/gcc and CXX=/usr/bin/g++ on the CMake invocation line.

 It fails with the following output:

  Change Dir: /home/galarowi/OpenSpeedShop_ROOT/BUILD/spirit01/dyninst-8.2/CMakeFiles/CMakeTmp



 Run Build Command:/usr/bin/gmake "cmTryCompileExec780896754/fast"

 /usr/bin/gmake -f CMakeFiles/cmTryCompileExec780896754.dir/build.make
 CMakeFiles/cmTryCompileExec780896754.dir/build

 gmake[1]: Entering directory
 `/work1/home/galarowi/OpenSpeedShop_ROOT/BUILD/spirit01/dyninst-8.2/CMakeFiles/CMakeTmp'


 /work1/app/gnu/platforms/x86_64/bin/cmake -E cmake_progress_report
 /home/galarowi/OpenSpeedShop_ROOT/BUILD/spirit01/dyninst-8.2/CMakeFiles/CMakeTmp/CMakeFiles
 1

 Building C object
 CMakeFiles/cmTryCompileExec780896754.dir/testCCompiler.c.o

 /usr/bin/cc -o CMakeFiles/cmTryCompileExec780896754.dir/testCCompiler.c.o
 -c
 /home/galarowi/OpenSpeedShop_ROOT/BUILD/spirit01/dyninst-8.2/CMakeFiles/CMakeTmp/testCCompiler.c


 as: error while loading shared libraries: libimf.so: cannot open shared
 object file: No such file or directory

libimf.so is an intel compiler library, and should only be used by backend compilers. So I'll guess that /usr/bin/cc is a backend icc compiler.

-Matt

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