depends: make fontconfig build under clang-16 #27301

pull fanquake wants to merge 1 commits into bitcoin:master from fanquake:fontconfig_2_14_2 changing 1 files +1 −0
  1. fanquake commented at 1:57 pm on March 22, 2023: member

    Use the same workaround we’ve applied to qrencode, and other packages. Fontconfig not building is currently a blocker for fuzz/sanitizer infra upgrades (#27298).

    For now, this is also more straightforward than bumping the package, which introduces more complexity/usage of gperf.

    Closes: #27299.

  2. fanquake added the label Build system on Mar 22, 2023
  3. fanquake added the label DrahtBot Guix build requested on Mar 22, 2023
  4. DrahtBot commented at 1:57 pm on March 22, 2023: contributor

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

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK hebasto

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #27298 (ci: Use TSan new runtime (llvm-16, take 3) by MarcoFalke)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  5. hebasto commented at 1:59 pm on March 22, 2023: member
    Concept ACK.
  6. fanquake commented at 2:02 pm on March 22, 2023: member
    Looks like we can’t drop the patch, as we’d still end up needing gperf, however just adapting our current patch to the new code also doesn’t build, so we’ll need to do more there. In any case, even if fontconfig builds, Qt doesn’t work (out of the box) with clang-16, so this seems like a waste of time.
  7. DrahtBot commented at 1:27 am on March 23, 2023: contributor

    Guix builds

    File commit 4c6b7d330a4e80460dcce19b1a0a47d77a0b99ea(master) commit b420222dc0cf1b1cbc29c87b7edd0b443e6ff047(master and this pull)
    SHA256SUMS.part f1f60b5216bf22bd...
    *-aarch64-linux-gnu-debug.tar.gz 52bf38c4d5d7a288...
    *-aarch64-linux-gnu.tar.gz f24c9706d3a5dc61...
    *-arm-linux-gnueabihf-debug.tar.gz c2b6f0121e164cd0...
    *-arm-linux-gnueabihf.tar.gz 81abbb082954a002...
    *-powerpc64-linux-gnu-debug.tar.gz d6c790dc431b6614...
    *-powerpc64-linux-gnu.tar.gz 2ca7b1b628f24ece...
    *-powerpc64le-linux-gnu-debug.tar.gz cc22d0de1b4eef85...
    *-powerpc64le-linux-gnu.tar.gz 9090f152f5fa5caa...
    *-riscv64-linux-gnu-debug.tar.gz f12856b9ec0d89b1...
    *-riscv64-linux-gnu.tar.gz c24a44be2d32039b...
    *-x86_64-linux-gnu-debug.tar.gz 99e98854bbff1dd4...
    *-x86_64-linux-gnu.tar.gz 70c6f98dc55c8ca2...
    *.tar.gz 5c0cb5d42d1d4977...
    guix_build.log d2160beb87e98646... 9807291148aa358e...
    guix_build.log.diff 6f688159d64a4e9f...
  8. DrahtBot removed the label DrahtBot Guix build requested on Mar 23, 2023
  9. maflcko commented at 10:52 am on March 23, 2023: member

    unrelated: on master it looks like @DrahtBot can’t build for Windows:

     0INFO: Building 6e69fead2baf for platform triple x86_64-w64-mingw32:
     1      ...using reference timestamp: 1679478521
     2      ...running at most 4 jobs
     3      ...from worktree directory: '/root/temp/scratch/guix/bitcoin/bitcoin'
     4          ...bind-mounted in container to: '/bitcoin'
     5      ...in build directory: '/root/temp/scratch/guix/bitcoin/bitcoin/guix-build-6e69fead2baf/distsrc-6e69fead2baf-x86_64-w64-mingw32'
     6          ...bind-mounted in container to: '/distsrc-base/distsrc-6e69fead2baf-x86_64-w64-mingw32'
     7      ...outputting in: '/root/temp/scratch/guix/bitcoin/bitcoin/guix-build-6e69fead2baf/output/x86_64-w64-mingw32'
     8          ...bind-mounted in container to: '/outdir-base/x86_64-w64-mingw32'
     9substitute: 
    10substitute: updating substitutes from 'https://ci.guix.gnu.org'...   0.0%
    11substitute: updating substitutes from 'https://ci.guix.gnu.org'...  20.0%
    12substitute: updating substitutes from 'https://ci.guix.gnu.org'...  40.0%
    13substitute: updating substitutes from 'https://ci.guix.gnu.org'...  60.0%
    14substitute: updating substitutes from 'https://ci.guix.gnu.org'...  80.0%
    15substitute: updating substitutes from 'https://ci.guix.gnu.org'... 100.0%
    160.1 MB will be downloaded
    17.Backtrace:
    18In guix/ui.scm:
    19  2166:12 19 (run-guix-command _ . _)
    20In ice-9/boot-9.scm:
    21  1736:10 18 (with-exception-handler _ _ #:unwind? _ # _)
    22  1736:10 17 (with-exception-handler _ _ #:unwind? _ # _)
    23  1731:15 16 (with-exception-handler #<procedure 7f4872f97690 at ic?> ?)
    24In guix/scripts/substitute.scm:
    25   765:15 15 (_)
    26    538:9 14 (process-substitution #<output: file 4> _ "/gnu/store/?" ?)
    27In guix/serialization.scm:
    28    424:4 13 (fold-archive _ _ _ _)
    29   468:33 12 (read "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss?" ?)
    30   468:33 11 (read "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss?" ?)
    31   468:33 10 (read "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss?" ?)
    32   468:33  9 (read "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss?" ?)
    33   451:26  8 (read "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss?" ?)
    34   520:21  7 (_ "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss-ce?" ?)
    35In ice-9/boot-9.scm:
    36  1731:15  6 (with-exception-handler #<procedure 7f487230a510 at ic?> ?)
    37In unknown file:
    38           5 (symlink "NetLock_Arany_=Class_Gold=_F?tan?s?tv?ny.pem" #)
    39In ice-9/boot-9.scm:
    40  1669:16  4 (raise-exception _ #:continuable? _)
    41  1669:16  3 (raise-exception _ #:continuable? _)
    42  1764:13  2 (_ #<&compound-exception components: (#<&error> #<&orig?>)
    43  1669:16  1 (raise-exception _ #:continuable? _)
    44  1669:16  0 (raise-exception _ #:continuable? _)
    45
    46ice-9/boot-9.scm:1669:16: In procedure raise-exception:
    47Throw to key `encoding-error' with args `("scm_to_stringn" "cannot convert wide string to output locale" 84 #f #f)'.
    48substitution of /gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss-certs-3.71 failed
    49guix environment: error: corrupt input while restoring archive from #<closed: file 7f76be7e5700>
    
  10. fanquake commented at 11:12 am on March 23, 2023: member

    unrelated: on master it looks like @DrahtBot can’t build for Windows:

    Can @DrahtBot do a guix pull and try buildign again? iirc this is a bug in Guix that I’ve seen previously

  11. maflcko added the label DrahtBot Guix build requested on Mar 23, 2023
  12. hebasto closed this on Mar 23, 2023

  13. hebasto reopened this on Mar 23, 2023

  14. hebasto commented at 2:56 pm on March 23, 2023: member

    Looks like we can’t drop the patch, as we’d still end up needing gperf

    Maybe include gperf in our build tools (like bison)?

    In any case, even if fontconfig builds, Qt doesn’t work (out of the box) with clang-16, so this seems like a waste of time.

    Fixed in #27314.

  15. fanquake commented at 3:00 pm on March 23, 2023: member

    Maybe include gperf in our build tools (like bison)?

    I’d rather not add even more gui-only requirements, and dependencies to depends or our release env.

    Going to close this, as I don’t think I’m going to follow up.

  16. fanquake closed this on Mar 23, 2023

  17. fanquake deleted the branch on Mar 23, 2023
  18. maflcko removed the label DrahtBot Guix build requested on Mar 23, 2023
  19. DrahtBot commented at 0:49 am on March 24, 2023: contributor

    Guix builds

    File commit 8acfb1f8e045677b04cf8c4aa790dc6b90d93fa1(master) commit 8fa2be8983830554da3a23caddbdc3db129772d5(master and this pull)
    SHA256SUMS.part b551f0fe973c7695...
    *-aarch64-linux-gnu-debug.tar.gz bc4fdeee751a3e70...
    *-aarch64-linux-gnu.tar.gz 905ba02b9865e4b4...
    *-arm-linux-gnueabihf-debug.tar.gz a0035eaebff1c3ab...
    *-arm-linux-gnueabihf.tar.gz 2a54c728a5684a07...
    *-powerpc64-linux-gnu-debug.tar.gz e68aeb78dbc76930...
    *-powerpc64-linux-gnu.tar.gz 491be59d7bcca27b...
    *-powerpc64le-linux-gnu-debug.tar.gz 0b6b6ac221be18eb...
    *-powerpc64le-linux-gnu.tar.gz 7449ab3e65d7e525...
    *-riscv64-linux-gnu-debug.tar.gz 282da8415d4cd8df...
    *-riscv64-linux-gnu.tar.gz c7b92f98459171ae...
    *-x86_64-linux-gnu-debug.tar.gz 6a99deddeb8bba62...
    *-x86_64-linux-gnu.tar.gz 8701d55d016e7fe2...
    *.tar.gz 4615a30fb127dda6...
    guix_build.log f1eb1f24be141e20... 4b8b323fcd48e223...
    guix_build.log.diff 81e5fd22c7a392f9...
  20. maflcko commented at 8:34 am on March 24, 2023: member
    I bumped from guix 1.3 to 1.4 but that didn’t fix anything
  21. fanquake commented at 10:26 am on March 24, 2023: member

    I bumped from guix 1.3 to 1.4 but that didn’t fix anything

    How did you bump? Was this replacing the 1.3 bin with 1.4, or did you guix pull?

  22. maflcko commented at 10:52 am on March 24, 2023: member

    Just picked the latest release, see https://github.com/MarcoFalke/DrahtBot/commit/0da5d6aacd9b4296af9d1ccdefe8aecf6b60147d

    Haven’t tried guix pull, because I am not sure if it persists in my workflow.

  23. fanquake reopened this on Mar 27, 2023

  24. fanquake restored the branch on Mar 27, 2023
  25. fanquake closed this on Mar 27, 2023

  26. fanquake reopened this on Mar 27, 2023

  27. fanquake closed this on Mar 27, 2023

  28. fanquake reopened this on Mar 27, 2023

  29. fanquake marked this as ready for review on Mar 27, 2023
  30. fanquake force-pushed on Mar 27, 2023
  31. fanquake commented at 2:40 pm on March 27, 2023: member
    I’ve tested this with a depends build, with clang-16, and it seems to build everything.
  32. maflcko added the label DrahtBot Guix build requested on Mar 27, 2023
  33. in depends/packages/fontconfig.mk:12 in dce897f7ba outdated
     8@@ -9,6 +9,7 @@ $(package)_patches=gperf_header_regen.patch
     9 define $(package)_set_vars
    10   $(package)_config_opts=--disable-docs --disable-static --disable-libxml2 --disable-iconv
    11   $(package)_config_opts += --disable-dependency-tracking --enable-option-checking
    12+  $(package)_cflags += -Wno-int-conversion -Wno-implicit-function-declaration
    


    hebasto commented at 3:05 pm on March 27, 2023:
    Is -Wno-int-conversion really required to compile with clang-16?

    fanquake commented at 3:37 pm on March 27, 2023:
    Looks like we can just do implicit-function-declaration for now. We’ll leave all the other warnings-that-may-become-errors for future change.
  34. hebasto commented at 3:05 pm on March 27, 2023: member
    Tested dce897f7ba3c8ae401a799a754cdea68a24a2048 on Ubuntu 23.04.
  35. hebasto commented at 3:06 pm on March 27, 2023: member

    depends: fontconfig 2.14.2

    Update the title?

  36. fanquake renamed this:
    depends: fontconfig 2.14.2
    depends: make fontconfig build under clang-16
    on Mar 27, 2023
  37. depends: make fontconfig build under clang-16
    Use the same workaround we've applied to qrencode, and other packages.
    Fontconfig not building is currently a blocker for fuzz/sanitizer infra
    upgrades.
    
    For now, this is also more straightforward than bumping the package,
    which introduces more complexity/usage of gperf.
    9cbc1c2792
  38. fanquake force-pushed on Mar 27, 2023
  39. hebasto approved
  40. hebasto commented at 4:04 pm on March 27, 2023: member
    ACK 9cbc1c279247800d79c5f6f95c0c2d8f387aac0a
  41. fanquake merged this on Mar 27, 2023
  42. fanquake closed this on Mar 27, 2023

  43. fanquake deleted the branch on Mar 27, 2023
  44. sidhujag referenced this in commit 2d65d29021 on Mar 27, 2023
  45. maflcko removed the label DrahtBot Guix build requested on Mar 30, 2023
  46. qtum-neil referenced this in commit 20bd591345 on Mar 4, 2024
  47. bitcoin locked this on Mar 29, 2024

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-11-21 21:12 UTC

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