Compile with -DBOOST_CHRONO_HEADER_ONLY for maximum compatibility #2633

pull gavinandresen wants to merge 1 commits into bitcoin:master from gavinandresen:boost_chrono_headeronly changing 4 files +5 −3
  1. gavinandresen commented at 1:59 PM on May 9, 2013: contributor

    This adds -DBOOST_CHRONO_HEADER_ONLY to the makefiles, to fix a compiler error I ran across doing pre-0.8.2 builds in my OSX 10.6 build environment (and that I saw reported by other people).

  2. Diapolo commented at 2:26 PM on May 9, 2013: none

    You should perhaps also add this for bitcoin-qt.pro I guess.

  3. BitcoinPullTester commented at 2:31 PM on May 9, 2013: none

    Automatic sanity-testing: FAILED BUILD/TEST, see http://jenkins.bluematt.me/pull-tester/f1560d9fe0e00f875353237f6d0224acc3bab07a for binaries and test log.

    This could happen for one of several reasons:

    1. It chanages paths in makefile.linux-mingw or otherwise changes build scripts in a way that made them incompatible with the automated testing scripts (please tweak those patches in contrib/test-scripts)
    2. It adds/modifies tests which test network rules (thanks for doing that), which conflicts with a patch applied at test time
    3. It does not build on either Linux i386 or Win32 (via MinGW cross compile)
    4. The test suite fails on either Linux i386 or Win32
    5. The block test-cases failed (lookup the first bNN identifier which failed in https://github.com/TheBlueMatt/test-scripts/blob/master/FullBlockTestGenerator.java)

    If you believe this to be in error, please ping BlueMatt on freenode or TheBlueMatt here.

    This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.

  4. jgarzik commented at 2:51 PM on May 9, 2013: contributor

    Please paste the compiler error into the commit. The details about what this solves remain vague.

  5. sipa commented at 2:51 PM on May 9, 2013: member

    @TheBlueMatt do these error messages mean that -DBOOST_CHRONO_HEADER_ONLY doesn't work on Windows? We can just disable it there, as we link with boost_chrono on Windows anyway.

  6. TheBlueMatt commented at 3:35 PM on May 9, 2013: member

    Hmm... "error: WinError.h: No such file or directory" maybe a mingw issue?

  7. TheBlueMatt commented at 3:38 PM on May 9, 2013: member

    In any case, it did try to use ERROR_NOT_SUPPORTED, so I suppose it may be trying to call some error handler...

  8. gavinandresen commented at 6:23 PM on May 9, 2013: contributor

    Bah.

    Linking against the boost chrono library on all platforms is another option; we should be consistent.

    FYI: error is:

    Undefined symbols: "boost::chrono::steady_clock::now()", referenced from: boost::cv_status boost::condition_variable::wait_for<long long, boost::ratio<1ll, 1000000000ll> >(boost::unique_lockboost::mutex&, boost::chrono::duration<long long, boost::ratio<1ll, 1000000000ll> > const&)in bitcoinrpc.o boost::cv_status boost::condition_variable::wait_for<long long, boost::ratio<1ll, 1000000000ll> >(boost::unique_lockboost::mutex&, boost::chrono::duration<long long, boost::ratio<1ll, 1000000000ll> > const&)in bitcoinrpc.o "boost::chrono::system_clock::now()", referenced from: boost::cv_status boost::condition_variable::wait_for<long long, boost::ratio<1ll, 1000000000ll> >(boost::unique_lockboost::mutex&, boost::chrono::duration<long long, boost::ratio<1ll, 1000000000ll> > const&)in bitcoinrpc.o

  9. Link with boost_chrono library on all platforms
    Some versions of the boost thread library need the boost chrono library to
    avoid linker errors like:
    
    Undefined symbols:
      "boost::chrono::steady_clock::now()", referenced from:
          boost::cv_status boost::condition_variable::wait_for<long long, boost::ratio<1ll, 1000000000ll> >(boost::unique_lock<boost::mutex>&, boost::chrono::duration<long long, boost::ratio<1ll, 1000000000ll> > const&)in bitcoinrpc.o
    
    The windows builds already linked with boost_chrono and the OSX 10.5-compatible build was failing. This pull makes the boost libraries we link against consistent on Windows/OSX/Linux.
    fdcc3f1aee
  10. BitcoinPullTester commented at 8:19 PM on May 9, 2013: none

    Automatic sanity-testing: FAILED BUILD/TEST, see http://jenkins.bluematt.me/pull-tester/fdcc3f1aee11701668d841cadd54c63be9526d73 for binaries and test log.

    This could happen for one of several reasons:

    1. It chanages paths in makefile.linux-mingw or otherwise changes build scripts in a way that made them incompatible with the automated testing scripts (please tweak those patches in contrib/test-scripts)
    2. It adds/modifies tests which test network rules (thanks for doing that), which conflicts with a patch applied at test time
    3. It does not build on either Linux i386 or Win32 (via MinGW cross compile)
    4. The test suite fails on either Linux i386 or Win32
    5. The block test-cases failed (lookup the first bNN identifier which failed in https://github.com/TheBlueMatt/test-scripts/blob/master/FullBlockTestGenerator.java)

    If you believe this to be in error, please ping BlueMatt on freenode or TheBlueMatt here.

    This test script verifies pulls every time they are updated. It, however, dies sometimes and fails to test properly. If you are waiting on a test, please check timestamps to verify that the test.log is moving at http://jenkins.bluematt.me/pull-tester/current/ Contact BlueMatt on freenode if something looks broken.

  11. gavinandresen commented at 9:02 PM on May 9, 2013: contributor

    frickin frackin....

    Ok, so -DBOOST_CHRONO_HEADERONLY breaks the Windows build. Linking against boost_chrono breaks the Linux build.

    I suppose we'll have to live with being inconsistent, and link boost_chrono on Windows/OSX but not Linux.

  12. gavinandresen closed this on May 9, 2013

  13. gavinandresen deleted the branch on Nov 4, 2013
  14. DrahtBot locked this on Sep 8, 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: 2026-05-02 15:16 UTC

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