./configure error on FreeBSD #14404

issue murrayn openend this issue on October 5, 2018
  1. murrayn commented at 9:36 am on October 5, 2018: contributor

    Error when running ./configure on FreeBSD:

    config.status: executing depfiles commands config.status: error: in `/home/murray/tmp/bitcoin': config.status: error: Something went wrong bootstrapping makefile fragments for automatic dependency tracking. Try re-running configure with the ‘–disable-dependency-tracking’ option to at least be able to build the package (albeit without support for automatic dependency tracking). See `config.log’ for more details

    Relevant config.log:

    config.status:1696: executing depfiles commands config.status:1771: cd src && sed -e ‘/# am–include-marker/d’ Makefile | make -f - am–depfiles make: exec(../build-aux/install-sh) failed (No such file or directory) *** Error code 1

    Stop. make: stopped in /usr/home/murray/tmp/bitcoin/src config.status:1778: $? = 1 config.status:1782: error: in `/home/murray/tmp/bitcoin’: config.status:1788: error: Something went wrong bootstrapping makefile fragments for automatic dependency tracking. Try re-running configure with the ‘–disable-dependency-tracking’ option to at least be able to build the package (albeit without support for automatic dependency tracking).

    FreeBSD 11.2, but the issue also existed on 11.1

  2. fanquake added the label Linux/Unix on Oct 5, 2018
  3. theuni commented at 2:48 am on October 9, 2018: member
    Could you please paste the entire config.log ?
  4. laanwj commented at 9:58 am on October 19, 2018: member
    yes, I have the same problem, I think this started happening after a FreeBSD upgrade but don’t exactly remember
  5. fanquake commented at 2:46 am on October 20, 2018: member

    Doing some testing on OpenBSD 9.4, using ./configure --disable-wallet --no-gui CC=cc CXX=c++.

    automake 1.14.1p0 and 1.15.1 both work, this problem only happens with 1.16.1.

    Looking at the automake 1.16 release notes:

     0Bugs fixed:
     1
     2  - Automatic dependency tracking has been fixed to work also when the
     3    'subdir-object' option is used and some 'foo_SOURCES' definition
     4    contains unexpanded references to make variables, as in, e.g.:
     5
     6        a_src = sources/libs/aaa
     7        b_src = sources/bbb
     8        foo_SOURCES = $(a_src)/bar.c $(b_src)/baz.c
     9
    10    With such a setup, the created makefile fragment containing dependency
    11    tracking information will be correctly placed under the directories
    12    named 'sources/libs/aaa/.deps' and 'sources/bbb/.deps', rather than
    13    mistakenly under directories named (literally!) '$(src_a)/.deps' and
    14    '$(src_b)/.deps' (this was the first part of automake bug#13928).
    15
    16    Notice that in order to fix this bug we had to slightly change the
    17    semantics of how config.status bootstraps the makefile fragments
    18    required for the dependency tracking to work: rather than attempting
    19    to parse the Makefiles via grep and sed trickeries only, we actually
    20    invoke 'make' on a slightly preprocessed version of those Makefiles,
    21    using a private target that is only meant to bootstrap the required
    22    makefile fragments.
    23
    24  - The 'subdir-object' option no longer causes object files corresponding
    25    to source files specified with an explicit '$(srcdir)' component to be
    26    placed in the source tree rather than in the build tree.
    27
    28    For example, if Makefile.am contains:
    29
    30        AUTOMAKE_OPTIONS = subdir-objects
    31        foo_SOURCES = $(srcdir)/foo.c $(srcdir)/s/bar.c $(top_srcdir)/baz.c
    32
    33    then "make all" will create 'foo.o' and 's/bar.o' in $(builddir) rather
    34    than in $(srcdir), and will create 'baz.o' in $(top_builddir) rather
    35    than in $(top_srcdir).
    36
    37    This was the second part of automake bug#13928.
    

    So I’d assume however this bug has been fixed has broken some behaviour we’ve been relying on/working around?

  6. laanwj commented at 9:31 am on October 20, 2018: member

    this is what it eventually fails on

    0config.status:1695: executing depfiles commands
    1config.status:1770: cd src       && sed -e '/# am--include-marker/d' Makefile         | make -f - am--depfiles
    2make: exec(../build-aux/install-sh) failed (No such file or directory)
    3*** Error code 1
    

    I have no clue about that code, it’s not something we wrote, but it might be some input from us it’s failing on…

  7. laanwj commented at 9:41 am on October 20, 2018: member

    gAH this works around it:

    0% ./configure MAKE=gmake
    

    looks increasingly much like an upstream bug

  8. practicalswift referenced this in commit 76ae7a1ac9 on Nov 5, 2018
  9. fanquake referenced this in commit 64b86cda3e on Dec 27, 2018
  10. laanwj commented at 7:13 pm on September 28, 2019: member

    Just tried building on FreeBSD 12.0, and didn’t need the ./configure MAKE=… workaround.

    I did still have to pass --disable-dependency-tracking to configure, though. It has automake 1.16.1.

    We might want to include https://github.com/fanquake/core-review/commit/64b86cda3ebfee688fcf879582e4194031df319a for 0.19.

  11. rusticbison commented at 7:20 am on December 2, 2019: none

    Tried building v0.19.1 but config fails on OpenBSD 6.6 X86_64 with this same config.status error. My config.log output is here: https://pastebin.com/tkHmhrR7

    Using --disable-dependency-tracking with gmake results in the error:

    gmake[3] Leaving directory '/tmp/bitcoin/src/secp256k1' ld: error: undefined symbol: ChaCha20::Keystream(unsigned char*, unsigned long) >>> referenced by random.h.118(./random.h:118)

  12. MarcoFalke commented at 4:09 pm on December 3, 2019: member
    @rusticbison Does this happen after make distclean && ./autogen.sh && ./configure ...?
  13. rusticbison commented at 12:01 pm on December 7, 2019: none
    @MarcoFalke I realized that I had not installed OpenSSL and my issue is unrelated 🙃 pkg_add openssl-1.1.1d solved my issue. I made a pull request to add openssl to base dependencies. https://github.com/bitcoin/bitcoin/pull/17689
  14. abitfan commented at 6:22 pm on February 12, 2020: contributor

    It is not an upstream problem or a problem at all. configure fails at: config.status:1771: cd src && sed -e ‘/# am–include-marker/d’ Makefile | make -f - am–depfiles

    Automake correctly detects the default make as make. Since instructions are given to use gmake instead this needs to be fixed in docs. (Submitted #18129)

  15. vasild commented at 8:17 pm on February 13, 2020: member

    Hello,

    0$ git clone git@github.com:bitcoin/bitcoin # master @ 0c20809da
    1$ cd bitcoin
    2$ echo $MAKE # it is not set
    3$ ./autogen.sh
    4$ ./configure BDB_CFLAGS="-I/usr/local/include/db6" BDB_LIBS="-L/usr/local/lib -ldb_cxx-6.2"
    

    It works!

    The relevant lines in config.status:

    0 547 AMDEP_TRUE="" MAKE="make"
    1...
    21787     { echo "$as_me:$LINENO: cd "$am_dirpart" \
    31788       && sed -e '/# am--include-marker/d' "$am_filepart" \
    41789         | $MAKE -f - am--depfiles" >&5
    51790    (cd "$am_dirpart" \
    61791       && sed -e '/# am--include-marker/d' "$am_filepart" \
    71792         | $MAKE -f - am--depfiles) >&5 2>&5
    

    Running this manually succeeds:

    0cd src && sed -e '/# am--include-marker/d' Makefile | make -f - am--depfiles
    

    Environment:

    0FreeBSD 12.1-STABLE
    1
    2autoconf-2.69_3
    3autoconf-wrapper-20131203
    4autoconf213-2.13.000227_7
    5automake-1.16.1_2
    6
    7make is the default /usr/bin/make
    

    However, it fails on FreeBSD 11.3 due to make: exec(build-aux/install-sh) failed (No such file or directory) and ./configure MAKE=gmake fixes it.

    It looks like the make in FreeBSD 11.3 handles the current working directory and the search path for exec in a way that breaks it. gmake and FreeBSD 12 make do not seem to exhibit this problem.

  16. fanquake referenced this in commit db146ecd7f on Mar 13, 2020
  17. fanquake referenced this in commit 84a46a9b93 on Mar 18, 2020
  18. laanwj closed this on Mar 19, 2020

  19. laanwj referenced this in commit 527c3989e7 on Mar 19, 2020
  20. sidhujag referenced this in commit decb1c62d0 on Mar 19, 2020
  21. HashUnlimited referenced this in commit 9946663203 on Apr 17, 2020
  22. sidhujag referenced this in commit 70ff1f8cac on Nov 10, 2020
  23. backpacker69 referenced this in commit 2bf1f3920e on Mar 28, 2021
  24. Munkybooty referenced this in commit 8497b930ca on Jul 22, 2021
  25. Munkybooty referenced this in commit 045c6ee24a on Jul 23, 2021
  26. Munkybooty referenced this in commit f24b3590ca on Jul 23, 2021
  27. Munkybooty referenced this in commit bbe949e427 on Jul 23, 2021
  28. Munkybooty referenced this in commit afa1bc97ef on Jul 23, 2021
  29. Munkybooty referenced this in commit eb500edfab on Jul 26, 2021
  30. Munkybooty referenced this in commit 3ec6506cf1 on Jul 27, 2021
  31. DrahtBot locked this on Feb 15, 2022
  32. lyricidal referenced this in commit 4e5fd005dd on Mar 24, 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-12-03 15:12 UTC

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