Require ZMQ version 4.x and update/cleanup zmq docs #6736

pull jmcorgan wants to merge 2 commits into bitcoin:master from jmcorgan:update-zmq-docs changing 4 files +50 −34
  1. jmcorgan commented at 5:55 PM on September 29, 2015: contributor

    This PR changes the configure.ac to require ZMQ version 4.x or newer, which is provided on Debian and derivatives as package libzmq3-dev. It also updates the release notes, build-unix.md, and zmq.md docs to reflect this change and add missing documentation.

    (Whitespace changes are purely trimming of extraneous previous whitespace by my editor.)

  2. zmq: require version 4.x or newer of libzmq
    Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
    6cebd5d854
  3. zmq: update and cleanup build-unix, release-notes, and zmq docs
    Signed-off-by: Johnathan Corgan <johnathan@corganlabs.com>
    ab0b8be857
  4. jmcorgan renamed this:
    Update zmq docs
    Require ZMQ version 4.x and update/cleanup zmq docs
    on Sep 29, 2015
  5. laanwj added the label Docs and Output on Sep 29, 2015
  6. in configure.ac:None in ab0b8be857
     156 | @@ -157,11 +157,11 @@ if test "x$enable_debug" = xyes; then
     157 |      if test "x$GCC" = xyes; then
     158 |          CFLAGS="$CFLAGS -g3 -O0"
     159 |      fi
     160 | -    
     161 | +
    


    laanwj commented at 7:12 PM on September 29, 2015:

    as discussed on IRC, I'd prefer to not have the unnecessary whitespace changes here in sections you're otherwise not touching

  7. laanwj commented at 7:13 PM on September 29, 2015: member

    utACK apart from unnecessary space changes in build system

  8. gavinandresen commented at 7:21 PM on September 29, 2015: contributor

    utACK.

    Suggested addition, add zeromq to the build-osx.md dependencies:

    diff --git a/doc/build-osx.md b/doc/build-osx.md
    index 201fe95..af0d2c4 100644
    --- a/doc/build-osx.md
    +++ b/doc/build-osx.md
    @@ -32,7 +32,7 @@ Instructions: Homebrew
    
     #### Install dependencies using Homebrew
    
    -        brew install autoconf automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf qt5 libevent
    +        brew install autoconf automake berkeley-db4 libtool boost miniupnpc openssl pkg-config protobuf qt5 libevent zeromq
    
     NOTE: Building with Qt4 is still supported, however, could result in a broken UI. As such, building with Qt5 is recommended.
    

    (installs ZMQ version 4.1.3 right now)

  9. jmcorgan commented at 7:23 PM on September 29, 2015: contributor

    Those changes all remove excess or invisible whitespace, which my editor does as a way of not introducing them in the first place. I'd rather not turn this feature off only when editing bitcoin source code.

  10. jmcorgan commented at 7:23 PM on September 29, 2015: contributor

    @gavinandresen I think there is an existing PR for that, I'll check.

  11. laanwj commented at 7:31 PM on September 29, 2015: member

    Those changes all remove excess or invisible whitespace, which my editor does as a way of not introducing them in the first place. I'd rather not turn this feature off only when editing bitcoin source code. @jmcorgan I understand it's annoying to have to change editor settings per project. But unnecessary whitespace changes create more merge conflicts/rebases. This is acceptable for relatively seldom changing files like the documentation, but not for e.g. configure.ac. Changes to code should be as localized as possible.

  12. theuni commented at 7:50 PM on September 29, 2015: member

    tangentially related: I have a fixed version of #6686 coming up, just doing a few tests first.

  13. theuni commented at 7:52 PM on September 29, 2015: member

    There are docs illustrating how to remain compatible with the 2.x api here: http://zeromq.org/docs:3-1-upgrade

    Since there are obviously lots of 2.x/3.x libs still in the wild, I think it makes sense to try to support them instead.

  14. jmcorgan commented at 8:07 PM on September 29, 2015: contributor

    I'll leave it to the core-devs to decide what compatibility they want to introduce here. If previous API compatibility is desired, there will need to be code changes, and we'll start this process all over again. Alternatively, it could be accepted as-is, and if it turns out users want that, it could be changed at that point.

  15. theuni commented at 8:15 PM on September 29, 2015: member

    @jmcorgan What do you mean by starting the process all over again?

    I've pushed a change here that fixes build with >=libzmq 2.2.0: https://github.com/theuni/bitcoin/commit/a89a62f95029b25ce31692749871d358d02ae7b7

    Verified that the rpc tests are successful.

    I also went through the rest of the API migration guide and verified that we don't violate any rules for API compatibility, so this really is just a matter of fixing builds.

  16. jmcorgan commented at 8:31 PM on September 29, 2015: contributor

    I mean code review, testing, etc. I've done it for ZMQ 4.x, but not the earlier ones. If the rpc tests are sufficient, then that's great.

  17. jgarzik commented at 10:18 PM on September 29, 2015: contributor

    ut ACK

  18. ghost commented at 10:51 PM on September 29, 2015: none

    ut ACK. Interesting that build notes slipped through.

  19. laanwj merged this on Sep 29, 2015
  20. laanwj closed this on Sep 29, 2015

  21. laanwj referenced this in commit c138cf9769 on Sep 29, 2015
  22. laanwj commented at 11:03 PM on September 29, 2015: member

    2.x support is something for a different pull and shouldn't hold up getting the documentation in order.

    I'm personally not sure it's worth it - zmq is an optional dependency so people that want to use it can make sure they have the right version installed. Supporting 2.x-4.x extends the spectrum over which testing has to be done (once you promise a version will work, users expect it to keep working), and if we ever decide we want to use more of the zmq API it's a self-imposed pain.

  23. ghost commented at 11:36 PM on September 29, 2015: none

    Agreed with the PR split. May want to reconsider the setting, as being enabled by default might be construed as a "promise a version will work."

  24. jmcorgan deleted the branch on Oct 1, 2015
  25. zkbot referenced this in commit 36df5a92f8 on Feb 9, 2017
  26. zkbot referenced this in commit dd8b38316f on Feb 9, 2017
  27. zkbot referenced this in commit 253c610783 on Feb 9, 2017
  28. MarcoFalke 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-04-17 18:15 UTC

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