depends: Build `qt` and `qrencode` packages on OpenBSD #35427

pull hebasto wants to merge 1 commits into bitcoin:master from hebasto:260531-openbsd-qt changing 9 files +101 −5
  1. hebasto commented at 4:57 PM on May 31, 2026: member

    This PR enables the building of GUI dependencies ( qt and qrencode) natively on OpenBSD:

    <img width="1280" height="960" alt="VirtualBox_OpenBSD Desktop_01_06_2026_00_57_50" src="https://github.com/user-attachments/assets/9ab20ad2-8812-42c7-9858-65ee6a7f6a26" />


    Build logs in the GHA environment are available here:


    The branch that is compatible with cross-compiling from Linux to OpenBSD is still a WIP.

  2. hebasto added the label Build system on May 31, 2026
  3. DrahtBot commented at 4:58 PM on May 31, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/35427.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    Concept ACK w0xlt, theStack

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    No conflicts as of last run.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  4. hebasto commented at 5:01 PM on May 31, 2026: member

    ~Still a WIP, as currently the fontconfig package in depends is misconfigured and builds a static library instead of a shared one:~ (this is related to the cross-compiling from Linux).

  5. hebasto force-pushed on Jun 1, 2026
  6. hebasto renamed this:
    [WIP] depends: Build `qt` and `qrencode` packages for OpenBSD hosts
    depends: Build `qt` and `qrencode` packages on OpenBSD hosts
    on Jun 1, 2026
  7. hebasto renamed this:
    depends: Build `qt` and `qrencode` packages on OpenBSD hosts
    depends: Build `qt` and `qrencode` packages on OpenBSD
    on Jun 1, 2026
  8. hebasto marked this as ready for review on Jun 1, 2026
  9. maflcko removed the label Build system on Jun 1, 2026
  10. DrahtBot added the label Build system on Jun 1, 2026
  11. in depends/packages/freetype.mk:35 in 4b0db9f447
      28 | @@ -29,3 +29,9 @@ define $(package)_stage_cmds
      29 |    $(MAKE) DESTDIR=$($(package)_staging_dir) install
      30 |  endef
      31 |  
      32 | +ifeq ($(build_os),openbsd)
      33 | +define $(package)_postprocess_cmds
      34 | +  cd lib && \
      35 | +  ln -sf libfreetype.so.6.18.1 libfreetype.so.6.18
    


    fanquake commented at 10:27 AM on June 1, 2026:

    Why?


    hebasto commented at 10:57 AM on June 1, 2026:

    Why?

    On OpenBSD, the linker expects shared libraries to follow a strict naming convention: libfoo.so.major.minor.

    Currently, the build produces:

    $ ls -l libfreetype*
    lrwxrwxrwx 1 hebasto hebasto     16 Jun  1 11:55 libfreetype.so -> libfreetype.so.6
    lrwxrwxrwx 1 hebasto hebasto     21 Jun  1 11:55 libfreetype.so.6 -> libfreetype.so.6.18.1
    -rw-r--r-- 1 hebasto hebasto 848688 Jan  1  2000 libfreetype.so.6.18.1
    

    fanquake commented at 10:59 AM on June 1, 2026:

    Has this been reported / fixed upstream?


    hebasto commented at 1:00 PM on June 1, 2026:

    Has this been reported / fixed upstream?

    https://gitlab.freedesktop.org/freetype/freetype/-/work_items/1440.


    hebasto commented at 7:40 PM on June 2, 2026:
  12. in depends/patches/qt/fix_openbsd_network_kernel.patch:6 in 4b0db9f447 outdated
       0 | @@ -0,0 +1,31 @@
       1 | +Fix compiling on OpenBSD
       2 | +
       3 | +1. The `net/if_types.h` header does not define the `IFT_STF` symbol.
       4 | +2. The `netinet6/in6_var.h` header defines some of used symbols.
       5 | +
       6 | +For the reference, see:
    


    fanquake commented at 10:28 AM on June 1, 2026:

    Have the changes here been upstreamed (same below)?


    hebasto commented at 10:45 AM on June 1, 2026:

    Have the changes here been upstreamed (same below)?

    Currently, there is only a patch for the OpenBSD port.

    However, it's unclear which project actually needs to be fixed: OpenBSD or Qt.

  13. hebasto commented at 2:46 PM on June 1, 2026: member

    Friendly ping @theStack ;)

  14. hebasto force-pushed on Jun 2, 2026
  15. depends: Build `qt` and `qrencode` packages for OpenBSD hosts a54ec373a6
  16. hebasto force-pushed on Jun 2, 2026
  17. DrahtBot added the label CI failed on Jun 2, 2026
  18. w0xlt commented at 9:10 PM on June 2, 2026: contributor

    Concept ACK

  19. DrahtBot removed the label CI failed on Jun 2, 2026
  20. theStack commented at 3:19 PM on June 4, 2026: contributor

    Concept ACK

  21. fanquake commented at 10:51 AM on June 12, 2026: member

    I've put #35397 on top of this. Looks like there is an issue with llvm-ranlib and options when building fontconfig:

    libtool: install: chmod 644 /ci_container_base/depends/work/staging/x86_64-unknown-openbsd/fontconfig/2.12.6-07352b375d1/ci_container_base/depends/x86_64-unknown-openbsd/lib/libfontconfig.a
    libtool: install: llvm-ranlib-22 -t /ci_container_base/depends/work/staging/x86_64-unknown-openbsd/fontconfig/2.12.6-07352b375d1/ci_container_base/depends/x86_64-unknown-openbsd/lib/libfontconfig.a
    llvm-ranlib-22: error: Invalid option: '-t'
    make[4]: *** [Makefile:539: install-libLTLIBRARIES] Error 1
    
  22. hebasto commented at 11:13 AM on June 12, 2026: member

    I've put #35397 on top of this. Looks like there is an issue with llvm-ranlib and options when building fontconfig:

    libtool: install: chmod 644 /ci_container_base/depends/work/staging/x86_64-unknown-openbsd/fontconfig/2.12.6-07352b375d1/ci_container_base/depends/x86_64-unknown-openbsd/lib/libfontconfig.a
    libtool: install: llvm-ranlib-22 -t /ci_container_base/depends/work/staging/x86_64-unknown-openbsd/fontconfig/2.12.6-07352b375d1/ci_container_base/depends/x86_64-unknown-openbsd/lib/libfontconfig.a
    llvm-ranlib-22: error: Invalid option: '-t'
    make[4]: *** [Makefile:539: install-libLTLIBRARIES] Error 1
    

    Right. This branch contains all needed commits: https://github.com/hebasto/bitcoin/commits/260531-openbsd-qt-cross. Feel free to grab them into #35397, as they are necessary only when cross-compiling on Linux.


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-06-24 06:50 UTC

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