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

folly: modernization followup #15726

Closed
wants to merge 45 commits into from

Conversation

Hopobcn
Copy link
Contributor

@Hopobcn Hopobcn commented Feb 4, 2023

Specify library name and version: folly

My attempt at continuing #13757 work

@kexianda contributions:

  • bumpup to v20221031.00
  • conan v2 support
  • only include needed boost components, not all the boost components, to avoid static link order issue in some cases.
  • remove cmake version limitation, it works now when the version is greater than 3.17
  • attached a script for fixing folly-deps.cmake.

@Hopobcn contributions:

  • more conan v2 modernization:
    • reorder includes, min_cppstd, compilers_minimum_version according to docs/package_templates
    • use export_conandata_patches
    • use rm_safe
    • rewrite compiler support checks
    • stop using tools.cppstd_flag
  • fixed minor typos
  • handle stdc++fs system_lib
  • bump zlib requirement to 1.2.13 (another requirements already depend on zlib/1.2.13, for instance, this might reduce changes boost gets recompiled)

@Hopobcn Hopobcn changed the title Folly modernization followup folly: modernization followup Feb 4, 2023
@ghost
Copy link

ghost commented Feb 4, 2023

I detected other pull requests that are modifying folly/all recipe:

This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there.

@ghost ghost mentioned this pull request Feb 4, 2023
4 tasks
@Hopobcn
Copy link
Contributor Author

Hopobcn commented Feb 4, 2023

I have seen that folly/2019.10.21.00 tries to find libaio https://github.com/facebook/folly/blob/v2019.10.21.00/CMake/folly-deps.cmake#L112 but that dependency seems entirely optional.

And folly/2020.08.10.00 does the same with liburing https://github.com/facebook/folly/blob/v2020.08.10.00/CMake/folly-deps.cmake#L132

What is the CCI policy for these cases? Add with_libaio, with_liburing flags?

@conan-center-bot

This comment has been minimized.

…hecks pass, but default_cppstd is lower than minimal_cppstd
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@Hopobcn Hopobcn force-pushed the folly-modernization-followup branch from 30b6d40 to 971473b Compare February 5, 2023 21:10
@Hopobcn Hopobcn force-pushed the folly-modernization-followup branch from 971473b to d58de97 Compare February 5, 2023 21:10
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

- make boost, double-conversion, glog, libevent, fmt available to consumers
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@Hopobcn Hopobcn closed this Jun 22, 2023
@Hopobcn Hopobcn reopened this Jun 22, 2023
@Hopobcn
Copy link
Contributor Author

Hopobcn commented Jun 22, 2023

ci is broken :-(

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 35 (dda99124c39b58744ef31cf1eb42551cd0b98776):

  • folly/2022.10.31.00@:
    All packages built successfully! (All logs)

  • folly/2020.08.10.00@:
    All packages built successfully! (All logs)

  • folly/2022.01.31.00@:
    All packages built successfully! (All logs)


Conan v2 pipeline ❌

Note: Conan v2 builds may be required once they are on the v2 ready list

The v2 pipeline failed. Please, review the errors and note this will be required for pull requests to be merged in the near future.

See details:

Failure in build 33 (dda99124c39b58744ef31cf1eb42551cd0b98776):

  • folly/2022.01.31.00@:
    Didn't run or was cancelled before finishing

  • folly/2022.10.31.00@:
    Didn't run or was cancelled before finishing

  • folly/2020.08.10.00@:
    CI failed to create some packages (All logs)

    Logs for packageID 79b0ef1cec0423bfa7f42de67b9b93934bf8c823:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.cppstd=17
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    [options]
    */*:shared=True
    
    [...]
    -- Conan: Component target declared 'libevent::pthreads'
    -- Conan: Target declared 'libevent::libevent'
    -- Conan: Component target declared 'OpenSSL::Crypto'
    -- Conan: Component target declared 'OpenSSL::SSL'
    -- Conan: Target declared 'openssl::openssl'
    -- Conan: Including build module from '/home/conan/w/prod-v2/BuildSingleReference/p/opens5a65aebdb83a3/p/lib/cmake/conan-official-openssl-variables.cmake'
    -- Conan: Target declared 'LZ4::lz4_shared'
    -- Conan: Component target declared 'Snappy::snappy'
    -- Conan: Component target declared 'zstd::libzstd_shared'
    -- Conan: Target declared 'libdwarf::libdwarf'
    -- Conan: Target declared 'libelf::libelf'
    -- Conan: Target declared 'libsodium::libsodium'
    -- Conan: Component target declared 'fmt::fmt'
    -- Configuring done
    -- Generating done
    CMake Warning:
      Manually-specified variables were not used by the project:
    
        CMAKE_POLICY_DEFAULT_CMP0091
    
    
    -- Build files have been written to: /home/conan/w/prod-v2/BuildSingleReference/cci-e295a174/recipes/folly/all/test_package/build/gcc-11-x86_64-17-release
    
    folly/2020.08.10.00 (test package): Running CMake.build()
    folly/2020.08.10.00 (test package): RUN: cmake --build "/home/conan/w/prod-v2/BuildSingleReference/cci-e295a174/recipes/folly/all/test_package/build/gcc-11-x86_64-17-release" -- -j3
    Scanning dependencies of target test_package
    [ 50%] Building CXX object CMakeFiles/test_package.dir/test_package.cpp.o
    [100%] Linking CXX executable test_package
    /opt/conan/binutils/bin/ld: warning: libbacktrace.so.0, needed by /home/conan/w/prod-v2/BuildSingleReference/p/b/folly7f6ad623ed36a/p/lib/libfolly_exception_counter.so, not found (try using -rpath or -rpath-link)
    /opt/conan/binutils/bin/ld: /home/conan/w/prod-v2/BuildSingleReference/p/boost360f88a9141f0/p/lib/libboost_stacktrace_backtrace.so.1.78.0: undefined reference to `backtrace_create_state'
    /opt/conan/binutils/bin/ld: /home/conan/w/prod-v2/BuildSingleReference/p/boost360f88a9141f0/p/lib/libboost_stacktrace_backtrace.so.1.78.0: undefined reference to `backtrace_pcinfo'
    /opt/conan/binutils/bin/ld: /home/conan/w/prod-v2/BuildSingleReference/p/boost360f88a9141f0/p/lib/libboost_stacktrace_backtrace.so.1.78.0: undefined reference to `backtrace_syminfo'
    collect2: error: ld returned 1 exit status
    CMakeFiles/test_package.dir/build.make:124: recipe for target 'test_package' failed
    make[2]: *** [test_package] Error 1
    CMakeFiles/Makefile2:75: recipe for target 'CMakeFiles/test_package.dir/all' failed
    make[1]: *** [CMakeFiles/test_package.dir/all] Error 2
    Makefile:83: recipe for target 'all' failed
    make: *** [all] Error 2
    
    *********************************************************
    Recipe 'folly/2020.08.10.00 (test package)' cannot build its binary
    It is possible that this recipe is not Conan 2.0 ready
    If the recipe comes from ConanCenter check: https://conan.io/cci-v2.html
    If it is your recipe, check if it is updated to 2.0
    *********************************************************
    
    ERROR: folly/2020.08.10.00 (test package): Error in build() method, line 27
    	cmake.build()
    	ConanException: Error 2 while executing
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@Hopobcn
Copy link
Contributor Author

Hopobcn commented Jun 27, 2023

Cannot reproduce CI build issue.

@Hopobcn
Copy link
Contributor Author

Hopobcn commented Jul 5, 2023

No longer interested on this

@Hopobcn Hopobcn closed this Jul 5, 2023
@curoky
Copy link
Contributor

curoky commented Jul 14, 2023

Perhaps we don't need to support version folly/2020.08.10.00 anymore?

Folly does not have the stable version and there are releases every week, and the interface often breaks. Continuously supporting older versions doesn't make sense and actually slow down updates.

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

Successfully merging this pull request may close these issues.

6 participants