ament / google_benchmark_vendor

Vendor package for providing Google Benchmark
Apache License 2.0
1 stars 7 forks source link

Build fail from 0.0.5 to 0.0.6 #14

Open YoungJin-gurum opened 3 years ago

YoungJin-gurum commented 3 years ago

To keep source checkout up to date, I download the latest sources, and rebuild workspace. Version 0.0.5 has been built, the following error occurs when trying to build the newly received 0.0.6 version source.

--- stderr: google_benchmark_vendor
error: patch failed: cmake/thread_safety_attributes.cpp:1 error: cmake/thread_safety_attributes.cpp: patch does not apply make[2]: [CMakeFiles/benchmark-1.5.2.dir/build.make:101: benchmark-1.5.2-prefix/src/benchmark-1.5.2-stamp/benchmark-1.5.2-patch] Error 1 make[1]: [CMakeFiles/Makefile2:76: CMakeFiles/benchmark-1.5.2.dir/all] Error 2 make: *** [Makefile:130: all] Error 2

Failed <<< google_benchmark_vendor [0.29s, exited with code 2]

As I guess, ver 0.0.5 and 0.0.6 use same version of benchmark 1.5.2 makes this error. Is there a solution other than deleting and rebuilding the build?

nuclearsandwich commented 3 years ago

@clalancette FYI

clalancette commented 3 years ago

Is there a solution other than deleting and rebuilding the build?

Not right now, as far as I know.

The whole "cmake externalproject + patches" thing that we use is, frankly, pretty brittle. It's been hard to make it work on Windows without administrator, it's been hard to make the patches compatible across all platforms, and you have to add magic CMake incantations to make it work at all. Even though we've made it work, we still have problems:

I think we may want to reconsider how we are doing vendoring for H-Turtle.

All of that said, if you figure out a way to make it work with the current system, I'd be happy to review a patch.

asherikov commented 3 years ago

What about embedding the project sources with git read-tree and patching in place?