Re: [DynInst_API:] Problem compiling slicing.C.o (dyninst 8.2.1)


Date: Tue, 14 Jul 2015 11:46:55 -0500
From: Bill Williams <bill@xxxxxxxxxxx>
Subject: Re: [DynInst_API:] Problem compiling slicing.C.o (dyninst 8.2.1)
On 07/14/2015 05:39 AM, Ioannis Konstadelias wrote:
Hi everyone,

I tried to install dyninst 8.2.1 and after the resolving of the library
dependencies I found the compilation stuck in a point that,
I think, there is nothing I can do for it to solve it.
My cmake command was that one:

    â  cmake /home/gon1332/Downloads/Dyninst-8.2.1
    -DBOOST_ROOT=/usr/local -DLIBDWARF_INCLUDE_DIR=/usr/local/dwarf
    -DLIBDWARF_LIBRARIES=/usr/local/lib/libdwarf.so

Haven't seen this one before on the slicing code, but I have seen this flavor of compilation error. What version of gcc and boost are you using? You may need to either upgrade boost or tweak the bind headers to allow more bound arguments.

--bw

and the make output (including the error) the one below:


    â  make
    [  0%] Building DyninstRT
    [ 50%] Built target dyninstAPI_RT
    [100%] Built target dyninstAPI_RT_static
    [  0%] Built target DyninstRT
    [  1%] Built target LibIberty
    [  7%] Built target common
    [ 13%] Built target common_static
    [ 13%] Built target dynElf
    [ 13%] Built target dynElf_static
    [ 13%] Built target dynDwarf
    [ 14%] Built target dynDwarf_static
    [ 14%] Built target symLite
    [ 14%] Built target symLite_static
    [ 19%] Built target symtabAPI
    [ 23%] Built target pcontrol
    [ 25%] Built target instructionAPI
    [ 25%] Building CXX object
    parseAPI/CMakeFiles/parseAPI.dir/__/dataflowAPI/src/slicing.C.o
    /home/gon1332/Downloads/Dyninst-8.2.1/dataflowAPI/src/slicing.C: In
    member function âbool
    Dyninst::Slicer::getPredecessors(Dyninst::Slicer::Predicates&, const
    Dyninst::Slicer::SliceFrame&,
    std::vector<Dyninst::Slicer::SliceFrame>&)â:
    /home/gon1332/Downloads/Dyninst-8.2.1/dataflowAPI/src/slicing.C:733:9:
    error: call of overloaded âbind(void
    (Dyninst::Slicer::*)(Dyninst::ParseAPI::Edge*,
    Dyninst::Slicer::Predicates&, const Dyninst::Slicer::SliceFrame&,
    std::vector<Dyninst::Slicer::SliceFrame>&, bool&,
    Dyninst::Slicer::SliceFrame&), Dyninst::Slicer* const,
    boost::arg<1>&, const
    boost::reference_wrapper<Dyninst::Slicer::Predicates>, const
    boost::reference_wrapper<const Dyninst::Slicer::SliceFrame>, const
    boost::reference_wrapper<std::vector<Dyninst::Slicer::SliceFrame> >,
    const boost::reference_wrapper<bool>, const
    boost::reference_wrapper<Dyninst::Slicer::SliceFrame>)â is ambiguous
              ));
              ^
    /home/gon1332/Downloads/Dyninst-8.2.1/dataflowAPI/src/slicing.C:733:9:
    note: candidates are:
    In file included from /usr/local/include/boost/bind.hpp:22:0,
                      from
    /home/gon1332/Downloads/Dyninst-8.2.1/dataflowAPI/src/slicing.C:52:
    /usr/local/include/boost/bind/bind.hpp:1642:5: note:
    boost::_bi::bind_t<R, F, typename boost::_bi::list_av_7<A1, A2, A3,
    A4, A5, A6, A7>::type> boost::bind(F, A1, A2, A3, A4, A5, A6, A7)
    [with R = void; F = void
    (Dyninst::Slicer::*)(Dyninst::ParseAPI::Edge*,
    Dyninst::Slicer::Predicates&, const Dyninst::Slicer::SliceFrame&,
    std::vector<Dyninst::Slicer::SliceFrame>&, bool&,
    Dyninst::Slicer::SliceFrame&); A1 = Dyninst::Slicer*; A2 =
    boost::arg<1>; A3 =
    boost::reference_wrapper<Dyninst::Slicer::Predicates>; A4 =
    boost::reference_wrapper<const Dyninst::Slicer::SliceFrame>; A5 =
    boost::reference_wrapper<std::vector<Dyninst::Slicer::SliceFrame> >;
    A6 = boost::reference_wrapper<bool>; A7 =
    boost::reference_wrapper<Dyninst::Slicer::SliceFrame>; typename
    boost::_bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type =
    boost::_bi::list7<boost::_bi::value<Dyninst::Slicer*>,
    boost::arg<1>,
    boost::reference_wrapper<Dyninst::Slicer::Predicates>,
    boost::reference_wrapper<const Dyninst::Slicer::SliceFrame>,
    boost::reference_wrapper<std::vector<Dyninst::Slicer::SliceFrame> >,
    boost::reference_wrapper<bool>,
    boost::reference_wrapper<Dyninst::Slicer::SliceFrame> >]
          BOOST_BIND(F f, A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
          ^
    /usr/local/include/boost/bind/bind_mf_cc.hpp:293:5: note:
    boost::_bi::bind_t<R, boost::_mfi::mf6<R, T, A1, A2, A3, A4, A5,
    A6>, typename boost::_bi::list_av_7<A1, A2, A3, A4, A5, A6,
    A7>::type> boost::bind(R (T::*)(B1, B2, B3, B4, B5, B6), A1, A2, A3,
    A4, A5, A6, A7) [with R = void; T = Dyninst::Slicer; B1 =
    Dyninst::ParseAPI::Edge*; B2 = Dyninst::Slicer::Predicates&; B3 =
    const Dyninst::Slicer::SliceFrame&; B4 =
    std::vector<Dyninst::Slicer::SliceFrame>&; B5 = bool&; B6 =
    Dyninst::Slicer::SliceFrame&; A1 = Dyninst::Slicer*; A2 =
    boost::arg<1>; A3 =
    boost::reference_wrapper<Dyninst::Slicer::Predicates>; A4 =
    boost::reference_wrapper<const Dyninst::Slicer::SliceFrame>; A5 =
    boost::reference_wrapper<std::vector<Dyninst::Slicer::SliceFrame> >;
    A6 = boost::reference_wrapper<bool>; A7 =
    boost::reference_wrapper<Dyninst::Slicer::SliceFrame>; typename
    boost::_bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type =
    boost::_bi::list7<boost::_bi::value<Dyninst::Slicer*>,
    boost::arg<1>,
    boost::reference_wrapper<Dyninst::Slicer::Predicates>,
    boost::reference_wrapper<const Dyninst::Slicer::SliceFrame>,
    boost::reference_wrapper<std::vector<Dyninst::Slicer::SliceFrame> >,
    boost::reference_wrapper<bool>,
    boost::reference_wrapper<Dyninst::Slicer::SliceFrame> >]
          BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5,
    B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
          ^
    /usr/local/include/boost/bind/bind_mf_cc.hpp:315:5: note:
    boost::_bi::bind_t<Rt2, boost::_mfi::mf6<R, T, B1, B2, B3, B4, B5,
    B6>, typename boost::_bi::list_av_7<A1, A2, A3, A4, A5, A6,
    A7>::type> boost::bind(R (T::*)(B1, B2, B3, B4, B5, B6), A1, A2, A3,
    A4, A5, A6, A7) [with Rt2 = void; R = void; T = Dyninst::Slicer; B1
    = Dyninst::ParseAPI::Edge*; B2 = Dyninst::Slicer::Predicates&; B3 =
    const Dyninst::Slicer::SliceFrame&; B4 =
    std::vector<Dyninst::Slicer::SliceFrame>&; B5 = bool&; B6 =
    Dyninst::Slicer::SliceFrame&; A1 = Dyninst::Slicer*; A2 =
    boost::arg<1>; A3 =
    boost::reference_wrapper<Dyninst::Slicer::Predicates>; A4 =
    boost::reference_wrapper<const Dyninst::Slicer::SliceFrame>; A5 =
    boost::reference_wrapper<std::vector<Dyninst::Slicer::SliceFrame> >;
    A6 = boost::reference_wrapper<bool>; A7 =
    boost::reference_wrapper<Dyninst::Slicer::SliceFrame>; typename
    boost::_bi::list_av_7<A1, A2, A3, A4, A5, A6, A7>::type =
    boost::_bi::list7<boost::_bi::value<Dyninst::Slicer*>,
    boost::arg<1>,
    boost::reference_wrapper<Dyninst::Slicer::Predicates>,
    boost::reference_wrapper<const Dyninst::Slicer::SliceFrame>,
    boost::reference_wrapper<std::vector<Dyninst::Slicer::SliceFrame> >,
    boost::reference_wrapper<bool>,
    boost::reference_wrapper<Dyninst::Slicer::SliceFrame> >]
          BOOST_BIND(R (BOOST_BIND_MF_CC T::*f) (B1, B2, B3, B4, B5,
    B6), A1 a1, A2 a2, A3 a3, A4 a4, A5 a5, A6 a6, A7 a7)
          ^
    make[2]: ***
    [parseAPI/CMakeFiles/parseAPI.dir/__/dataflowAPI/src/slicing.C.o]
    Error 1
    make[1]: *** [parseAPI/CMakeFiles/parseAPI.dir/all] Error 2
    make: *** [all] Error 2



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



--
--bw

Bill Williams
Paradyn Project
bill@xxxxxxxxxxx
[← Prev in Thread] Current Thread [Next in Thread→]