Skip to content

Conversation

@Empact
Copy link
Contributor

@Empact Empact commented Jan 31, 2019

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

@Empact Empact changed the title ci: Build and test Trusty against system libraries, fix incompatibilities travis: Build and test Trusty against system libraries, fix incompatibilities Jan 31, 2019
@fanquake fanquake added the Tests label Jan 31, 2019
@DrahtBot
Copy link
Contributor

DrahtBot commented Feb 1, 2019

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

Conflicts

No conflicts as of last run.

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
Thus building against system rather than depends libs

This reverts commit fa5ce3f.
@Empact Empact force-pushed the trusty-no-depends branch from b097afa to 119d360 Compare February 1, 2019 09:09
@Empact
Copy link
Contributor Author

Empact commented Feb 1, 2019

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.

@maflcko maflcko added this to the 0.18.0 milestone Feb 1, 2019
@maflcko maflcko changed the title travis: Build and test Trusty against system libraries, fix incompatibilities build: Restore compatibility with older boost Feb 1, 2019
@maflcko maflcko added Refactoring and removed Tests labels Feb 1, 2019
@maflcko
Copy link
Member

maflcko commented Feb 1, 2019

ACK. Could do the value_or replacement as scripted diff?

@Sjors
Copy link
Member

Sjors commented Feb 1, 2019

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

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

Copy link
Contributor

@ryanofsky ryanofsky left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

utACK 119d360

@maflcko maflcko merged commit 119d360 into bitcoin:master Feb 1, 2019
maflcko pushed a commit that referenced this pull request Feb 1, 2019
119d360 travis: Document whether functional tests are run in the job name (Ben Woosley)
64f2854 Revert "travis: Compile trusty with depends for now" (Ben Woosley)
267eac0 Prefer boost::optional#get_value_or over #value_or (Ben Woosley)
1971f5b Piecewise construct to avoid invalid construction (Ben Woosley)

Pull request description:

  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

Tree-SHA512: 6cff5e28c756ecb8bf797c8f6eb77c1944ba61a8dd6d7d4984e63eef384f6429dc79c505da3241c05b9c4db31c72b2a9846c7365aba9280f2e0620e5f3998d07
@Empact Empact deleted the trusty-no-depends branch February 1, 2019 18:11
deadalnix pushed a commit to Bitcoin-ABC/bitcoin-abc that referenced this pull request May 20, 2020
Summary:
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

---

This is a partial backport of Core [[bitcoin/bitcoin#15308 | PR15308]]

Test Plan:
  ninja check

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D6148
ftrader pushed a commit to bitcoin-cash-node/bitcoin-cash-node that referenced this pull request Aug 17, 2020
Summary:
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

---

This is a partial backport of Core [[bitcoin/bitcoin#15308 | PR15308]]

Test Plan:
  ninja check

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D6148
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

One Travis instance should run minimum supported QT version

6 participants