4 of 6 standards met
The -use variants of memcpy_aarch64 and memset_aarch64 were being included in the monolithic libfolly.so, causing duplicate symbol errors because they compile the same assembly files as the non-use variants. Add EXCLUDE_FROM_MONOLITH to memcpy_aarch64-use and memset_aarch64-use to match the pattern used for memcpy-use and memset-use in the main folly/CMakeLists.txt. The -use variants are meant for explicit opt-in to override libc memcpy/memset, not for inclusion in the main library.
Repository: facebook/folly. Description: An open-source C++ library developed and used at Facebook. Stars: 30273, Forks: 5853. Primary language: C++. Languages: C++ (88.8%), Starlark (4.6%), Python (2.4%), CMake (2.2%), C (0.8%). License: Apache-2.0. Latest release: v2026.03.02.00 (3d ago). Open PRs: 100, open issues: 330. Last activity: 2h ago. Community health: 75%. Top contributors: yfeldblum, Orvid, ot, simpkins, snarkmaster, Gownta, dmm-fb, mzlee, tudor, LeeHowes and others.
Last 12 weeks · 572 commits
folly_create_monolithic_library() is called unconditionally in the top-level CMakeLists.txt. When folly is consumed via FetchContent / add_subdirectory, the granular component OBJECT libraries are already available as build targets. The monolithic libfolly.a may not be desired in some use cases e.g., downstream projects that link against the granular libs Request: add a CMake option (e.g. FOLLY_BUILD_MONOLITHIC, defaulting to ON) to skip the monolithic library assembly. When off, an INTERFACE target named folly could aggregate the component targets so downstream target_link_libraries(... folly) calls continue to work without change.
I noticed that the segfaults if is less than 8. Is it implicit that the allocator is used for objects greater than or equal to 8 bytes?
Greetings from @conan-io, We are trying to update recipe in Conan Center Index: https://github.com/conan-io/conan-center-index/pull/27995#issuecomment-3317452387 While testing, we found that trying to compile folly with C++17 throws several errors, among them: It seems is directly using C++20 features in their source files. So I guess at least C++20 is needed in order to compile the library. But is still safe to be used (as a dependency) from a C++17 context? Menaning that if this library (nowadays) is still think to be used from C++17. In the project README, it clearly says that it is a C++17 library https://github.com/facebook/folly/blob/main/README.md?plain=1#L13