build: Require pkg-config for all of the hosts #18307

pull hebasto wants to merge 10 commits into bitcoin:master from hebasto:20200309-pkgconfig changing 1 files +52 −112
  1. hebasto commented at 8:03 pm on March 9, 2020: member

    This PR:

    • is based on #18297 (already merged)
    • drops all of the non-pkg-config paths from the configure script

    Ref: #17768

  2. DrahtBot added the label Build system on Mar 9, 2020
  3. DrahtBot commented at 9:29 pm on March 9, 2020: member

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

    Conflicts

    No conflicts as of last run.

  4. laanwj commented at 3:03 pm on March 10, 2020: member
    I like this idea, especially the simplification of the autoconf scripts. Concept ACK.
  5. hebasto force-pushed on Mar 16, 2020
  6. hebasto commented at 12:02 pm on March 16, 2020: member

    Updated 284418ad2446fec21546e485ec0af0edde2eb773 -> b3b769adf1868b2c3ebdd1d9778fac58125e2b8d (pr18307.01 -> pr18307.02, diff):

    • rebased due to the conflict with #18298
  7. laanwj requested review from dongcarl on Mar 19, 2020
  8. laanwj requested review from theuni on Mar 19, 2020
  9. theuni commented at 7:04 pm on March 19, 2020: member
    Concept ACK, thanks for working on this. Will review the chain.
  10. DrahtBot added the label Needs rebase on Mar 26, 2020
  11. laanwj referenced this in commit 56d2ff8a8f on Apr 20, 2020
  12. sidhujag referenced this in commit 806c143ad0 on Apr 20, 2020
  13. build: Always define ZMQ_STATIC for MinGW 9e2e753b06
  14. build: Always use pkg-config e9edbe4dbd
  15. build: Drop dead non-pkg-config code for UNIVALUE check 6fd2118e77
  16. build: Fix indentation in UNIVALUE check 06cfc9cadf
  17. build: Drop dead non-pkg-config code for ZMQ check 10cbae0c39
  18. build: Drop dead non-pkg-config code for qrencode check 44a14afbb8
  19. hebasto force-pushed on Jun 13, 2020
  20. hebasto commented at 5:44 pm on June 13, 2020: member
    Rebased b3b769adf1868b2c3ebdd1d9778fac58125e2b8d -> a4535bfd4d47538db47b9787da8922cd06bd6fd7 (pr18307.02 -> pr18307.03) due to the merging of #18297.
  21. hebasto commented at 5:47 pm on June 13, 2020: member
    @fanquake May I ask “Needs gitian build” and “Needs Guix build” labels for this PR?
  22. DrahtBot removed the label Needs rebase on Jun 13, 2020
  23. fanquake added the label Needs gitian build on Jun 13, 2020
  24. fanquake added the label Needs Guix build on Jun 13, 2020
  25. DrahtBot commented at 9:51 am on June 16, 2020: member

    Gitian builds

    File commit 1c86ed41483471929840eec09b93d7de3a4aeacf(master) commit db27feec39c6ab5e1fe67c42b6754d09e0f1b590(master and this pull)
    *-aarch64-linux-gnu-debug.tar.gz 71f5654816f5a35c... d6e9bf66bba2782a...
    *-aarch64-linux-gnu.tar.gz adb533108bc2de95... fe1bcad678950199...
    *-arm-linux-gnueabihf-debug.tar.gz 975c9daeb62030b8... 4d064396ed266782...
    *-arm-linux-gnueabihf.tar.gz e902ba09e1e9d51f... 68fb0c1fc4859885...
    *-osx-unsigned.dmg dfcaf365fc46dabe... 6248290d52b7aac3...
    *-osx64.tar.gz 7acbc6e831f8696f... 6912f3b083c18fda...
    *-riscv64-linux-gnu-debug.tar.gz 201b5104da680bd4... af88d2ba34d0761e...
    *-riscv64-linux-gnu.tar.gz f6f2294a3650d92c... ce431a06ccd6793b...
    *-win64-debug.zip ae3961bf135bd458... dd69215a5c60c7c4...
    *-win64-setup-unsigned.exe 67c888daf491beab... f886ee5140125b52...
    *-win64.zip 837bd14c2e565cd5... 1d464977ea0198ea...
    *-x86_64-linux-gnu-debug.tar.gz 32a4f05bd453974d... 6f99c5c686efa1e6...
    *-x86_64-linux-gnu.tar.gz 57b5eaa2a09d25d5... df983e8167f8d643...
    *.tar.gz 489c730a2311c3f9... 80cfb4e43f9532c1...
    bitcoin-core-linux-0.21-res.yml 45c3b3d0f9edc6d7... 8dfdaa4f298ee6b8...
    bitcoin-core-osx-0.21-res.yml c99a9d11f924f29a... 1168a4646f934eaf...
    bitcoin-core-win-0.21-res.yml 77d208b4495b2806... 2a251996dfe25bc5...
    linux-build.log 4f98f1d15c29efc1... edd8ad7ae56bf013...
    osx-build.log 1b6e936377d5a5c8... 80b1b997ae2974ab...
    win-build.log 204d319b4778596d... 97d1133acdacc518...
    bitcoin-core-linux-0.21-res.yml.diff f7ca16512de62a3e...
    bitcoin-core-osx-0.21-res.yml.diff afe94d217e9e0c87...
    bitcoin-core-win-0.21-res.yml.diff 34bb8bbb058865b2...
    linux-build.log.diff 6f3806aaa0f72089...
    osx-build.log.diff 307335e3a59c6a20...
    win-build.log.diff 5f7f0cf0e3e515bb...
  26. DrahtBot removed the label Needs gitian build on Jun 16, 2020
  27. DrahtBot commented at 6:43 am on June 19, 2020: member

    Guix builds

    File commit 39bd9ddb8783807b9cde6288233e86ad7c85d61f(master) commit 4a6793918f913f3498f127d5c90c680af8ec1812(master and this pull)
    *-aarch64-linux-gnu-debug.tar.gz 4c1912c153974f87... 80f66912b5ed6d0b...
    *-aarch64-linux-gnu.tar.gz 780c7f167a960754... a3062f046bce4a3b...
    *-arm-linux-gnueabihf-debug.tar.gz 0cad6f3a3133faba... ea095d61062726f2...
    *-arm-linux-gnueabihf.tar.gz 71702256e8ce3156... ed937ccbc2c386a2...
    *-riscv64-linux-gnu-debug.tar.gz 56187e8f441798f7... dd7a495aa5a1724e...
    *-riscv64-linux-gnu.tar.gz 0a1f2929cdadfce6... b1bd43cb1b2af06f...
    *-win-unsigned.tar.gz dec92daf0b4d95f8... 4593275b2fb8d1e4...
    *-win64-debug.zip 162f8fa6a60ef9d8... 2926c1b73d89860c...
    *-win64-setup-unsigned.exe a344b796ddbe540b... 535f30749a1d8fde...
    *-win64.zip 105d545a9a68e769... 5e24aed0064fbee2...
    *-x86_64-linux-gnu-debug.tar.gz 200b108338af6d7d... 7ac7f205be947fcf...
    *-x86_64-linux-gnu.tar.gz b15858c60bc28da6... 896ab8283795b1bc...
    *.tar.gz 309c9ce47a261345... 255eeac41c15256b...
    guix_build.log 6e58047db2c64199... 8540516d3cfccac1...
    guix_build.log.diff 84589bbbf1e90ee9...
  28. DrahtBot removed the label Needs Guix build on Jun 19, 2020
  29. in configure.ac:1300 in a4535bfd4d outdated
    1328-      AC_CHECK_LIB([event_pthreads],[main],EVENT_PTHREADS_LIBS=-levent_pthreads,AC_MSG_ERROR(libevent_pthreads missing))
    1329-    fi
    1330+if test x$build_bitcoin_cli$build_bitcoind$bitcoin_enable_qt$use_tests$use_bench != xnonononono; then
    1331+  PKG_CHECK_MODULES([EVENT], [libevent >= 2.0.21], [use_libevent=yes], [AC_MSG_ERROR(libevent version 2.0.21 or greater not found.)])
    1332+  if test x$TARGET_OS != xwindows; then
    1333+    PKG_CHECK_MODULES([EVENT_PTHREADS], [libevent_pthreads],, AC_MSG_ERROR([libevent_pthreads not found]))
    


    fanquake commented at 7:18 am on June 22, 2020:
    Was removing the version checking for libevent_pthreads intentional?

    hebasto commented at 8:15 am on June 22, 2020:

    Was removing the version checking for libevent_pthreads intentional?

    No, it seems like a rebasing glitch. Going to fix. Thanks!


    hebasto commented at 8:36 am on June 22, 2020:
  30. fanquake commented at 8:10 am on June 22, 2020: member

    Concept ACK - This looks pretty good, and is a nice simplification. This should be a no-op for most platforms, besides some reordering of package checks in configure. Obviously Windows is different, and after this PR, should be full pkg-config. This is the main difference I’m seeing in config.log:

     0# libevent
     1-EVENT_CFLAGS=''
     2-EVENT_LIBS='-levent'
     3+EVENT_CFLAGS='-I/bitcoin/depends/x86_64-w64-mingw32/include'
     4+EVENT_LIBS='-L/bitcoin/depends/x86_64-w64-mingw32/lib -levent -lws2_32'
     5# qrencode
     6-QR_CFLAGS=''
     7-QR_LIBS='-lqrencode'
     8+QR_CFLAGS='-I/bitcoin/depends/x86_64-w64-mingw32/include'
     9+QR_LIBS='-L/bitcoin/depends/x86_64-w64-mingw32/lib -lqrencode -lpthread'
    10# zeromq
    11-ZMQ_CFLAGS=' -DZMQ_STATIC'
    12-ZMQ_LIBS='-lzmq'
    13+ZMQ_CFLAGS='-I/bitcoin/depends/x86_64-w64-mingw32/include -DZMQ_STATIC'
    14+ZMQ_LIBS='-L/bitcoin/depends/x86_64-w64-mingw32/lib -lzmq -liphlpapi -lpthread'
    

    liphlpapi was added to libzmqs PKGCFG_LIBS_PRIVATE, when static linking, in https://github.com/zeromq/libzmq/pull/2787.

  31. hebasto force-pushed on Jun 22, 2020
  32. build: Drop dead non-pkg-config code for libevent check 90b95e7929
  33. hebasto force-pushed on Jun 22, 2020
  34. hebasto commented at 8:36 am on June 22, 2020: member

    Updated a4535bfd4d47538db47b9787da8922cd06bd6fd7 -> 4e006b640eb94d0699169b114842aca3b6ce585a (pr18307.03 -> pr18307.05, diff):

    Was removing the version checking for libevent_pthreads intentional?

  35. hebasto closed this on Jun 22, 2020

  36. hebasto reopened this on Jun 22, 2020

  37. build: Drop use_pkgconfig check for libmultiprocess check a661449a2e
  38. build: Drop unused use_pkgconfig variable 1739eb23d8
  39. build: Detect missed pkg-config early 92bc268e4a
  40. hebasto force-pushed on Jun 23, 2020
  41. hebasto commented at 6:07 am on June 23, 2020: member

    Updated 4e006b640eb94d0699169b114842aca3b6ce585a -> 92bc268e4af4ebcbde08567ea00e019ac509a769 (pr18307.05 -> pr18307.06, diff):

  42. laanwj added this to the "Blockers" column in a project

  43. laanwj commented at 2:27 pm on July 2, 2020: member
    ACK 92bc268e4af4ebcbde08567ea00e019ac509a769 Changes look correct, and I checked that there are no remaining matches for use_pkgconfig after this.
  44. in configure.ac:1325 in 92bc268e4a
    1378+fi
    1379+
    1380+if test "x$use_zmq" = xyes; then
    1381+  dnl Assume libzmq was built for static linking
    1382+  case $host in
    1383+    *mingw*)
    


    laanwj commented at 2:32 pm on July 2, 2020:
    It’s somewhat unfortunate that this mingw-specific workaround is still ncessary, that the required flag is not passed in through the pkgconfig file in the case of a static build. But I suppose this is an upstream issue.

    hebasto commented at 3:34 pm on July 2, 2020:
    Related to #8238.
  45. fanquake approved
  46. fanquake commented at 8:15 am on July 3, 2020: member
    ACK 92bc268e4af4ebcbde08567ea00e019ac509a769. I re-gitian-built. There are a couple follow-ups that I’ll PR shortly. Thanks for addressing my feedback above. I took too long to get back to this.
  47. fanquake removed this from the "Blockers" column in a project

  48. fanquake merged this on Jul 3, 2020
  49. fanquake closed this on Jul 3, 2020

  50. hebasto deleted the branch on Jul 3, 2020
  51. DrahtBot locked this on Feb 15, 2022

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-12-18 18:12 UTC

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