Re: [DynInst_API:] Dyninst compile errors with top of tree on Power 8


Date: Tue, 05 Sep 2017 16:25:46 +0000
From: Bill Williams <bill@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] Dyninst compile errors with top of tree on Power 8
The latest master now uses libdw over libdwarf; I see an official announcement of this didn't go out with the merge. Same set of CMake flags, just point to libdw and ditch libdwarf.

--bw

________________________________________
From: Dyninst-api <dyninst-api-bounces@xxxxxxxxxxx> on behalf of Jim Galarowicz <jeg@xxxxxxxxxxxxx>
Sent: Tuesday, September 5, 2017 11:20 AM
To: dyninst-api@xxxxxxxxxxx
Subject: [DynInst_API:] Dyninst compile errors with top of tree on Power 8

Hi all,

I downloaded the latest dyninst git tree sources this weekend and tried
to build on a power 8 cluster.
I'm using libdwarf 20170416 and elfutils-0.168, but I'm getting these
compile errors with
gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC).

Are there any new libdwarf or elfutils version requirements?

Thanks,
Jim G


/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:426:6:
warning: unused parameter ‘high’ [-Wunused-parameter]
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:426:6:
warning: unused parameter ‘err_result’ [-Wunused-parameter]
[ 13%] Building CXX object dwarf/CMakeFiles/dynDwarf.dir/src/dwarfHandle.C.o
Linking CXX shared library libdynDwarf.so
CMakeFiles/dynDwarf.dir/src/dwarfFrameParser.C.o: In function
`Dyninst::DwarfDyninst::DwarfFrameParser::getRegAtFrame_aux(unsigned
long, Dwarf_Frame_s*, unsigned short, Dyninst::MachRegister,
Dyninst::DwarfDyninst::DwarfResult&, unsigned long&,
Dyninst::DwarfDyninst::FrameErrors_t&)':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:308:
undefined reference to `dwarf_frame_register'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:320:
undefined reference to `dwarf_frame_info'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:312:
undefined reference to `dwarf_frame_cfa'
CMakeFiles/dynDwarf.dir/src/dwarfFrameParser.C.o: In function
`Dyninst::DwarfDyninst::DwarfFrameParser::getDwarfReg(Dyninst::MachRegister,
Dwarf_Frame_s*, unsigned short&, Dyninst::DwarfDyninst::FrameErrors_t&)':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:487:
undefined reference to `dwarf_frame_info'
CMakeFiles/dynDwarf.dir/src/dwarfFrameParser.C.o: In function
`Dyninst::DwarfDyninst::DwarfFrameParser::setupFdeData()':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:402:
undefined reference to `dwarf_getcfi'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:409:
undefined reference to `dwarf_getelf'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:410:
undefined reference to `dwarf_getcfi_elf'
CMakeFiles/dynDwarf.dir/src/dwarfFrameParser.C.o: In function
`Dyninst::DwarfDyninst::DwarfFrameParser::getRegAtFrame(unsigned long,
Dyninst::MachRegister, Dyninst::DwarfDyninst::DwarfResult&,
Dyninst::DwarfDyninst::FrameErrors_t&)':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:234:
undefined reference to `dwarf_cfi_addrframe'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:237:
undefined reference to `dwarf_frame_info'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:241:
undefined reference to `dwarf_frame_cfa'
CMakeFiles/dynDwarf.dir/src/dwarfFrameParser.C.o: In function
`Dyninst::DwarfDyninst::DwarfFrameParser::getRegsForFunction(std::pair<unsigned
long, unsigned long>, Dyninst::MachRegister,
std::vector<Dyninst::VariableLocation,
std::allocator<Dyninst::VariableLocation> >&,
Dyninst::DwarfDyninst::FrameErrors_t&)':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:182:
undefined reference to `dwarf_cfi_addrframe'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:186:
undefined reference to `dwarf_frame_info'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:190:
undefined reference to `dwarf_frame_cfa'
CMakeFiles/dynDwarf.dir/src/dwarfHandle.C.o: In function
`Dyninst::DwarfDyninst::DwarfHandle::init_dbg()':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfHandle.C:106:
undefined reference to `dwarf_begin_elf'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfHandle.C:115:
undefined reference to `dwarf_begin_elf'
CMakeFiles/dynDwarf.dir/src/dwarfHandle.C.o: In function
`Dyninst::DwarfDyninst::DwarfHandle::~DwarfHandle()':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfHandle.C:240:
undefined reference to `dwarf_end'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfHandle.C:242:
undefined reference to `dwarf_end'
collect2: error: ld returned 1 exit status
make[2]: *** [dwarf/libdynDwarf.so.9.3.2] Error 1
make[1]: *** [dwarf/CMakeFiles/dynDwarf.dir/all] Error 2
make: *** [all] Error 2
[  0%] Building DyninstRT
[ 50%] Built target dyninstAPI_RT
[100%] Built target dyninstAPI_RT_static
[  0%] Built target DyninstRT
[ 10%] Built target common
[ 10%] Built target dynElf
Linking CXX shared library libdynDwarf.so
CMakeFiles/dynDwarf.dir/src/dwarfFrameParser.C.o: In function
`Dyninst::DwarfDyninst::DwarfFrameParser::getRegAtFrame_aux(unsigned
long, Dwarf_Frame_s*, unsigned short, Dyninst::MachRegister,
Dyninst::DwarfDyninst::DwarfResult&, unsigned long&,
Dyninst::DwarfDyninst::FrameErrors_t&)':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:308:
undefined reference to `dwarf_frame_register'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:320:
undefined reference to `dwarf_frame_info'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:312:
undefined reference to `dwarf_frame_cfa'
CMakeFiles/dynDwarf.dir/src/dwarfFrameParser.C.o: In function
`Dyninst::DwarfDyninst::DwarfFrameParser::getDwarfReg(Dyninst::MachRegister,
Dwarf_Frame_s*, unsigned short&, Dyninst::DwarfDyninst::FrameErrors_t&)':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:487:
undefined reference to `dwarf_frame_info'
CMakeFiles/dynDwarf.dir/src/dwarfFrameParser.C.o: In function
`Dyninst::DwarfDyninst::DwarfFrameParser::setupFdeData()':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:402:
undefined reference to `dwarf_getcfi'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:409:
undefined reference to `dwarf_getelf'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:410:
undefined reference to `dwarf_getcfi_elf'
CMakeFiles/dynDwarf.dir/src/dwarfFrameParser.C.o: In function
`Dyninst::DwarfDyninst::DwarfFrameParser::getRegAtFrame(unsigned long,
Dyninst::MachRegister, Dyninst::DwarfDyninst::DwarfResult&,
Dyninst::DwarfDyninst::FrameErrors_t&)':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:234:
undefined reference to `dwarf_cfi_addrframe'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:237:
undefined reference to `dwarf_frame_info'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:241:
undefined reference to `dwarf_frame_cfa'
CMakeFiles/dynDwarf.dir/src/dwarfFrameParser.C.o: In function
`Dyninst::DwarfDyninst::DwarfFrameParser::getRegsForFunction(std::pair<unsigned
long, unsigned long>, Dyninst::MachRegister,
std::vector<Dyninst::VariableLocation,
std::allocator<Dyninst::VariableLocation> >&,
Dyninst::DwarfDyninst::FrameErrors_t&)':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:182:
undefined reference to `dwarf_cfi_addrframe'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:186:
undefined reference to `dwarf_frame_info'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfFrameParser.C:190:
undefined reference to `dwarf_frame_cfa'
CMakeFiles/dynDwarf.dir/src/dwarfHandle.C.o: In function
`Dyninst::DwarfDyninst::DwarfHandle::init_dbg()':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfHandle.C:106:
undefined reference to `dwarf_begin_elf'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfHandle.C:115:
undefined reference to `dwarf_begin_elf'
CMakeFiles/dynDwarf.dir/src/dwarfHandle.C.o: In function
`Dyninst::DwarfDyninst::DwarfHandle::~DwarfHandle()':
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfHandle.C:240:
undefined reference to `dwarf_end'
/home/jeg/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com/dyninst-20170903/dwarf/src/dwarfHandle.C:242:
undefined reference to `dwarf_end'
collect2: error: ld returned 1 exit status
make[2]: *** [dwarf/libdynDwarf.so.9.3.2] Error 1
make[1]: *** [dwarf/CMakeFiles/dynDwarf.dir/all] Error 2
make: *** [all] Error 2
~/OpenSpeedShop_ROOT/BUILD/p8-node.creativec.com ~/OpenSpeedShop_ROOT
~/OpenSpeedShop_ROOT
DYNINST FAILED TO BUILD - TERMINATING BUILD SCRIPT.  Please check for
errors.
[jeg@p8-node 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→]