Package Details: folly 2024.10.28.00-1

Git Clone URL: https://aur.archlinux.org/folly.git (read-only, click to copy)
Package Base: folly
Description: An open-source C++ library developed and used at Facebook
Upstream URL: https://github.com/facebook/folly
Licenses: Apache-2.0
Provides: libfolly.so, libfollybenchmark.so, libfolly_test_util.so
Submitter: dseg
Maintainer: ftiasch (MrAnno, carsme)
Last Packager: carsme
Votes: 7
Popularity: 0.000520
First Submitted: 2015-03-20 08:29 (UTC)
Last Updated: 2024-11-03 16:14 (UTC)

Pinned Comments

carsme commented on 2023-12-07 04:02 (UTC)

BREAKING CHANGE: This package now builds shared objects:

/usr/lib/libfolly.so
/usr/lib/libfolly_test_util.so
/usr/lib/libfollybenchmark.so

instead of the static libraries:

/usr/lib/libfolly.a
/usr/lib/libfolly_exception_counter.a
/usr/lib/libfolly_exception_tracer.a
/usr/lib/libfolly_exception_tracer_base.a
/usr/lib/libfolly_test_util.a
/usr/lib/libfollybenchmark.a

Downstream packages must move folly from the makedepends to depends array to stay functional.

We are doing this change since dynamic rather than static linking between packages is more in line with Arch Linux packaging practices (or just Linux packaging practices in general).

Latest Comments

1 2 3 4 5 Next › Last »

ftiasch commented on 2024-09-16 13:25 (UTC)

@joshm No, it's not. cython is listed as a make dependency. You can try makepkg -s to ensure make dependencies are installed properly if you built the AUR package manually.

joshm commented on 2024-09-16 13:14 (UTC) (edited on 2024-09-16 13:19 (UTC) by joshm)

ModuleNotFoundError: No module named 'Cython'

After manually installing the Cython package, I can update Folly. Is this a known issue?

Edit: actually the build just failed later on with:

make: *** [Makefile:146: all] Error 2
==> ERROR: A failure occurred in build().

Jason0xcc commented on 2024-08-31 21:24 (UTC) (edited on 2024-08-31 21:25 (UTC) by Jason0xcc)

Hello @MrAnno! Could you update the package to fix the problem below? I checked the git history and found that it's been fixed in latest folly code


yay/folly/src/folly-2024.05.27.00/folly/json/test/DynamicOtherTest.cpp: In member function ‘virtual void Dynamic_FormattedIO_Test::TestBody()’:
yay/folly/src/folly-2024.05.27.00/folly/json/test/DynamicOtherTest.cpp:318:52: error: ‘setprecision’ is not a member of ‘std’
  318 |   out << "0x" << std::hex << ++dint << ' ' << std::setprecision(1) << doubl
      |                                                    ^~~~~~~~~~~~
yay/folly/src/folly-2024.05.27.00/folly/json/test/DynamicOtherTest.cpp:24:1: note: ‘std::setprecision’ is defined in header ‘<iomanip>’; this is probably fixable by adding ‘#include <iomanip>’

   23 | #include <folly/portability/GTest.h>
  +++ |+#include <iomanip>

carsme commented on 2023-12-07 04:02 (UTC)

BREAKING CHANGE: This package now builds shared objects:

/usr/lib/libfolly.so
/usr/lib/libfolly_test_util.so
/usr/lib/libfollybenchmark.so

instead of the static libraries:

/usr/lib/libfolly.a
/usr/lib/libfolly_exception_counter.a
/usr/lib/libfolly_exception_tracer.a
/usr/lib/libfolly_exception_tracer_base.a
/usr/lib/libfolly_test_util.a
/usr/lib/libfollybenchmark.a

Downstream packages must move folly from the makedepends to depends array to stay functional.

We are doing this change since dynamic rather than static linking between packages is more in line with Arch Linux packaging practices (or just Linux packaging practices in general).

carsme commented on 2023-12-05 13:10 (UTC)

Hey, would you mind adding me as co-maintainer? I maintain the downstream packages https://aur.archlinux.org/packages/edencommon and https://aur.archlinux.org/packages/watchman so I'd be happy to help keep this package up-to-date every week :) Thanks!

gdiscry commented on 2023-08-28 15:03 (UTC)

Could you force-disable LTO in the PKGBUILD?

I was trying to build edencommon and watchman with makechrootpkg (through aurutils) and LTO is enabled by the default configuration in devtools (from what I can tell).

By adding the following line, building those packages works even when LTO is globally enabled in makepkg.conf.

options=('!lto')

ftiasch commented on 2022-06-22 06:44 (UTC)

Due to https://github.com/facebook/folly/issues/1800, the update of the AUR package will be paused until build can success.

ehlegeth commented on 2022-05-26 00:06 (UTC) (edited on 2022-05-26 00:22 (UTC) by ehlegeth)

It would be great if you can update this package to the latest release. I found the latest release fixes the build problem identified by jghodd 1 month ago.

diff --git a/.SRCINFO b/.SRCINFO
index 09e221a..f32f51d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
 pkgbase = folly
    pkgdesc = An open-source C++ library developed and used at Facebook
-   pkgver = 2022.04.25.00
+   pkgver = 2022.05.23.00
    pkgrel = 1
    url = https://github.com/facebook/folly
    arch = x86_64
@@ -29,6 +29,6 @@ pkgbase = folly
    depends = liburing
    depends = libunwind
    source = https://github.com/facebook/folly/archive/v2022.04.25.00.tar.gz
-   sha256sums = 0143d922291e0a31ba1ef2a7557d89f163ec7cb8093bfae8d56ab14f5ea5cf61
+   sha256sums = 9e888bcd310e57b993c7e9efc7ff133a394620910448e60da5b8e88568f27f93

 pkgname = folly
diff --git a/PKGBUILD b/PKGBUILD
index a7caec7..1d8cd2b 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
 # Contributor: Daichi Shinozaki <dsdseg@gmail.com>

 pkgname=folly
-pkgver=2022.04.25.00
+pkgver=2022.05.23.00
 pkgrel=1
 pkgdesc="An open-source C++ library developed and used at Facebook"
 arch=('x86_64')
@@ -14,7 +14,7 @@ depends=('snappy' 'jemalloc' 'double-conversion' 'gflags' 'google-glog' 'libeven
          'libdwarf' 'libaio' 'liburing' 'libunwind')
 makedepends=('cmake' 'gtest' 'gmock')
 source=("https://github.com/facebook/$pkgname/archive/v${pkgver}.tar.gz")
-sha256sums=('0143d922291e0a31ba1ef2a7557d89f163ec7cb8093bfae8d56ab14f5ea5cf61')
+sha256sums=('9e888bcd310e57b993c7e9efc7ff133a394620910448e60da5b8e88568f27f93')

 build() {
   cd "$pkgname-$pkgver"

jghodd commented on 2022-04-29 12:55 (UTC)

another build error with the latest release:


Building CXX object CMakeFiles/folly_base.dir/folly/init/Init.cpp.o
/distro/local/repository/folly/src/folly-2022.04.25.00/folly/init/Init.cpp: In function ‘void folly::init(int*, char***, folly::InitOptions)’:
/distro/local/repository/folly/src/folly-2022.04.25.00/folly/init/Init.cpp:79:34: error: invalid conversion from ‘void (*)() noexcept’ to ‘google::logging_fail_func_t’ {aka ‘void (*)() __attribute__((noreturn))’} [-fpermissive]
   79 |   google::InstallFailureFunction(abort);
      |                                  ^~~~~
      |                                  |
      |                                  void (*)() noexcept
In file included from /distro/local/repository/folly/src/folly-2022.04.25.00/folly/init/Init.cpp:19:
/usr/include/glog/logging.h:642:61: note:   initializing argument 1 of ‘void google::InstallFailureFunction(google::logging_fail_func_t)’
  642 | GLOG_EXPORT void InstallFailureFunction(logging_fail_func_t fail_func);
      |                                         ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
make[2]: *** [CMakeFiles/folly_base.dir/build.make:2260: CMakeFiles/folly_base.dir/folly/init/Init.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:145: CMakeFiles/folly_base.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

had to fix this by adding a hard cast of (google::logging_fail_func_t) to line 79 of Init.cpp:


    google::InstallFailureFunction((google::logging_fail_func_t)abort);

jghodd commented on 2022-04-24 20:20 (UTC) (edited on 2022-04-24 20:24 (UTC) by jghodd)

thus far, it seems that hard coding the path into FindLibDwarf.cmake is working, but should not be the real solution.


./CMake/FindLibDwarf.cmake:  set(LIBDWARF_INCLUDE_DIRS "/usr/include/libdwarf/libdwarf-0")

the issue is that DW_SECT_INFO, DW_SECT_ABBREV and DW_SECT_STR_OFFSETS are only defined in /usr/include/libdwarf/libdwarf-0/dwarf.h