Skip to content

Conversation

@fanquake
Copy link
Member

@fanquake fanquake commented Mar 22, 2023

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.

@DrahtBot
Copy link
Contributor

DrahtBot commented Mar 22, 2023

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.

@hebasto
Copy link
Member

hebasto commented Mar 22, 2023

Concept ACK.

@fanquake
Copy link
Member Author

fanquake commented Mar 22, 2023

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.

@DrahtBot
Copy link
Contributor

Guix builds

File commit 4c6b7d3
(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...

@maflcko
Copy link
Member

maflcko commented Mar 23, 2023

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

INFO: Building 6e69fead2baf for platform triple x86_64-w64-mingw32:
      ...using reference timestamp: 1679478521
      ...running at most 4 jobs
      ...from worktree directory: '/root/temp/scratch/guix/bitcoin/bitcoin'
          ...bind-mounted in container to: '/bitcoin'
      ...in build directory: '/root/temp/scratch/guix/bitcoin/bitcoin/guix-build-6e69fead2baf/distsrc-6e69fead2baf-x86_64-w64-mingw32'
          ...bind-mounted in container to: '/distsrc-base/distsrc-6e69fead2baf-x86_64-w64-mingw32'
      ...outputting in: '/root/temp/scratch/guix/bitcoin/bitcoin/guix-build-6e69fead2baf/output/x86_64-w64-mingw32'
          ...bind-mounted in container to: '/outdir-base/x86_64-w64-mingw32'
substitute: 
substitute: �[Kupdating substitutes from 'https://ci.guix.gnu.org'...   0.0%
substitute: �[Kupdating substitutes from 'https://ci.guix.gnu.org'...  20.0%
substitute: �[Kupdating substitutes from 'https://ci.guix.gnu.org'...  40.0%
substitute: �[Kupdating substitutes from 'https://ci.guix.gnu.org'...  60.0%
substitute: �[Kupdating substitutes from 'https://ci.guix.gnu.org'...  80.0%
substitute: �[Kupdating substitutes from 'https://ci.guix.gnu.org'... 100.0%
0.1 MB will be downloaded
.Backtrace:
In guix/ui.scm:
  2166:12 19 (run-guix-command _ . _)
In ice-9/boot-9.scm:
  1736:10 18 (with-exception-handler _ _ #:unwind? _ # _)
  1736:10 17 (with-exception-handler _ _ #:unwind? _ # _)
  1731:15 16 (with-exception-handler #<procedure 7f4872f97690 at ic?> ?)
In guix/scripts/substitute.scm:
   765:15 15 (_)
    538:9 14 (process-substitution #<output: file 4> _ "/gnu/store/?" ?)
In guix/serialization.scm:
    424:4 13 (fold-archive _ _ _ _)
   468:33 12 (read "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss?" ?)
   468:33 11 (read "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss?" ?)
   468:33 10 (read "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss?" ?)
   468:33  9 (read "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss?" ?)
   451:26  8 (read "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss?" ?)
   520:21  7 (_ "/gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss-ce?" ?)
In ice-9/boot-9.scm:
  1731:15  6 (with-exception-handler #<procedure 7f487230a510 at ic?> ?)
In unknown file:
           5 (symlink "NetLock_Arany_=Class_Gold=_F?tan?s?tv?ny.pem" #)
In ice-9/boot-9.scm:
  1669:16  4 (raise-exception _ #:continuable? _)
  1669:16  3 (raise-exception _ #:continuable? _)
  1764:13  2 (_ #<&compound-exception components: (#<&error> #<&orig?>)
  1669:16  1 (raise-exception _ #:continuable? _)
  1669:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1669:16: In procedure raise-exception:
Throw to key `encoding-error' with args `("scm_to_stringn" "cannot convert wide string to output locale" 84 #f #f)'.
substitution of /gnu/store/l0axwdizcc12n0kdicwlm7lcds7ym40d-nss-certs-3.71 failed
guix environment: error: corrupt input while restoring archive from #<closed: file 7f76be7e5700>

@fanquake
Copy link
Member Author

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

@hebasto
Copy link
Member

hebasto commented Mar 23, 2023

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.

@fanquake
Copy link
Member Author

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.

@fanquake fanquake closed this Mar 23, 2023
@fanquake fanquake deleted the fontconfig_2_14_2 branch March 23, 2023 15:00
@DrahtBot
Copy link
Contributor

Guix builds

File commit 8acfb1f
(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...

@maflcko
Copy link
Member

maflcko commented Mar 24, 2023

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

@fanquake
Copy link
Member Author

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?

@maflcko
Copy link
Member

maflcko commented Mar 24, 2023

Just picked the latest release, see maflcko/DrahtBot@0da5d6a

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

@fanquake fanquake reopened this Mar 27, 2023
@fanquake fanquake restored the fontconfig_2_14_2 branch March 27, 2023 13:18
@fanquake fanquake reopened this Mar 27, 2023
@fanquake fanquake reopened this Mar 27, 2023
@fanquake fanquake marked this pull request as ready for review March 27, 2023 14:38
@fanquake fanquake force-pushed the fontconfig_2_14_2 branch from 9f065b7 to dce897f Compare March 27, 2023 14:39
@fanquake
Copy link
Member Author

I've tested this with a depends build, with clang-16, and it seems to build everything.

Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested dce897f7ba3c8ae401a799a754cdea68a24a2048 on Ubuntu 23.04.

@hebasto
Copy link
Member

hebasto commented Mar 27, 2023

depends: fontconfig 2.14.2

Update the title?

@fanquake fanquake changed the title depends: fontconfig 2.14.2 depends: make fontconfig build under clang-16 Mar 27, 2023
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.
@fanquake fanquake force-pushed the fontconfig_2_14_2 branch from dce897f to 9cbc1c2 Compare March 27, 2023 15:36
Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 9cbc1c2

@fanquake fanquake merged commit b759cef into bitcoin:master Mar 27, 2023
@fanquake fanquake deleted the fontconfig_2_14_2 branch March 27, 2023 16:51
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Mar 27, 2023
9cbc1c2 depends: make fontconfig build under clang-16 (fanquake)

Pull request description:

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

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

  Closes: bitcoin#27299.

ACKs for top commit:
  hebasto:
    ACK 9cbc1c2

Tree-SHA512: 387ea1a73e3429f166ef5278305a56cb3c69b6e3fc8a21a66521738e313e3fe783f042759b396cd88e28c10918a4427fb836a8dfecc5a846723b6f6c6a7ade51
@bitcoin bitcoin locked and limited conversation to collaborators Mar 29, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

depends does not compile with clang-16 (fontconfig)

4 participants