build: Restore compatibility with older boost #15308

pull Empact wants to merge 4 commits into bitcoin:master from Empact:trusty-no-depends changing 5 files +14 −9
  1. Empact commented at 10:41 pm on January 31, 2019: member

    In light of #14979, I realized that only qt 5.5+ was being tested under CI, while compatibility lists 5.2+.

    In #15276, Marco added Trusty to CI, building with depends. This changes that build to system libraries, in order to ensure ongoing compatibility with our claimed minimum required versions.

    Fixes #14983, previously open as #14998

  2. Empact renamed this:
    ci: Build and test Trusty against system libraries, fix incompatibilities
    travis: Build and test Trusty against system libraries, fix incompatibilities
    on Jan 31, 2019
  3. fanquake added the label Tests on Jan 31, 2019
  4. DrahtBot commented at 1:34 am on February 1, 2019: member

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Conflicts

    No conflicts as of last run.

  5. Piecewise construct to avoid invalid construction
    In CMainSignals::RegisterWithMempoolSignals running under Ubuntu 14.04
    (QT 5.2), absent piecewise construction this fails to create the pair
    because the argument is a connection, which is converted into a
    non-copyable scoped_connection.
    
        validationinterface.cpp:80:186:   required from here
        /usr/include/boost/signals2/connection.hpp:234:7: error: ‘boost::signals2::scoped_connection::scoped_connection(const boost::signals2::scoped_connection&)’ is private
               scoped_connection(const scoped_connection &other);
               ^
        In file included from /usr/include/c++/4.8/utility:70:0,
                         from /usr/include/c++/4.8/algorithm:60,
                         from ./prevector.h:13,
                         from ./script/script.h:10,
                         from ./primitives/transaction.h:11,
                         from ./validationinterface.h:9,
                         from validationinterface.cpp:6:
        /usr/include/c++/4.8/bits/stl_pair.h:134:45: error: within this context
          : first(std::forward<_U1>(__x)), second(__y) { }
    https://travis-ci.org/bitcoin/bitcoin/jobs/473689141#L2172
    1971f5ba04
  6. Prefer boost::optional#get_value_or over #value_or
    The latter is not defined in the earliest supported version of boost,
    1.47.
    https://www.boost.org/doc/libs/1_47_0/libs/optional/doc/html/boost_optional/detailed_semantics.html
    https://travis-ci.org/bitcoin/bitcoin/jobs/486674823
    267eac00f9
  7. Revert "travis: Compile trusty with depends for now"
    Thus building against system rather than depends libs
    
    This reverts commit fa5ce3f10ea98e5cd6bdd829b5b7b8fd2736d286.
    64f28545e3
  8. travis: Document whether functional tests are run in the job name 119d360aab
  9. Empact force-pushed on Feb 1, 2019
  10. Empact commented at 9:24 am on February 1, 2019: member
    Set out to prove that each commit was necessary and realized instead that I could drop several of them thanks to functional tests being disabled (unlike in #14998). As you can see, the commits that remain correct incompatibilities with the earlier Boost version, 1.47.
  11. MarcoFalke added this to the milestone 0.18.0 on Feb 1, 2019
  12. MarcoFalke renamed this:
    travis: Build and test Trusty against system libraries, fix incompatibilities
    build: Restore compatibility with older boost
    on Feb 1, 2019
  13. MarcoFalke added the label Refactoring on Feb 1, 2019
  14. MarcoFalke removed the label Tests on Feb 1, 2019
  15. MarcoFalke commented at 4:42 pm on February 1, 2019: member
    ACK. Could do the value_or replacement as scripted diff?
  16. MarcoFalke added the label Build system on Feb 1, 2019
  17. Sjors commented at 5:47 pm on February 1, 2019: member

    Concept ACK and 119d360 still builds fine for me on macOS.

    Maybe @ryanofsky can sanity check the CMainSignals::RegisterWithMempoolSignals( change.

  18. ryanofsky approved
  19. ryanofsky commented at 5:59 pm on February 1, 2019: member
    utACK 119d360aabfac893cb95def9d20aae7493c933ab
  20. MarcoFalke merged this on Feb 1, 2019
  21. MarcoFalke closed this on Feb 1, 2019

  22. MarcoFalke referenced this in commit 2c0867a181 on Feb 1, 2019
  23. Empact deleted the branch on Feb 1, 2019
  24. deadalnix referenced this in commit 71d6127ca5 on May 20, 2020
  25. ftrader referenced this in commit 93fee1cfbb on Aug 17, 2020
  26. MarcoFalke locked this on Dec 16, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-10-05 01:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me