Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MacOS: fails to compile #652

Open
mouse07410 opened this issue Jul 6, 2022 · 10 comments
Open

MacOS: fails to compile #652

mouse07410 opened this issue Jul 6, 2022 · 10 comments

Comments

@mouse07410
Copy link

MacOS Monterey 12.4, Xcode-13.4.1, encfs current master.

$ make all
.  .  .
Consolidate compiler generated dependencies of target encfs
[ 12%] Building CXX object CMakeFiles/encfs.dir/encfs/NullCipher.cpp.o
/Users/ur20980/src/encfs/encfs/NullCipher.cpp:81:36: error: no matching constructor for initialization of 'std::shared_ptr<AbstractCipherKey>'
std::shared_ptr<AbstractCipherKey> gNullKey(new NullKey(), NullDestructor());
                                   ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:469:26: note: candidate constructor template not viable: no known conversion from 'encfs::NullKey *' to 'std::nullptr_t' (aka 'nullptr_t') for 1st argument
    template <class _Dp> shared_ptr(nullptr_t __p, _Dp __d);
                         ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:464:9: note: candidate template ignored: requirement '__shared_ptr_deleter_ctor_reqs<encfs::NullDestructor, encfs::NullKey, encfs::AbstractCipherKey>::value' was not satisfied [with _Yp = encfs::NullKey, _Dp = encfs::NullDestructor]
        shared_ptr(_Yp* __p, _Dp __d,
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:471:51: note: candidate template ignored: could not match 'shared_ptr<type-parameter-0-0>' against 'encfs::NullKey *'
    template<class _Yp> _LIBCPP_INLINE_VISIBILITY shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) _NOEXCEPT;
                                                  ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:476:9: note: candidate template ignored: could not match 'shared_ptr<type-parameter-0-0>' against 'encfs::NullKey *'
        shared_ptr(const shared_ptr<_Yp>& __r,
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:481:52: note: candidate template ignored: could not match 'shared_ptr<type-parameter-0-0>' against 'encfs::NullKey *'
    template<class _Yp> _LIBCPP_INLINE_VISIBILITY  shared_ptr(shared_ptr<_Yp>&& __r,
                                                   ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:484:34: note: candidate template ignored: could not match 'weak_ptr<type-parameter-0-0>' against 'encfs::NullKey *'
    template<class _Yp> explicit shared_ptr(const weak_ptr<_Yp>& __r,
                                 ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:488:9: note: candidate template ignored: could not match 'auto_ptr<type-parameter-0-0>' against 'encfs::NullKey *'
        shared_ptr(auto_ptr<_Yp>&& __r,
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:492:9: note: candidate template ignored: could not match 'unique_ptr<type-parameter-0-0, type-parameter-0-1>' against 'encfs::NullKey *'
        shared_ptr(unique_ptr<_Yp, _Dp>&&,
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:500:9: note: candidate template ignored: could not match 'unique_ptr<type-parameter-0-0, type-parameter-0-1>' against 'encfs::NullKey *'
        shared_ptr(unique_ptr<_Yp, _Dp>&&,
        ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:441:23: note: candidate constructor not viable: requires 1 argument, but 2 were provided
    _LIBCPP_CONSTEXPR shared_ptr(nullptr_t) _NOEXCEPT;
                      ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:454:14: note: candidate constructor template not viable: requires single argument '__p', but 2 arguments were provided
    explicit shared_ptr(_Yp* __p) : __ptr_(__p) {
             ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:473:5: note: candidate constructor not viable: requires single argument '__r', but 2 arguments were provided
    shared_ptr(const shared_ptr& __r) _NOEXCEPT;
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:480:5: note: candidate constructor not viable: requires single argument '__r', but 2 arguments were provided
    shared_ptr(shared_ptr&& __r) _NOEXCEPT;
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:470:40: note: candidate constructor template not viable: requires 3 arguments, but 2 were provided
    template <class _Dp, class _Alloc> shared_ptr(nullptr_t __p, _Dp __d, _Alloc __a);
                                       ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:439:23: note: candidate constructor not viable: requires 0 arguments, but 2 were provided
    _LIBCPP_CONSTEXPR shared_ptr() _NOEXCEPT;
                      ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:467:9: note: candidate constructor template not viable: requires at least 3 arguments, but 2 were provided
        shared_ptr(_Yp* __p, _Dp __d, _Alloc __a,
        ^
In file included from /Users/ur20980/src/encfs/encfs/NullCipher.cpp:21:
In file included from /Users/ur20980/src/encfs/encfs/NullCipher.h:26:
In file included from /Users/ur20980/src/encfs/encfs/Cipher.h:31:
/Users/ur20980/src/encfs/encfs/Interface.h:60:14: warning: definition of implicit copy constructor for 'Interface' is deprecated because it has a user-declared copy assignment operator [-Wdeprecated-copy]
  Interface &operator=(const Interface &src) = default;
             ^
/Users/ur20980/src/encfs/encfs/NullCipher.cpp:87:50: note: in implicit copy constructor for 'encfs::Interface' first required here
Interface NullCipher::interface() const { return iface; }
                                                 ^
1 warning and 1 error generated.
make[2]: *** [CMakeFiles/encfs.dir/build.make:356: CMakeFiles/encfs.dir/encfs/NullCipher.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:264: CMakeFiles/encfs.dir/all] Error 2
make: *** [Makefile:166: all] Error 2

I'd really appreciate your help!

@mouse07410
Copy link
Author

@vgough ...?

@stevenChuCP
Copy link

stevenChuCP commented Aug 8, 2022

I also got this error message.

Found out that someone has fixed the compile error #650.
However, it did not pass the integration test.

Is it a compiler problem? Seems that you can build encfs with an older XCode version.

@mouse07410
Copy link
Author

mouse07410 commented Aug 8, 2022

@stevenChuCP the compiler got more strict in what it accepts, so the encfs code doesn't compile anymore with the recent (current) compilers.

Yes, old compilers still let that code pass. But that's not a solution for me, alas.

Re. Integration test for #650. I'm not sure it really failed - it looks like incompatibility between the old CI script and the current system. I'll look into it.

We need to figure how to fix the code...

@mouse07410
Copy link
Author

mouse07410 commented Aug 8, 2022

After merging #650, all tests (unittests and integration) passed on one machine with OSXFuse v4.2.3. A few integration tests failed on two other boxes - all are Macs (OSXFuse v4.4.0). So, I suspect the FUSE version. In any case, my fork has #650 merged.

Failing tests are in integration/reverse, and seem to deal with extended file attributes over symlink. I probably won't be able to do anything about this problem. At least, encfs successfully builds again, and passes most of the tests (including those that I do care about).

@stevenChuCP thanks for pointing me at #650.

@stevenChuCP
Copy link

@mouse07410 I've tried to build with g++-11 and it worked without changing the codes.

What do you think is the better solution to resolve this issue?

@mouse07410
Copy link
Author

I've tried to build with g++-11 and it worked without changing the codes

First, are you saying that this way it passed all the integration tests? Did you mean GCC v11, or -std=gnu++11?

Second, I think it's important for the code to work with both GCC and Clang. Also, did you try to build it and run integration tests with GCC (well, g++) v12?

@stevenChuCP
Copy link

Did you mean GCC v11

Yes, it was GCC v11.
I also tried GCC v12, it build successfully. Although both of them did not pass the integration tests.

Failing tests are in integration/reverse

I'm also failing at this step. I have OSXFuse 4.2.5 installed on my Mac.

@mouse07410
Copy link
Author

mouse07410 commented Aug 10, 2022

Failing tests are in integration/reverse

I'm also failing at this step. I have OSXFuse 4.2.5 installed on my Mac.

In that case, I will keep the #650 merged in my fork. Being able to build with all reasonable C++ compilers (G++ and Clang) is more important to me than keeping the code unchanged.

I installed OSXFuse 4.4.0, with the same results - apparently, something with symlinking xattr is broken (thats seems to be the scope of the failure), but I don't know how to go about fixing it. Perhaps, if/when @vgough is back, he can shed some light on this. In the meanwhile, patched code works, though it fails some tests.

@mouse07410
Copy link
Author

I wonder if this very useful package is still maintained?

hrunting pushed a commit to hrunting/encfs that referenced this issue Nov 11, 2022
….361e8d1c

361e8d1c version bump
ef7f75fb simplified code (#1439)
e27c9307 use target_compile_definitions (#1440)
7b3ac075 Stop generating the export header and just check it in (#1435)
d845b7b3 Also fix the SOVERSION for benchmark_main
d4bc509b Fix SOVERSION of shared library
7a2024e9 v1.6.2 bump
48c2d1c1 Expose google_benchmark.State for python bindings. (#1430)
4efcc474 Suppress nvcc `offsetof` warning (#1429)
1531ee0d Correct typo in Passing Arguments section
ac8a6d3d cleanup comments
8205547c fix sanitizer builds by using clang 13 (#1426)
0a95a422 fix dependabot numpy version warning
a8bc318b fix cmake warning for libcxx setup
4136c4a3 Expose default help printer function (#1425)
dfdda57a Fix DoNotOptimize() GCC compile error with some types (#1340) (#1424)
7280499e Remove redundant formatting tags (#1420)
b7afda2c Revert "Add possibility to ask for libbenchmark version number (#1004) (#1403)" (#1417)
af7de865 Clarify that the cpu frequency is not used for benchmark timings. (#1414)
8545dfb3 Fix DoNotOptimize() GCC copy overhead (#1340) (#1410)
efadf67a Add possibility to ask for libbenchmark version number (#1004) (#1403)
2365c4a6 add multiple OSes to bazel workflow (#1412)
920fa148 fix some build warnings on type conversions
108ca848 fix typo in comment
6d50251d Report large numbers in scientific notation in console reporter (#1303) (#1402)
7eb8c0fe Introduce warmup phase to BenchmarkRunner (#1130) (#1399)
6c46c9f5 Add support to get clock for new architecture CSKY (#1400)
37be1e82 Add option to get the verbosity provided by commandline flag -v (#1330) (#1397)
aecbdbff fix some typos (#1393)
bc4639c1 Add installation and build instructions for Python bindings (#1392)
8d86026c Enable -Wconversion (#1390)
b0d5adfa Add benchmark labels to the output of the comparison tool (#1388)
a162a38c Filter out benchmarks that start with "DISABLED_" (#1387)
dc901ff9 Fix wheel job name for PyPI uploads (#1384)
6f75bb52 Shut down Bazel gracefully and revert wheel build strategy to job matrix (#1383)
74ae5672 Small optimization to counter map management (#1382)
3eac3b60 getting sysinfo in line with Google style (#1381)
60b16f11 Promote inclusive language. (#1360)
a480a088 [nfc] Reformat doc-string in generate_export_header (#1376)
808571a5 Fix Bazel build breakage caused by commit 6a894bd. (#1374)
6a894bd5 Build `//:benchmark` as a static library only. (#1373)
5704cd4c add note about wheels action to releasing docs
3eab9854 Change artifact download name to dist to match upload name (#1371)
7d6f1534 Remove conditional trigger from PyPI upload job (#1370)
9a71e5d7 Add BENCHMARK_STATIC_DEFINE to the Python bindings' `cc_binary` local defines. (#1369)
4a1943d6 Update LICENSE file to clearly state which file needs BSD 3 (#1366)
4f77cf9e Fix float comparaison and add float comparison warning (#1368)
705202d2 Add PyPI upload job to wheel building workflow (#1359)
a25f3cde Appended additional BSD 3-Clause to LICENSE (#1363)
eacce0b5 Add SetBenchmarkFilter() to set --benchmark_filter flag value in user code (#1362)
df7749cd Add long description and content type for proper PyPI presentation (#1361)
d08e7b60 Allow setting the default time unit globally (#1337)
e33986a0 restore BENCHMARK_MAIN() (#1357)
7cb29142 @platforms is magical; remove it from WORKSPACE. (#1356)
e057a7ce Make generate_export_header.bzl work for Windows. (#1355)
e82a6ed7 avoid case sensitive issues with duplicated names (#1354)
b46208fc move bzl file out of tools (#1352)
c5636440 Introduce the possibility to customize the help printer function (#1342)
28b210eb simplify reference to internal path (#1349)
7b46d3dd Check for macro existence before using (#1347)
9e47d070 annotate and export public symbols (#1321)
6e51dcbc Expose default display reporter creation in public API (#1344)
d2cbd4b2 Avoid potential truncation issues for the integral type parameterized tests. (#1341)
bdea5051 Add mutex when reading counters_ (Fixes #1335) (#1338)
1ee7bee6 Use Win32 API only for Win32 apps (#1333)
14eee07f bump numby, as per dependabot (#1336)
6d51a119 Fix cross compilation for macOS ARM builds in `cibuildwheel` (#1334)
d0fbf8ac Cache PerfCounters instance in PerfCountersMeasurement (#1308)
57b2bfa3 Fix some errors in Custom Statistics demo code. (#1332)
acd75620 Refine the User Guide CPU Frequency Scaling section (#1331)
9e859f5b Refine docs on changing cpufreq governor (#1325)
00e22110 Expand documentation for unpacking arbitrary arguments. (#1324)
6cf20f1e Suppress GoogleTest warnings on windows (MSVC) too. (#1320)
5531ec80 Add docs on Memory profiling (#1217). (#1319)
31e79417 Add docs for `ThreadRange`. (#1318)
0d98dba2 Creating release commit for v1.6.1
0e78738a Destructor not returning is expected in some cases (#1316)
6dfe7afb Address c4267 warning on MSVC (#1315)
3b3de694 Fix `-DBENCHMARK_ENABLE_INSTALL=OFF` (Fixes #1275) (#1305)
b0006727 Avoid errors due to "default label in switch which covers all enumeration values" in Windows codepath (#1302)
1f994050 update googletest to latest release tag 1.11.0 (#1301)
ab867074 clang-tidy: readability-redundant and performance (#1298)
fd258bbd Update user_guide.md (#1296)
fe2e8aa1 Fix broken link to Setup/Teardown section (#1291)
680d3fdb Add clang-tidy check (#1290)
d6ba952f compare.py: compute and print 'OVERALL GEOMEAN' aggregate (#1289)
ce92bbfb remove long-defunct cli parameter
88ea9d90 lose some build warnings
91ed7eea Disable clang-tidy (unused-using-decls) (#1287)
8722d6f0 disable lint check where we know it'd fail (#1286)
b5bb9f06 Add Setup/Teardown option on Benchmark. (#1269)
a07f6d17 Googletest renamed master to main today. (#1285)
8401429e Remove bazelbuild/rules_cc dependency (#1283)
926f61da Support for building with LLVM clang-10/clang-11 on Windows. (#1227)
a17480dd Fix dependency typo and unpin cibuildwheel version in wheel building … (#1263)
b3c08f6e check clang format on pull requests and merges (#1281)
c07a4989 format tests with clang-format (#1282)
fcef4fb6 clang-format Google on {src/,include/} (#1280)
431abd14 Fix warning with MacOS (#1276)
4b99670c Fixed typo in doc:  s/marcro/macro (#1274)
329fb06d Fix error with Fix Werror=old-style-cast  (#1272)
8826ef79 Fix error Wshorten-64-to-32 (#1273)
8aae0a4f [cleanup] Change `== ""` to `.empty()` on string to avoid clang-tidy warnings (#1271)
4f31803e Fix un-initted error in test and fix change the API previously proposed to use std::string instead of raw char* (#1266)
da01c5e6 use docker container for ubuntu-16.04 builds (#1265)
4f47ed2c [RFC] Adding API for setting/getting benchmark_filter flag? (#1254)
fca34829 Allow template arguments to be specified directly on the BENCHMARK macro (#1262)
365670e4 Added Doxygen support. (#1228)
80d70ddd Fix -Wdeprecated-declarations warning once more. (#1256)
1e3ab7fa Merge remote-tracking branch 'upstream/pr/1240'
1be88c06 cmake: allow to use package config from build directory
33959495 Merge remote-tracking branch 'upstream/pr/1244'
eb9100bf cmake: make package config relocatable
2f30903c GoogleTest.cmake.in: mention BENCHMARK_USE_BUNDLED_GTEST
8c8052aa GoogleTest.cmake.in: immediately error-out after failure message, Closes #1255
7fad964a Introduce additional memory metrics (#1238)
f730846b Fix -Wdeprecated-declarations warning triggered by clang-cl. (#1245)
285e5e97 Cmake: options for controlling werror, disable werror for PGI compilers (#1246)
59bbc7fd cmake: eliminate redundant `target_include_directories` (#1242)
0baacde3 Update policy to match reality
713b9177 Fix mention of --benchmarks in comment (#1229)
400ed3f5 Added support of packaged GTest for running unit tests. (#1226)
1bd8098d Optimized docs installation (#1225)
c23a0012 Remove unused parameter from lambda. (#1223)
92f50a22 add  to final releasing step
f91b6b42 bump version to 1.6 in preparation for release
4f807059 COnsole reporter: if statistic produces percents, format it as such (#1221)
45b194e4 Introduce Coefficient of variation aggregate (#1220)
12dc5eea Statistics: add support for percentage unit in addition to time (#1219)
67b77da3 report.py: adjust expected u-test values for tests
e7a84158 CMake: add forgotten include(FeatureSummary) into FindPFM.cmake to fix build
2b093325 replace #warning with #pragma message  (#1216)
04c46660 force cmake version to 3.5.1
e7fa637c [NFC] PFM: actually report package as found, and advertise description
0a447f8a Fix links to further doc in user_guide.md (#1215)
dc1a9717 Introduce accessors for currently public data members (threads and thread_index) (#1208)
8fd49d66 Fix a -Wunreachable-code-aggressive warning (#1214)
c4b06e5b Set theme jekyll-theme-minimal
0fb4b751 wrap things that look like tags but aren't with `{% raw %}`
990299ff install docs folder when installing library (#1212)
91ce110b add .DS_Store to .gitignore
201b981a refactor the documentation to minimise `README.md` (#1211)
2d054b68 Merge branch 'main' of github.com:google/benchmark
ddc76e51 preparing v1.5.6 release
cb9afbba Set theme jekyll-theme-modernist
07f833d6 so much for googletest not failing any more
d0db4e01 turn back on strict mode for googletest as it no longer breaks
4124223b Change the default value of `--benchmark_filter` from "." to <empty> (#1207)
1067dfc9 Remove dead code from PredictNumItersNeeded (#1206)
ab74ae5e downgrade warnings for googletest (#1203)
9433793f Add wheel and sdist building action to GH Workflow (#1180)
e451e50e add g++ to sanitizer buildbots (#1197)
1fcb5c23 Don't return a reference when the callers all expect pointers.
19026e23 fix clang-tidy warnings (#1195)
94f845ec Fix typos (#1194)
05a2ace7 Fix type warning on certain compilers (#1193)
40d2069d Use C++11 atomic_signal_fence for ClobberMemory (#1190)
38b767e5 Bazel qnx (#1192)
d6778aeb Deduplicate test function name in python bindings example (#1189)
1799e1b9 prefix VLOG (#1187)
6a5bf081 prefix macros to avoid clashes (#1186)
5da56604 Move flags inside the `benchmark` namespace (#1185)
62937f91 Add missing trailing commas (#1182)
c932169e Provide helpers to create integer lists for the given ranges. (#1179)
5b751848 benchmark_runner.h: Remove superfluous semi colon (#1178)
e991355c [NFCI] Drop warning to satisfy clang's -Wunused-but-set-variable diag (#1174)
f90215f1 Add support for new architecture loongarch (#1173)
34240912 Use modern clang/libc++ for sanitizers (#1171)
bdd6c447 Enable various sanitizer builds in github actions (#1167)
fbc31405 Random interleaving of benchmark repetitions - the sequel (fixes #1051) (#1163)
d17ea665 Fix leak in test, and provide path to remove leak from library (#1169)
32cc6071 [NFCI] Make BenchmarkRunner non-internal to it's .cpp file
520573fe [NFCI] RunBenchmarks(): extract FlushStreams()/Report() functions
6e32352c compare.py: sort the results (#1168)
0c1da0a7 Make 'complexity reports' cache per-family, not global (#1166)
80a62618 Introduce per-family instance index (#1165)
4c2e32f1 Introduce "family index" field into JSON output (#1164)
e0a080d0 BenchmarkFamilies::FindBenchmarks(): correctly use std::vector<>::reserve()
a54ef37a Ensure that we print repetition count even when it was specified via flag `--benchmark_repetitions=`
e025dd5a Revert "Implementation of random interleaving.  (#1105)" (#1161)
6f094ba1 Fix perf counter argument parsing (#1160)
4ff73496 Run build-and-test on all branches
f10b9c0c Un-disable github actions :]
604112c2 Run build-and-test on all branches
09a87e31 Set theme jekyll-theme-hacker
bc5651e5 bump version to v1.5.4
0e1255af Removing freenode from README
db2de74c Fix pedantic compilation flag violation (#1156)
a4bcd937 fix version recorded in releases (#1047)
a6a738c1 Implementation of random interleaving.  (#1105)
c983c3ec remove appveyor and add libera.chat as IRC resource
e539e807 [PFM] Extend perf counter support to multi-threaded cases. (#1153)
7d0d9061 Support -Wsuggest-override (#1059)
3b508fad Refactor `BenchmarkInstance` (#1148)
1f47b6b6 Remove travis configs that are covered by actions (#1145)
0852c79f remove done TODOs
551a21ba add g++-6 to ubuntu-14.04 (#1144)
17948a78 Add MSVC ARM64 support to cmake (#1090)
a53b8853 Add ubuntu-14.04 build and test workflow (#1131)
a2e8a8a9 Clean -Wreserved-identifier instances (#1143)
e0826ede Fix StrSplit empty string case (#1142)
e50b572e cmake: Add explicit BENCHMARK_ENABLE_LIBPFM option (#1141)
d0c227cc Add API to benchmark allowing for custom context to be added (#1137)
33c133a2 Add `benchmark_context` flag that allows per-run custom context. (#1127)
ba9a763d Add multiple compiler support to build-and-test workflow (#1128)
64cb55e9 enable markdown rendering on github pages
376ebc26 Support optional, user-directed collection of performance counters (#1114)
835951aa Be compliant and return 0 from main.
264976de Fix windows warning on type conversion (#1121)
86da5ec2 Add verbosity to CI logs (#1122)
d882be1e fix cmake issue with referencing a non-existing function argument (#1118)
058fb588 [tools] Fix dumb mistake in previous commit - print aggregates only means aggregates, not non-aggregates
362c2ab9 [tools] Don't forget to print UTest when printing aggregates only
c05843a9 [sysinfo] Fix CPU Frequency reading on AMD Ryzen CPU's (#1117)
69054ae5 Use fewer ramp up repetitions when KeepRunningBatch is used (#1113)
0882a74c Add bazel status to README
2dad9aef Re-enable bazel without bazelisk and with scoped build/test targets (#1109)
39b5a298 Improve BENCHMARK_UNUSED definition (#1111)
07578d82 Shrink the tz_offset size to 41. (#1110)
f1deaf16 fix minor typo (though this is an external property)
5a77a6d8 fix minor typo
b8084e50 fix minor typo
5e387e7d Implement custom benchmark name (#1107)
cc9abfc8 Fix URL to googletest primer (#1102)
50c9eb54 Removing conanfile (and support) per #1088 (#1099)
4c26070d disable bazel for now (#1101)
5c43112e Update 'Output Files' section to reflect csv support. (#1095)
a9b9471c Fix typo in invalid file name error message. (#1094)
d90321ff - add support for Elbrus 2000 (e2k) (#1091)
ea5a5bbf Add MSVC ARM64 support for reading clocks (#1052)
8df87f6c Revert "Add bazel target for benchmark_release (#1078)" (#1081)
a6d08aea Create workflow to exercise bazel build (#1079)
d8254bb9 Add bazel target for benchmark_release (#1078)
378ed8ff Add 'seconds' time unit (#1076)
bf585a27 Fix some bazel warnings about missing sha256 on http_archives
17a6b21e Fix Range when starting at zero (#1073)
7fa6f1f9 Disable lto-type-mismatch warnings (#1071)
37ced31b Added support for macro expansion in benchmark names (#1054)
348aa2c9 bazel support for tools (#982)
d9abf017 Rename 'mftbl' to 'mftb' (#1069)
a9704c26 Nanosleep workaround for z/OS in sleep.cc (#1067)
dce3322a Add support for z/OS XL compiler inline asm syntax (#1063)
3d1c2677 src/benchmark_register.h: add missing <limits> inclusion (#1060)
af72911f Add support for DragonFly BSD (#1058)
ffe1342e Add CycleTimer implementation for M68K architecture (#1050)
2d9bfe1e Include github workflows status in README
949f5bb1 Add support for JSON dumps of benchmark diff reports. (#1042). Fixes #737.
7efada2d Fixed pkg-config on other than Ubuntu GNU/Linux distributions. (#1043)
73d4d5e8 Bind benchmark builder to Python (#1040)
df9e2948 Add workflow to exercise bindings (#1041)
12e85b2e Bind more State methods/attributes to Python (#1037)
beb360d0 Create pylint.yml (#1039)
47515508 Revert previous linker additions for FreeBSD as the problem is Bazel using /usr/bin/clang instead of /usr/bin/clang++ to link C++ code. (#1035)
4475ff6b Adds -lm linker flag for FreeBSD/OpenBSD and uses github.com/bazelbuil… (#1032)
01c0ab7c Fix Clang builds on Windows (#1021)
48579623 Add CartesianProduct with associated test (#1029)
5c25ad3a Ctest support (#1025)
bb978c06 Update build instructions to better use CMake (#1017)
5b72b6c2 Remove "BENCHMARK_" prefix from env var version of command line flags (#997)
4986d0b2 Create build-and-test.yml (#1013)
1302d2ce Add missing breaks for QNX cache counting (#1012)
99010118 JSONReporter: don't report on scaling if we didn't get it (#1005) (#1008)
37177a84 Fix python extension import (#1000)
39c8d58a Rename python bindings package to `google_benchmark`. (#999)
7f27afe8 Expose methods for custom main functions in Python. (#993)
8f5e6ae0 Add requirements.txt for python dependencies (#994)
39b6e703 adds a "--no-color" flag to the compare.py script (#990)
15e6dfd7 timers: silence strncat truncation warning (#984)
76efbcdd Merge pull request #980 from brianwolfe/wolfe-fix-overflow-warning
7cc06ef8 timers: just make the buffers big enough
f25ea40a timers: use snprintf instead of sprintf
f6ac240c timers: silence format overflow warning
99c52f14 use rfc3339-formatted timestamps in output [output format change] (#965)
8039b403 Upgrade bazel from 0.10.1 to 3.2.0 (#976)
4ecb5f31 Merge branch 'master' of github.com:google/benchmark
22e55e18 Add some simple docs for installing the Python bindings from source. (#975)
74b4612c Add absl dependency as needed
b63da7b8 Ignore python bindings build artifacts
4e88f582 move releasing doc to docs
6746c65b Expose `SkipWithError` in Python bindings. (#968)
9284e90f Drop unused mingw.py (#966)
d3ad0b9d Add Python bindings. (#957)
56898e9a Add missing <cerrno> header include - fixes Android build (#960)
ecc16853 Fix formatting issues introduced by a77d5f7 (#959)
8cead007 Remove warnings for internal use of CSVReporter (#956)
a77d5f70 Fix cycleclock::Now for RISC-V and PPC (#955)
0ab2c290 Fix type conversion warnings. (#951)
b23d3557 Fix Travis-ci builds (#950)
e30cac6b Revert "Add d postfix to Debug libraries (#923)" (#947)
70d89ac5 Revert "Add d postfix to Debug libraries (#923)"
8e0b1913 Update issue templates
c0783374 Relax CHECK condition in benchmark_runner.cc (#938)
168604d8 [docs] Use `benchmark::IterationCount` rather than `int64_t` in lambda to complexity (#940)
8982e1ee Fix MSVC warning. (#935)
e5ea03ce Fix cxx03 standard selection, option override in CMake 3.13+. Fixes #933 (#934)
5ac80de0 Disable pedantic warnings and errors until googletest/gmock is fixed
daff5fea Alias CMake Targets. Fixes #921 (#926)
5ce2429a Add d postfix to Debug libraries (#923)
0811f1d7 Fix typo in mutex.h (#917)
36711948 CPU caches are binary units, not SI. (#911)
318d0711 README.md: a few adjustments after #894
daf276ff Document environment variables options usage (#894)
49aa79b6 update header guard to match style
a8b36933 Merge pull request #905 from LebedevRI/misc-cleanup
51d991f1 ParseCommandLineFlags(): do not dereference argc if it is null
c22c266e JSONReporter: RoundDouble(): use std::lround() to round double to int
cc7f50e1 BenchmarkRunner: use std::lround() to round double to int
74e112ae mingw.py: check for None via 'is', not '=='.
173aff82 src/counter.h: add header guard
c50ac68c CMake: use full add_test(NAME <> COMMAND <>) signature (#901)
cf446a18 Remove superfluous cache line scaling in JSON reporter. (#896)
d16ae64e Set CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS (#889)
bc200ed8 Read options from environment (#881) (#883)
309de598 Switch to Starlark for C++ rules. (#887)
f4f5dba4 Cache RUN_${FEATURE} variable in CXXFeatureCheck.cmake (#886)
b8bce0c7 fixed the param order in g++ command and fixed the path for -L (#879)
b874e722 Guard definition of __STDC_FORMAT_MACROS in ifndef (#875)
7411874d Define HOST_NAME_MAX for NaCl and RTEMS (#876)
e7e3d976 Add missing parenthesis to code sample, and fix spacing. (#877)
d2fc7fe6 Guard ASSERT_THROWS checks with BENCHMARK_HAS_NO_EXCEPTIONS (#874)
bf4f2ea0 Addresses issue vgough#634. (#866)
ef7d51c8 Allow setting GOOGLETEST_PATH cmake argument. Fixes #867 (#868)
7ee72863 Remove unused `doc` argument from `DEFINE_` macros. (#857)
67853d3e Add .gitignore rule to ignore temporary .swp backup files created by vim. (#859)
ffadb65d Documentation of basic use of DenseRange. (#855)
3523f11d Update README.md: fix MS VS version requirement
7d97a057 Custom user counters: add invert modifier. (#850)
c4084619 Disable deprecated warnings when touching CSVReporter internally.
140fc22a Corrected the installation procedure (#849)
140db8a2 fix typo in README (#844)
66482d53 README.md: corrected cmake commands (#846)
ff7e2d45 README.md: Spelling fix (#845)
32a1e397 Bugfix/wsl selftest fixes. Fixes #839 (#843)
8e48105d CMake; windows: link to lowercase 'shlwapi' - consistent with headers (#840)
df4f9fe3 docs: fix typo (#837)
4abdfbb8 Add RISC-V support in cycleclock::Now (#833)
04a9343f Make some functions const (#832)
090faecb Use IterationCount in one more place
f92903cc Iteration counts should be `uint64_t` globally. (#817)
2e7203aa CMake: check CMAKE_CXX_COMPILER_ID, not CMAKE_C_COMPILER_ID
12c978c5 Mark CMake project as C++-only (#681)
b988639f Fix compilation for Android (#816)
33d44046 Don't read CMAKE_BUILD_TYPE if it is not there (#811)
7d856b03 If gtest targets are already defined, use them. (#777)
823d2463 Add support for GNU Install Dirs from GNU Coding Standards. Fixes #807 (#808)
13b8bdc2 Bump required cmake version from 2.x to 3.x (#801)
94115f44 Revert "Travis-ci: more correctly pass -m32 to 32-bit jobs"
7da47d03 Travis-ci: more correctly pass -m32 to 32-bit jobs
727a81aa CMake: avoid incorrect extra "" around the GOOGLETEST_PATH.
4b771940 CMake: codedrop of googletest cmake magic from me (#809)
05d8c1c5 Improve README (#804)
588be044 escape special chars in csv and json output. (#802)
1d41de84 Add command line flags tests (#793)
415835e0 fix master branch on *BSD (#792)
56fd56dc Refactor U-Test calculation into separate function. (#740)
c5b2fe93 Load http_archive for bazel build
7a1c3702 Add process_time for better OpenMP and user-managed thread timing
30bd6ea7 Fix .clang-format
3bc802e4 Silence CMake Policy 0063 warning (#790)
6a5c379c Set theme jekyll-theme-midnight
64dcec38 Set theme jekyll-theme-midnight
e3666568 Negative ranges #762 (#787)
478eafa3 [JSON] add threads and repetitions to the json output (#748)
fae87266 Replace JSON inf and nan with JS compliant Infinity and NaN
5acb0f05 Travis-ci: fix clang+libc++ build (#783)
f6e96861 BENCHMARK_CAPTURE() and Complexity() - naming problem (#761)
df7c7ee1 [Tooling] report.py: whoops, don't ignore the rest of benches after a bad one.
f62c63b1 [Tooling] report.py: don't crash on BigO/RMS benchmarks
d205ead2 [#774] implement GetNumCPUs(), GetCPUCyclesPerSecond(), and GetCacheSizes() (#775)
0ae233ab [#766] add x-compile support for QNX SDP7 (#770)
7c571338 Prefer -pthread to -lpthread for better compatibility when cross-compiling (#771)
b8ca0c42 README.md: mention that fixture has SetUp() / TearDown()
97393e5e Add -lpthread to pkg-config Libs.private. (#755)
785e2c31 Move Statistics struct to internal namespace (#753)
4b9f43e2 Fix header lines length (#752)
eec9a8e4 Add minimal Conan support (#728)
dc106455 Set CMP0048 policy before project() to silence warnings (#750)
4528c76b Print at least three significant digits for times. (#701)
57bf879d README.md: document State::{Pause,Resume}Timing()
0ed529a7 Update documentation of benchmark_filter (#744)
47a5f77d #722 Adding Host Name in Reporting (#733)
1f3cba06 Update reference to complexity calculation (#723)
5cb8f8a0 Fix signed vs unsigned comparisons in string_util unit tests (#742)
eee8b05c [tools] Run autopep8 and apply fixes found. (#739)
eafa34a5 Remove use of std::tmpnam. (#734)
19f7d5c2 README.md: complexity lambda takes int64_t arg. Fixes #719
c9f2693e StrFormat() is a printf-like function, mark it as such, fix fallout. (#727)
c9311a44 README.md: BM_Sequential(): the return type is 'void'
56f5cd6a Fix C++17 mode compilation with Apple clang (#721)
b1717916 Merge branch 'atdt-report_loadavg'
b5082bbd Merge branch 'report_loadavg' of https://github.com/atdt/benchmark into atdt-report_loadavg
bb15a4e3 Ensure all informational cmake messages have STATUS type
a9b31c51 Disable exceptions in Microsoft STL (#715)
c6193afe Fix parsing of cpuinfo for s390 platform. (#712)
507c06e6 Aggregates: use non-aggregate count as iteration count. (#706)
99d1356c [NFC] BenchmarkRunner: always populate *_report_aggregates_only bools. (#708)
9cacec8e [NFC] RunBenchmarks(): s/has_repetitions/might_have_aggregates/ (#707)
d731697a Fix SOURCE_DIR in HandleGTest.cmake (#705)
8356d646 Revert "Fix SOURCE_DIR in HandleGTest.cmake (#703)" (#704)
60975230 Fix SOURCE_DIR in HandleGTest.cmake (#703)
8503dfe5 benchmark_color: fix auto option (vgough#559) (#699)
9ffb8df6 Fix Clang Detection (#697)
a8082de5 [NFC] Refactor RunBenchmark() (#690)
d8c0f274 Fix possible loss of data warnings in MSVC. (#694)
edc77a36 Make State constructor private. (vgough#650)
eb8cbec0 appveyor ci: drop Visual Studio 12 2013 - unsupported by Google Test master branch. (#691)
aad33aab [Tooling] Rewrite generate_difference_report(). (#678)
439d6b1c Include sys/time.h for cycleclock.h when building on MinGW (#680)
52613079 [benchmark] Lowercase windows specific includes (#679)
a5e9c061 [Tooling] 'display aggregates only' support. (#674)
1b44120c Un-deprecate [SG]et{Item,Byte}sProcessed, re-implement as custom counters. (#676)
58588476 Track two more details about runs - the aggregate name, and run name. (#675)
c614dfc0 *Display* aggregates only. (vgough#665)
f274c503 Backport LLVM's r341717 "Fix flags used to compile benchmark library with clang-cl" (#673)
f0901417 GetCacheSizesMacOSX(): use consistent types. (vgough#667)
a7ed76ad Travis-ci: attempt to add 32-bit osx xcode build (vgough#669)
305ba313 Pass name by const-reference instead of by value in class Statistics' constructor (vgough#668)
fbfc495d add missing closing bracket in --help message (vgough#666)
51599675 Mark Set{Items,Bytes}Processed()/{items,bytes}_processed() as deprecated. (vgough#654)
caa2fcb1 Counter(): add 'one thousand' param. (vgough#657)
d9cab612 [NFC] s/console_reporter/display_reporter/ (vgough#663)
a0018c39 Ignore 32 bit build option when using MSVC (vgough#638)
8688c5c4 Track 'type' of the run - is it an actual measurement, or an aggregate. (vgough#658)
9a179cb9 [NFC] Prefix "report(_)?mode" with Aggregation. (vgough#656)
ede90ba6 Make tests pass on 1-core VMs (vgough#653)
af441fc1 properly escape json names (vgough#652)
94c4d6d5 [Tools] Drop compare_bench.py, compare.py is to be used, add U-test docs. (vgough#645)
f85304e4 Remove redundant default which causes failures (vgough#649)
d939634b README improvements (vgough#648)
f965eab5 Memory management and reporting hooks (vgough#625)
63e183b3 Add note to tools.md regarding scipy.
e1150aca Add Ori Livneh to AUTHORS and CONTRIBUTORS
da9ec3df Include system load average in console and JSON reports
1f35fa4a Update AUTHORS and CONTRIBUTORS (vgough#632)
0c21bc36 Fix build with Intel compiler (vgough#631)
5946795e Disable Intel invalid offsetof warning (vgough#629)
847c0069 fixed Google Test (Primer) Documentation link (vgough#628)
b123abdc Add Iteration-related Counter::Flags. Fixes vgough#618 (vgough#621)
d8584bda Use EXPECT_DOUBLE_EQ when comparing doubles in tests. (vgough#624)
7d03f2df [Tooling] Enable U Test by default, add tooltip about repetition count. (vgough#617)
151ead62 Disable deprecation warnings when -Werror is enabled. (vgough#609)
505be96a Avoid using CMake 3.6 feature list(FILTER ...) (vgough#612)
1301f53e cmake: use numeric version in package config (vgough#611)
7fb3c564 Fix compilation on Android with GNU STL (vgough#596)
4c2af078 (clang-)format all the things (vgough#610)
4fbfa2f3 Some platforms and environments don't pass a valid argc/argv. (vgough#607)
d07372e6 clang-format run on the benchmark header (vgough#606)
7b8d0249 Deprecate CSVReporter - A first step to overhauling reporting. (vgough#488)
16703ff8 cleaner and slightly larger statistics tests (vgough#604)
c8adf453 Add some 'travis_wait' commands to avoid gcc@7 installation timeouts. (vgough#605)
a6a1b0d7 Benchmarking is hard. Making sense of the benchmarking results is even harder. (vgough#593)
ec0f69c2 Update README.md
e776aa02 Add benchmark_main target. (vgough#601)
d7aed736 Corrections, additions to initial doc (vgough#600)
ce3fde16 Return 0 from State::iterations() when not yet started. (vgough#598)
6d74c062 split_list is not defined for assembly tests (vgough#595)
e90801ae Remove unnecessary memset functions. (vgough#591)
718cc91d [Tools] Fix a few python3-compatibility issues (vgough#585)
e8ddd907 There is no "FATAL" in message(), only "FATAL_ERROR" (vgough#584)
16af6450 Run git from the source directory (vgough#589) (vgough#590)
8986839e Use __EMSCRIPTEN__ (rather then EMSCRIPTEN) to check for emscripten (vgough#583)
ea5551e7 Porting into OpenBSD (vgough#582)
62a9d756 Update bazel WORKSPACE and BUILD files to work better on Windows. (vgough#581)
b678a202 Fix bazel config to link against pthread. (vgough#579)
ed1bac84 Issue 571: Allow support for negative regex filtering (vgough#576)
105ac14b Add caching for cxx_feature_check (vgough#573)
64d4805d Fix precision loss warning in MSVC. (vgough#574)
c4858d80 Report the actual iterations run. (vgough#572)
64e5a13f Ensure 64-bit truncation doesn't happen for complexity_n (vgough#569)
50ffc781 Optimize by using nth_element instead of partial_sort to find the median. (vgough#565)
2844167f Fix vgough#564 - gmock/gmock.h not found in benchmark tests.
9913418d Allow AddRange to work with int64_t. (vgough#548)
e7eb54b5 Fix uninitialized warning (vgough#560)
7b03df7f Add tests to verify assembler output -- Fix DoNotOptimize. (vgough#530)
df60aeb2 Rely on compiler intrinsics to identify regex engine. (vgough#555)
e668e2a1 Fix vgough#552 - GCC and Clang warn on possibly invalid offsetof usage.
68e22894 Fix vgough#538 - gtest.h not found when building with older CMake versions.
674d0498 Move thread classes out to clean up monolithic code (vgough#554)
a9beffda Add support for building with Bazel. (vgough#533)
61497236 Make string_util naming more consistent (vgough#547)
f48a28d1 Do not let StrCat be renamed to lstrcatA (vgough#546)
69a52cff Spelling fixes (vgough#543)
47df49e5 Add Solaris support (vgough#539)
ff2c255a Use STCK to get the CPU clock on s390x (vgough#540)
56f52ee2 Print the executable name as part of the context. (vgough#534)
e9a49be7 Update note about linking with pthreads (vgough#536)
19048b7b Fix typo in README.md (vgough#535)
858688b8 Ensure std::iterator_traits<StateIterator> instantiates.
6ecf8a8e Don't include <sys/resource.h> on Fuchsia. (vgough#531)
207b9c7a Improve State packing: put important members on first cache line. (vgough#527)
3924ee7b Fixups following addition of KeepRunningBatch (296ec5693) (vgough#526)
37dbe80f Attempt to fix travis timeouts during apt-get. (vgough#528)
dd8dcc8d Make output tests more stable on slow machines.
562f9d25 Fix GTest workaround on MSVC
906749a4 Work around Gtest build failure caused by -Werror=unused-function. (vgough#529)
296ec569 Support State::KeepRunningBatch(). (vgough#521)
bc83262f .vs/ and CmakeSettings.json to gitignore (vgough#522)
df415adb Some small clang-tidy fixes (vgough#520)
4fe0206b Fixes compilation error caused by integer precision loss due to implicit (vgough#518)
9f5694ce Wrap COMPILER macros. (vgough#514)
e1c3a83b Merge pull request vgough#509 from efcs/fix-gtest-install
778b85a7 Prevent GTest and GMock from being installed with Google Benchmark.
052421c8 Updated documentation. (vgough#503)
e4ccad7c Update README.md
7db02be2 Add support for GTest based unit tests. (vgough#485)
de725e5a Document new 'v2' branch meant for unstable development.
7f2d2cd5 fix xcode travis builds by skipping mkdir errors
5b2c0866 Enforce using a semicolon after BENCHMARK_MAIN to remove compiler warnings (vgough#495)
0bbaeeaf Add GCC on OSX to list of Travis CI configurations. (vgough#492)
95a1435b Fix compilation error with GCC on OSX (issue vgough#490). (vgough#491)
c45f0186 CMake: implement LTO for clang. Fixes vgough#478 (vgough#487)
eae42212 Added the installation guide for Ubuntu (vgough#489)
ec5684ed Console reporter: properly account for the lenght of custom counter names (vgough#484)
2ec7399c Improve BENCHMARK_UNREACHABLE() implementation.
11dc3682 Improve CPU Cache info reporting -- Add Windows support. (vgough#486)
27e0b439 Refactor System information collection -- Add CPU Cache Info (vgough#483)
aad6a5fa Add NetBSD support (vgough#482)
0c3ec998 Add a pkg-config file, for the benefit of projects not using CMake. (vgough#480)
ed5764ea Add doc specifying the scope of the timing calculation
5e66248b [Tools] A new, more versatile benchmark output compare tool (vgough#474)
90aa8665 Reorder inline to avoid warning on MSVC (vgough#469)
f4009ef8 Fix vgough#476. Explicit coersion of size_t to boolean (vgough#477)
72a4581c Fix vgough#382 - MinGW often reports negative CPU times. (vgough#475)
f65c6d9a Remove deprecated headers (vgough#473)
1e525601 Add releasing doc (vgough#472)
336bb8db Update AUTHORS/CONTRIBUTORS (vgough#471)
4463a60e Mention how to disable CPU frequency scaling while running the benchmark. (vgough#466)
fa341e51  Improve BM_SetInsert example (vgough#465)
491360b8 Add option to install benchmark (vgough#463)
25acf220 Refactor most usages of KeepRunning to use the perfered ranged-for. (vgough#459)
22fd1a55 Fix and document SkipWithError(...) using ranged-for loop.
a37fc0c4 Improve KeepRunning loop performance to be similar to the range-based for. (vgough#460)
2fc2ea0e Correct typo in sample code for range-based for loop. (vgough#458)
cacd3218 Avoid implicit float to double conversion (vgough#457)
05267559 Add C++11 Ranged For loop alternative to KeepRunning (vgough#454)
f3cd636f Always use inline asm DoNotOptimize with clang. (vgough#452)
819adb4c Add macros for create benchmark with templated fixture (vgough#451)
2409cb2e Minor move of code to cleanup up namespace spaghetti a bit
a96ff121 Alphabets are hard. AUTHORS version.
5d47e987 Alphabets are hard. CONTRIBUTORS version.
8792dff1 Remove myself from AUTHORS
359120be Order CONTRIBUTORS
84a54ae9 Organize AUTHORS
6d8339dd Fix vgough#444 - Use BENCHMARK_HAS_CXX11 over __cplusplus. (vgough#446)
2a05f248 Improve README's basic usage example (vgough#433)
24b80427 Fix Markdown typos in readme. (vgough#445)
886585a3 [RFC] Tools: compare-bench.py: print change% with two decimal digits (vgough#440)
6e066481 Attempting to resolve a submoduling issues... (vgough#439)
a271c36a Drop Stat1, refactor statistics to be user-providable, add median. (vgough#428)
d7041799 Allow the definition of 1k to be flexible. (vgough#438)
c7192c8a compare_bench.py: fixup benchmark_options. (vgough#435)
90293603 CMake: Fallback from try_run to try_compile when cross-compiling. (vgough#436)
3347a20e reporter_output_test: json: iterations is int, not float (vgough#431)
abafced9 Suppress -Wodr on C++03 tests when LTO is enabled.
d474450b Tooling: generate_difference_report(): show old/new for both values (vgough#427)
b9be142d Json reporter: don't cast floating-point to int; adjust tooling (vgough#426)

git-subtree-dir: vendor/github.com/google/benchmark
git-subtree-split: 361e8d1cfe0c6c36d30b39f1b61302ece5507320
@m-urban
Copy link

m-urban commented Feb 14, 2024

In case someone finds this thread in 2024: Compilation (and execution) still succeed on macOS Sonoma 14.3.1 and Apple Silicon (M2 in my case) with macFUSE 4.6.0, when compiled with GCC 13.
Clang (from Xcode 15) continues to fail with the above problem, as does the "reverse" integration test.

Installation nevertheless worked as per my notes:

  1. brew install cmake gcc macfuse openssl
  2. Enable macFUSE kernel extension for macOS using the recovery system and its
    Startup Security Utility
  3. Clone and go to encfs source directory
  4. mkdir build && cd build
  5. Compiling with clang fails, so let's make sure to use GCC instead:
    export CXX=/opt/homebrew/Cellar/gcc/13.2.0/bin/g++-13
  6. The FUSE library is automatically found after installation in /usr/local/ but
    OpenSSL evidently isn't, so set OPENSSL_ROOT_DIR:
    cmake -DOPENSSL_ROOT_DIR=/opt/homebrew/opt/openssl/ ..
  7. make
  8. make unittests
  9. make test (fails)
  10. make integration (normal.t.pl test suite succeeds, reverse.t.pl fails)
  11. make install (installs into /usr/local by default, override with
    -DCMAKE_INSTALL_PREFIX=/some/other/path)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants