build: add support for FreeBSD to depends #23948

pull fanquake wants to merge 1 commits into bitcoin:master from fanquake:depends_support_freebsd changing 8 files +43 −0
  1. fanquake commented at 7:27 am on January 3, 2022: member

    Setup to use the system Clang (11.0.1 as of FreeBSD 13.0).

    Doesn’t build the Qt package; that requires a few additional changes. The current issue is that FreeBSDs byacc seems to have an issue parsing something in libxkbcommon. Work in progress branch here: https://github.com/fanquake/bitcoin/tree/depends_support_freebsd_qt. In any case, I don’t think building the Qt libs on FreeBSD is a super high priority (I’d also have no way to test the GUI).

  2. fanquake added the label Build system on Jan 3, 2022
  3. MarcoFalke commented at 7:39 am on January 3, 2022: member

    In any case, I don’t think building the Qt libs on FreeBSD is a super high priority (I’d also have no way to test the GUI).

    It might be possible to use the system qt with the depends options NO_QT=1 ALLOW_HOST_PACKAGES=1

  4. melissamforbs approved
  5. melissamforbs approved
  6. DrahtBot commented at 2:42 pm on January 3, 2022: member

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

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #24123 ([POC] build: enable Pointer Authentication and Branch Target Identification for aarch64 (Linux) by fanquake)
    • #23998 (build: support OpenBSD in depends by fanquake)
    • #23955 (build: add support for NetBSD in depends by fanquake)

    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.

  7. fanquake force-pushed on Jan 4, 2022
  8. fanquake commented at 7:41 am on January 4, 2022: member

    Rebased on master and dropped the base commit.

    It might be possible to use the system qt with the depends options NO_QT=1 ALLOW_HOST_PACKAGES=1

    Yes I’d think that is possible. I’m just assuming that the number of users wanting to run (depends built) bitcoin-qt on FreeBSD is not large.

  9. fanquake referenced this in commit bf044ef9ec on Jan 18, 2022
  10. fanquake referenced this in commit 2d7ffce852 on Jan 19, 2022
  11. build: add FreeBSD support to depends ae9175f608
  12. fanquake force-pushed on Jan 19, 2022
  13. sidhujag referenced this in commit e07fcae642 on Jan 20, 2022
  14. laanwj commented at 3:18 pm on January 25, 2022: member

    I tested it (on FreeBSD 13) and get:

    0~/src/bitcoin/depends % gmake NO_QT=1
    1Invalid configuration `medea': machine `medea-unknown' not recognized
    2shasum: hosts/.mk: No such file or directory
    3shasum: hosts/.mk: No such file or directory
    4shasum: hosts/.mk: No such file or directory
    5

    It looks like the hostname ends up in the machine tuple somehow :smile:

  15. laanwj commented at 12:46 pm on January 26, 2022: member

    For some reason the environment variable HOST contains the hostname on this machine. I’m not sure where it comes from, but it seems FreeBSD behavior? The makefile assumes it to be a host tuple.

    With the following patch, it gets past it:

     0diff --git a/depends/Makefile b/depends/Makefile
     1index 003778b37..36f28f1c7 100644
     2--- a/depends/Makefile
     3+++ b/depends/Makefile
     4@@ -45,7 +45,7 @@ MULTIPROCESS ?=
     5 FALLBACK_DOWNLOAD_PATH ?= https://bitcoincore.org/depends-sources
     6 
     7 BUILD = $(shell ./config.guess)
     8-HOST ?= $(BUILD)
     9+HOST := $(BUILD)
    10 PATCHES_PATH = $(BASEDIR)/patches
    11 BASEDIR = $(CURDIR)
    12 HASH_LENGTH:=11
    

    It removes the ability to override the host system tuple, if we want this i’d suggest using a different env variable name.

    Edit: ok, stupid suggestion

  16. laanwj commented at 12:52 pm on January 26, 2022: member

    Oh, we explicitly document the use of HOST. OK, this is kind of annoying, I don’t really know how to resolve this, we could just add a big FreeBSD warning to always override it (or unset it) because the default will result in absurd behavior.

    Edit: seems it’s csh/tcsh that sets HOST, not FreeBSD. I’d assume someone running Linux who uses tcsh would run into the same problem Edit.2: googling around I find I had a similar issue building clightning once, lol https://github.com/ElementsProject/lightning/issues/1231 Edit.3: From man tcsh:

    0       HOST (+)
    1               Initialized to the name of the machine on which the shell is
    2               running, as determined by the gethostname(2) system call.
    
  17. laanwj commented at 6:59 pm on February 2, 2022: member
    ACK ae9175f6086aa6c177084365c795e78c580eac1d We can solve the tcsh specific issue (or document it) somewhere else.
  18. laanwj merged this on Feb 2, 2022
  19. laanwj closed this on Feb 2, 2022

  20. fanquake deleted the branch on Feb 3, 2022
  21. sidhujag referenced this in commit 0462edf5ba on Feb 3, 2022
  22. rebroad referenced this in commit affe037837 on Feb 3, 2022
  23. fanquake referenced this in commit 9011d4d8ae on Feb 14, 2022
  24. sidhujag referenced this in commit fe37e9bdc7 on Feb 15, 2022
  25. PastaPastaPasta referenced this in commit e8cfe601d8 on Jun 19, 2022
  26. PastaPastaPasta referenced this in commit 6a53ddca4d on Jun 19, 2022
  27. PastaPastaPasta referenced this in commit 537d87cbec on Jun 19, 2022
  28. PastaPastaPasta referenced this in commit 4e6b49d6f6 on Jun 27, 2022
  29. DrahtBot locked this on Feb 3, 2023

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-07-05 19:13 UTC

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