It is a proto library build dependency issue which didn't expose on my
platform. I fix it at
https://github.com/google/autofdo/commit/98269aee9674cc885cc5eb1bd917eb2d12731710.
Please try again.

Thanks,
Wei.

On Fri, May 21, 2021 at 6:28 PM Eugene Rozenfeld <
eugene.rozenf...@microsoft.com> wrote:

> I tried following the instructions in "2.2 Build autofdo tool for gcc" in
> https://github.com/google/autofdo#readme
> and got build failures:
>
>
>
> eugene@eugene-Virtual-Machine:~/autofdo1/build$ ninja
>
> [1/228] Building CXX object CMakeFiles/create_gcov_lib.dir/profile.cc.o
>
> FAILED: CMakeFiles/create_gcov_lib.dir/profile.cc.o
>
> /usr/bin/c++  -I../ -I../third_party/glog/src -I../third_party/abseil
> -I../third_party/perf_data_converter/src
> -I../third_party/perf_data_converter/src/quipper -I../util -I.
> -Ithird_party/glog -std=gnu++1z -MD -MT
> CMakeFiles/create_gcov_lib.dir/profile.cc.o -MF
> CMakeFiles/create_gcov_lib.dir/profile.cc.o.d -o
> CMakeFiles/create_gcov_lib.dir/profile.cc.o -c ../profile.cc
>
> In file included from
> ../third_party/perf_data_converter/src/quipper/perf_parser.h:18:0,
>
>                  from ../sample_reader.h:18,
>
>                  from ../profile.h:15,
>
>                  from ../profile.cc:5:
>
> ../third_party/perf_data_converter/src/quipper/base/macros.h:8:0: warning:
> "DISALLOW_COPY_AND_ASSIGN" redefined
>
> #define DISALLOW_COPY_AND_ASSIGN(TypeName) \
>
> In file included from ../profile.h:14:0,
>
>                  from ../profile.cc:5:
>
> ../base/macros.h:114:0: note: this is the location of the previous
> definition
>
> #define DISALLOW_COPY_AND_ASSIGN(TypeName) \
>
> In file included from
> ../third_party/perf_data_converter/src/quipper/perf_parser.h:18:0,
>
>                  from ../sample_reader.h:18,
>
>                  from ../profile.h:15,
>
>                  from ../profile.cc:5:
>
> ../third_party/perf_data_converter/src/quipper/base/macros.h:12:0:
> warning: "arraysize" redefined
>
> #define arraysize(x) (sizeof(x) / sizeof(*x))
>
> In file included from ../profile.h:14:0,
>
>                  from ../profile.cc:5:
>
> ../base/macros.h:162:0: note: this is the location of the previous
> definition
>
> #define arraysize(array) (sizeof(ArraySizeHelper(array)))
>
> In file included from
> ../third_party/perf_data_converter/src/quipper/perf_parser.h:21:0,
>
>                  from ../sample_reader.h:18,
>
>                  from ../profile.h:15,
>
>                  from ../profile.cc:5:
>
> ../third_party/perf_data_converter/src/quipper/compat/proto.h:16:10: fatal
> error: perf_stat.pb.h: No such file or directory
>
> #include "perf_stat.pb.h"
>
>           ^~~~~~~~~~~~~~~~
>
> compilation terminated.
>
>
>
> What is supposed to generate perf_stat.pb.h?
>
>
>
> Thanks,
>
>
>
> Eugene
>
>
>
> *From:* Wei Mi <w...@google.com>
> *Sent:* Monday, May 10, 2021 4:47 PM
> *To:* Andi Kleen <a...@linux.intel.com>
> *Cc:* Hongtao Yu <h...@fb.com>; Xinliang David Li <davi...@google.com>;
> Jan Hubicka <hubi...@ucw.cz>; gcc@gcc.gnu.org; Eugene Rozenfeld <
> eugene.rozenf...@microsoft.com>; Wenlei He <wen...@fb.com>
> *Subject:* [EXTERNAL] Re: State of AutoFDO in GCC
>
>
>
> https://github.com/google/autofdo
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgoogle%2Fautofdo&data=04%7C01%7CEugene.Rozenfeld%40microsoft.com%7C82398afe328045b86d9b08d9140de31a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637562872153209962%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=9S2u2uxoHsNKqbZanANvvfcqaN3wQXOWwyezvAuiLFM%3D&reserved=0>
> has been updated. Now create_gcov/dump_gcov are added back and can be built
> separately.
>
> Please look at "2.2 Build autofdo tool for gcc" in
> https://github.com/google/autofdo#readme
>
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fgoogle%2Fautofdo%23readme&data=04%7C01%7CEugene.Rozenfeld%40microsoft.com%7C82398afe328045b86d9b08d9140de31a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637562872153209962%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=1jTlYoCwNKR8TX8uxXUJsnistwj8hOnXxas5dnW7UuU%3D&reserved=0>
> On Wed, Apr 28, 2021 at 10:40 PM Andi Kleen <a...@linux.intel.com> wrote:
> >
> > On Mon, Apr 26, 2021 at 06:40:56PM +0000, Hongtao Yu wrote:
> > >    Andi, thanks for pointing out the perf script issues. Can you please
> > >    elaborate a bit on the exact issue you have seen? We’ve been using
> > >    specific output of perf script such as mmap, LBR and callstack
> events
> > >    filtered by process id. It works fine so far but may certainly hit
> issues
> > >    in the future with extended uses.
> >
> > Okay I took a look at the latest autofdo now. It seems to be basically
> > a LLVM project now that depends on LLVM to even build with all kinds
> > of dependency hell on some old LLVM version and other packages.
> >
> > I guess gcc will really need a replacement that doesn't pull in
> > all of LLVM if it wants to continue supporting autofdo.
> >
> > I'm myself unable to build now.
> >
> > I'm using the old version I had a git fork of and that
> > was before all of this. I added a patch to make it work
> > with the latest perf by ignoring increased perf_attr
> > and unknown perf events.
> >
> > Honza please use
> >
> > https://github.com/andikleen/autofdo
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fandikleen%2Fautofdo&data=04%7C01%7CEugene.Rozenfeld%40microsoft.com%7C82398afe328045b86d9b08d9140de31a%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637562872153219952%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=FpyYs3I3ZVNtQ6zRlbyytt4THiAFKgkz1ImQb3EkhqE%3D&reserved=0>
> -b perf-future
> >
> > for testing.
> >
> > -Andi
> >
>

Reply via email to