DrahtBot added the label
Build system
on Oct 20, 2020
practicalswift
commented at 7:18 pm on October 20, 2020:
contributor
Concept ACK: nice cleanup!
DrahtBot
commented at 1:26 am on October 21, 2020:
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:
#23593 (build: remove x-prefix’s from comparisons 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.
MarcoFalke added the label
Needs gitian build
on Oct 21, 2020
MarcoFalke added the label
Needs Guix build
on Oct 21, 2020
DrahtBot
commented at 10:18 am on October 22, 2020:
member
DrahtBot removed the label
Needs Guix build
on Oct 24, 2020
laanwj
commented at 10:42 am on November 19, 2020:
member
drops redundant AC_SUBST macros
What makes these redundant?
hebasto
commented at 10:49 am on November 19, 2020:
member
drops redundant AC_SUBST macros
What makes these redundant?
From commit message:
Variables that are declared with AC_ARG_VAR macro are substituted via
AC_SUBST macro.
PKG_CHECK_MODULES macro already has AC_ARG_VAR(${PACKAGE}_CFLAGS) and
AC_ARG_VAR(${PACKAGE}_LIBS).
laanwj
commented at 2:26 pm on November 19, 2020:
member
Thanks. Yes, clear. But otoh that seems pretty deeply buried. I think one advantage of specifying them explicitly is to have a better idea what gets exported from the configure.ac script, what its interface is to the makefiles and config.h file.
DrahtBot added the label
Needs rebase
on Nov 23, 2020
hebasto
commented at 3:11 pm on November 26, 2020:
member
I think one advantage of specifying them explicitly is to have a better idea what gets exported from the configure.ac script, what its interface is to the makefiles and config.h file.
PKG_CHECK_MODULES has a pretty self-documenting feature, as its internal AC_ARG_VAR include variable description in the variable section of ./configure --help.
hebasto force-pushed
on Nov 26, 2020
hebasto
commented at 3:25 pm on November 26, 2020:
member
Rebased ae92fb1e103c17302fdbf03b1bbd04c6919c7920 -> 58737de5807445aeb3bc89e8215f85a1df0f398f (pr20201.01 -> pr20201.02) due to the conflict with #20202.
DrahtBot removed the label
Needs rebase
on Nov 26, 2020
DrahtBot added the label
Needs rebase
on Jan 7, 2021
hebasto force-pushed
on Jan 8, 2021
hebasto
commented at 0:01 am on January 8, 2021:
member
Rebased 58737de5807445aeb3bc89e8215f85a1df0f398f -> ab1feadf4e6cd4f5f2c7e74cea1c7baad61458ba (pr20201.02 -> pr20201.03) due to the conflict with #18077.
DrahtBot removed the label
Needs rebase
on Jan 8, 2021
bitmastercoin
commented at 7:07 am on January 11, 2021:
none
Running Kali Linux. 2020.4 and getting the error after attempting sudo ./autogen.sh
with the out put being a long string and eventually. ::
configure.ac:16: error: possibly undefined macro: AC_MSG_ERROR
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:255: error: possibly undefined macro: AC_DEFINE
configure.ac:632: error: possibly undefined macro: AC_MSG_WARN
autoreconf: /usr/bin/autoconf failed with exit status: 1
hebasto
commented at 7:36 am on January 11, 2021:
member
@bitmastercoin What happens when you do the same on the master branch?
jarolrod
commented at 11:59 pm on August 10, 2021:
member
@bitmastercoin I was able to successfully build and and run with Kali Linux 2020.4 and 2021.1 on master branch and PR branch. Can you give any update?
jarolrod
commented at 1:25 am on August 11, 2021:
member
Concept ACK, I cannot ACK yet because I want to confirm the reproducibility of the stripped information with the bitcoin-maintainer-tools/build-for-compare.py script, but I’m currently running into the following issue:
0>>> [do_build] Command failed: git apply /home/xyz/Bitcoin/Code/revie/test-reproducibility/bitcoin-maintainer-tools/patches/stripbuildinfo.patch
1>>> [do_build] Could not apply patch to strip build info. Probably it needs to be updated
I tried running on the PR branch itself, and the PR branch rebased on the current master, but no luck. Obviously, I am not a maintainer, so any help would be appreciated 😊
Notes:
I wanted to try to document what is going on here and give my opinion.
388135bcf91bcc665417b59980468db270e48d9a
Commit 388135bcf91bcc665417b59980468db270e48d9a states that it is removing a redundant check of PKG_CHECK_MODULES. If we look at the pkg.m4 source code, and specifically lines 131-142, we can see that performing this check within our configure.ac script is in fact redundant.
ab1feadf4e6cd4f5f2c7e74cea1c7baad61458ba
From my understanding, the AC_SUBT macro is meant to provide output variables to automake. The description for this commit explains why performing this work ourselves is redundant; these variables will already be provided to automake thanks to pkg.m4. This can be confirmed by looking at Lines 141 and 142 of the pkg.m4 source code. As such, it is ok to remove what is being removed in this commit.
Should we do this?
I think it is great not to redo unnecessary work when it is unnecessary. As such, this PR is a nice simplification.
@laanwj brings up a good point that this is kind of buried, and you need to dig through the source code to confirm this. Luckily the pkg.m4 source code is not too large, and it’s easy to refer to. In this case, I’d say it’s not a big deal. But, I will defer to our build experts.
fanquake
commented at 1:42 am on August 11, 2021:
member
If we look at the pkg.m4 source code,
Lines 141 and 142 of the pkg.m4 source code.
jarolrod
commented at 1:47 am on August 11, 2021:
member
@fanquake ah thanks for the clarification. Just trying to learn about our build system by reviewing. I’ve checked the source code for the pkg-config you’ve linked and have found the same relevant lines in its pkg.m4
hebasto
commented at 11:44 am on August 11, 2021:
member
… I want to confirm the reproducibility of the stripped information with the bitcoin-maintainer-tools/build-for-compare.py script, but I’m currently running into the following issue:
Commit 388135b states that it is removing a redundant check of PKG_CHECK_MODULES. If we look at the pkg.m4 source code, and specifically lines 131-142, we can see that performing this check within our configure.ac script is in fact redundant.
See the update PR description.
hebasto
commented at 12:47 pm on August 11, 2021:
member
If we look at the pkg.m4 source code,
Lines 141 and 142 of the pkg.m4 source code.
0AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
1AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
hebasto force-pushed
on Aug 11, 2021
hebasto
commented at 12:52 pm on August 11, 2021:
member
Rebased ab1feadf4e6cd4f5f2c7e74cea1c7baad61458ba -> 17c2cad948855f8f08e798b3e11b2be5e5fffdf1 (pr20201.03 -> pr20201.04) on top of the recent change in the build system (including Guix) and CI.
hebasto
commented at 2:28 pm on August 11, 2021:
member
jarolrod
commented at 2:54 am on August 20, 2021:
member
ACK17c2cad948855f8f08e798b3e11b2be5e5fffdf1
As I’ve outlined here and here, this change is ok to do.
cannot ACK yet because I want to confirm the reproducibility of the stripped information
I have used the bitcoin-maintainer-tools/build-for-compare.py script to check for the reproducibility of the stripped information. The two branch heads tested were 17c2cad and c3545a7 and the built executables were bitcoind and bitcoin-qt. Running git diff -W --word-diff /tmp/compare/17c2cad /tmp/compare/c3545a7 returns a zero-diff.
DrahtBot added the label
Needs rebase
on Oct 20, 2021
hebasto force-pushed
on Oct 20, 2021
hebasto
commented at 6:45 pm on October 20, 2021:
member
Rebased 17c2cad948855f8f08e798b3e11b2be5e5fffdf1 -> 362edc2aebc2de41c55248521e446f0d1cb24498 (pr20201.04 -> pr20201.05) due to the conflict with #22646.
DrahtBot removed the label
Needs rebase
on Oct 20, 2021
hebasto
commented at 6:15 am on October 21, 2021:
member
DrahtBot added the label
Needs rebase
on Dec 7, 2021
build: Drop redundant check of PKG_CHECK_MODULES presence9049812106
build: Drop redundant AC_SUBST macros
Variables that are declared with AC_ARG_VAR macro are substituted via
AC_SUBST macro.
PKG_CHECK_MODULES macro already has AC_ARG_VAR(${PACKAGE}_CFLAGS) and
AC_ARG_VAR(${PACKAGE}_LIBS).
c236f2e228
hebasto force-pushed
on Dec 29, 2021
hebasto
commented at 9:17 pm on December 29, 2021:
member
Rebased 362edc2aebc2de41c55248521e446f0d1cb24498 -> c236f2e22868c7653441660fd50863f5fa36a512 (pr20201.05 -> pr20201.06) due to the conflict with #23593.
DrahtBot removed the label
Needs rebase
on Dec 29, 2021
fanquake approved
fanquake
commented at 3:07 am on December 30, 2021:
member
ACKc236f2e22868c7653441660fd50863f5fa36a512 - I see no difference in config.logs.
90498121063c9a9b5e15144bf8959044adac3885 is obviously correct.
For c236f2e22868c7653441660fd50863f5fa36a512: The only calls left to AC_SUBST(*_LIBS) are for BOOST_LIBS, QT_LIBS, MINIUPNPC_LIBS and NATPMP_LIBS, which are required as we either modify these vars ourselves, or the dependency doesn’t use pkg-config.
fanquake merged this
on Dec 30, 2021
fanquake closed this
on Dec 30, 2021
sidhujag referenced this in commit
99b0620cd2
on Dec 30, 2021
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-18 18:12 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me