build: Review of depends tree configure flags #16354

issue dongcarl opened this issue on July 8, 2019
  1. dongcarl commented at 2:56 PM on July 8, 2019: contributor

    While doing depends builds, I noticed that there are many configure flags that weren't recognized by our packages. This leads to things like: #16183. This is most likely caused by either overzealous configure flag adding, or updating depends packages without looking at changes to accepted configure flags.

    I propose that we:

    1. Prune configure flags from depends that packages don't understand.
    2. Add documentation on updating packages (namely that new configure flags should be checked).
    3. (stretch-goal) Find out what --without- and --disable- configure flags we can supply to speed up depends builds.

    CC @fanquake @theuni

  2. dongcarl added the label Build system on Jul 8, 2019
  3. MarcoFalke commented at 4:49 PM on July 8, 2019: member

    Is there a grep line you could use to find all flags that are not understood in a full (fresh) depends build output?

  4. dongcarl commented at 8:35 PM on July 8, 2019: contributor

    @MarcoFalke I believe you can grep '\bconfigure\b.\+\bunrecognized options\b' on stderr

  5. MarcoFalke added the label good first issue on Jul 8, 2019
  6. dongcarl cross-referenced this on Jul 10, 2019 from issue depends: File-based logging for individual packages by dongcarl
  7. fanquake cross-referenced this on Jul 11, 2019 from issue depends: cleanup package configure flags by fanquake
  8. fanquake cross-referenced this on Jul 14, 2019 from issue depends: disable unused Qt features by fanquake
  9. laanwj referenced this in commit a54a12046e on Jul 25, 2019
  10. konez2k referenced this in commit 5e9dd64953 on Jul 27, 2019
  11. meshcollider referenced this in commit 3ca514ddb7 on Aug 24, 2019
  12. sidhujag referenced this in commit d89bdedbc5 on Aug 25, 2019
  13. fanquake commented at 9:54 AM on September 23, 2019: member

    Here's a non-extensive list of some of the outstanding unrecognized options::

    macOS

    make bdb_configured -C depends/
    configure: WARNING: unrecognized options: --disable-dependency-tracking
    configure: WARNING: If you wanted to set the --build type, don't use --host.
        If a cross compiler is detected then cross compile mode will be used.
    configure: WARNING: unrecognized options: --disable-dependency-tracking
    
    PROTOBUF=1 make protobuf_configured -C depends/
    configure: WARNING: Impossible to determine how to use pthreads with shared libraries and -nostdlib
    

    debian

    make freetype_configured -C depends/
    configure: WARNING: unrecognized options: --disable-dependency-tracking
    
    make libxcb_configured -C depends/
    configure: WARNING: unrecognized options: --disable-dependency-tracking, --disable-shared, --with-pic
    configure: WARNING: xmllint not found; unable to validate against schema.
    configure: WARNING: unrecognized options: --disable-dependency-tracking, --disable-shared, --with-pic
    -c:2: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    Package xorg-macros was not found in the pkg-config search path.
    Perhaps you should add the directory containing `xorg-macros.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'xorg-macros' found
    configure: WARNING: if you wanted to set the --build type, don't use --host.
        If a cross compiler is detected then cross compile mode will be used
    Package xorg-macros was not found in the pkg-config search path.
    Perhaps you should add the directory containing `xorg-macros.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'xorg-macros' found
    ar: `u' modifier ignored since `D' is the default (see `U')
    libtool: install: warning: remember to run `libtool --finish /bitcoin/depends/x86_64-pc-linux-gnu/lib'
    
    make libXau_configured -C depends/
    configure: WARNING: if you wanted to set the --build type, don't use --host.
        If a cross compiler is detected then cross compile mode will be used
    Package xorg-macros was not found in the pkg-config search path.
    Perhaps you should add the directory containing `xorg-macros.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'xorg-macros' found
    
    make xproto_configured -C depends/
    Package xorg-macros was not found in the pkg-config search path.
    Perhaps you should add the directory containing `xorg-macros.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'xorg-macros' found
    
    make xcb_proto_configured -C depends/
    configure: WARNING: unrecognized options: --disable-dependency-tracking, --disable-shared, --with-pic
    configure: WARNING: xmllint not found; unable to validate against schema.
    configure: WARNING: unrecognized options: --disable-dependency-tracking, --disable-shared, --with-pic
    
    HOST=x86_64-apple-darwin14 make native_cctools_configured
    configure: WARNING: unrecognized options: --disable-dependency-tracking
    
  14. fanquake referenced this in commit 19eb427dc8 on Sep 24, 2019
  15. fanquake cross-referenced this on Sep 24, 2019 from issue build: only pass --disable-dependency-tracking to packages that understand it by fanquake
  16. fanquake referenced this in commit bcff8e21b1 on Oct 11, 2019
  17. fanquake referenced this in commit fd3b4e422d on Oct 18, 2019
  18. sidhujag referenced this in commit 8fd9ef011a on Oct 21, 2019
  19. fanquake commented at 5:56 PM on December 8, 2019: member

    Current depends configure warnings:

    macOS

    make bdb_configured -C depends/
    configure: WARNING: If you wanted to set the --build type, don't use --host.
        If a cross compiler is detected then cross compile mode will be used.
    

    Debian

    make xcb_proto_configured -C depends/
    configure: WARNING: unrecognized options: --disable-shared, --with-pic
    configure: WARNING: xmllint not found; unable to validate against schema.
    
    make xproto_configured -C depends/
    Package xorg-macros was not found in the pkg-config search path.
    Perhaps you should add the directory containing `xorg-macros.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'xorg-macros' found
    
    make libXau_configured -C depends/
    configure: WARNING: if you wanted to set the --build type, don't use --host.
        If a cross compiler is detected then cross compile mode will be used
    Package xorg-macros was not found in the pkg-config search path.
    Perhaps you should add the directory containing `xorg-macros.pc'
    to the PKG_CONFIG_PATH environment variable
    No package 'xorg-macros' found
    
  20. fanquake cross-referenced this on Dec 9, 2019 from issue depends: don't configure xcb_proto by fanquake
  21. dongcarl commented at 5:03 PM on December 9, 2019: contributor

    Yeah so all the xorg things want xorg-macros to be there so it can regenerate or something... Not 100% sure if it's a good idea to include xorg-macros in depends for more visibility into their Makefile generation

    For the --build --host thing, this might be the right clue: https://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Specifying-Target-Triplets.html#Specifying-Target-Triplets

    For historical reasons, whenever you specify --host, be sure to specify --build too

  22. laanwj closed this on Dec 11, 2019

  23. dongcarl reopened this on Dec 11, 2019

  24. dongcarl commented at 5:18 PM on December 11, 2019: contributor

    GitHub trying to be smart... :roll_eyes:

  25. sidhujag referenced this in commit faad1bc50b on Dec 12, 2019
  26. str4d referenced this in commit 3420f0171e on Oct 5, 2020
  27. sidhujag referenced this in commit dd3fc98fd7 on Nov 10, 2020
  28. fanquake referenced this in commit 4f91544c4d on Mar 10, 2021
  29. fanquake cross-referenced this on Mar 10, 2021 from issue build: set --build when configuring packages in depends by fanquake
  30. fanquake referenced this in commit 735610940c on Mar 31, 2021
  31. fanquake referenced this in commit 9565dafed5 on Apr 3, 2021
  32. fanquake commented at 5:21 AM on April 3, 2021: member

    @dongcarl Now that #21403 is merged, what would you like todo here?

  33. sidhujag referenced this in commit 5e54665430 on Apr 3, 2021
  34. dongcarl commented at 8:31 PM on April 5, 2021: contributor

    Sounds like we can close this :-) Thank you @fanquake for all the work!

  35. dongcarl closed this on Apr 5, 2021

  36. fanquake removed the label good first issue on Apr 6, 2021
  37. PastaPastaPasta referenced this in commit acd870a77c on Jun 27, 2021
  38. PastaPastaPasta referenced this in commit 650dc04a4c on Jun 28, 2021
  39. PastaPastaPasta referenced this in commit 4168b467d5 on Jun 29, 2021
  40. PastaPastaPasta referenced this in commit 76d59a737c on Jul 1, 2021
  41. PastaPastaPasta referenced this in commit 565a0c5748 on Jul 1, 2021
  42. PastaPastaPasta referenced this in commit 8a044ebc0e on Jul 12, 2021
  43. PastaPastaPasta referenced this in commit 7fcb8f53ed on Jul 13, 2021
  44. PastaPastaPasta referenced this in commit 0af66e6574 on Sep 11, 2021
  45. PastaPastaPasta referenced this in commit 1b5d29bb9c on Sep 11, 2021
  46. Munkybooty referenced this in commit 97632ca890 on Nov 9, 2021
  47. Munkybooty referenced this in commit ccd976d600 on Nov 16, 2021
  48. Munkybooty referenced this in commit bf59b2ec92 on Nov 18, 2021
  49. Munkybooty referenced this in commit dcca9d8eb1 on Nov 24, 2021
  50. Munkybooty referenced this in commit 3e40a99573 on Nov 30, 2021
  51. Munkybooty referenced this in commit a9727f8c24 on Dec 15, 2021
  52. Munkybooty referenced this in commit f4ce3738c2 on Dec 17, 2021
  53. Munkybooty referenced this in commit 5e8474fbe5 on Dec 24, 2021
  54. Munkybooty referenced this in commit 94dfa72738 on Jan 19, 2022
  55. Munkybooty referenced this in commit 0ec883f34c on Jan 24, 2022
  56. gades referenced this in commit 67fcfdd003 on Apr 20, 2022
  57. gades referenced this in commit 351f8485f9 on Apr 20, 2022
  58. vijaydasmp referenced this in commit 96139b5657 on Apr 25, 2022
  59. vijaydasmp referenced this in commit 47c9d7962a on May 10, 2022
  60. vijaydasmp referenced this in commit a90064c62e on May 19, 2022
  61. vijaydasmp referenced this in commit a2a06dae2a on May 19, 2022
  62. knst referenced this in commit 547f33608c on Jun 7, 2022
  63. knst referenced this in commit b9893e5025 on Jun 8, 2022
  64. vijaydasmp referenced this in commit 46d94b9665 on Jun 14, 2022
  65. vijaydasmp referenced this in commit 02794a4fa7 on Jun 15, 2022
  66. vijaydasmp referenced this in commit 718e57f7fb on Jun 15, 2022
  67. vijaydasmp referenced this in commit de57bfe0f5 on Jun 15, 2022
  68. vijaydasmp referenced this in commit e73f270198 on Jun 16, 2022
  69. vijaydasmp referenced this in commit d8d22343c9 on Jun 16, 2022
  70. vijaydasmp referenced this in commit 08f1234eb6 on Jun 17, 2022
  71. vijaydasmp referenced this in commit 752e1c4834 on Jun 18, 2022
  72. vijaydasmp referenced this in commit 746ff12632 on Jun 18, 2022
  73. bitcoin locked this on Aug 18, 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: 2026-05-19 06:54 UTC