-
Notifications
You must be signed in to change notification settings - Fork 716
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Build tags assigned incorrectly ("netgo ledger,") with Make 4.3+ #2017
Comments
With Make 4.3+, the empty whitespace does not seem to work as originally intended. This causes build tags to be "netgo ledger," on Ubuntu 22.04 and other systems that include the newer Make version. The build tags were intended as "netgo,ledger" which can be observed on Make 4.2 (shipped with Ubuntu 20.04). This change swaps out the `+=` use in favor of an explicit `:=`. Ref: https://www.gnu.org/software/make/manual/html_node/Appending.html Closes cosmos#2017.
It looks like Gaia v7.1.0 was built with Make 4.3+ as well:
|
ha, sry, just saw you already opened pr, will review! @sigv |
No worries! And thank you! Some background: We (kjnodes) discovered this with lavanet/[email protected], where the As for the proposed change itself, we proposed it to Lava Network and it was released in lavanet/[email protected]. It gets the job done. The test scenario to do is just spin up a fresh VM on 20.04 and 22.04, run builds with and without patch, compare output of Let me know if I can help with anything else! |
@yaruwangway, any chance of having the change reviewed? |
Hi @sigv , i reviewed, all good, but we need two reviewers to get merged, i will ask my colleagues. |
Much appreciated! 🙏🏻🥂 |
With Make 4.3+, the empty whitespace does not seem to work as originally intended. This causes build tags to be "netgo ledger," on Ubuntu 22.04 and other systems that include the newer Make version. The build tags were intended as "netgo,ledger" which can be observed on Make 4.2 (shipped with Ubuntu 20.04). This change swaps out the `+=` use in favor of an explicit `:=`. Ref: https://www.gnu.org/software/make/manual/html_node/Appending.html Closes #2017. Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Milan Mulji <[email protected]>
With Make 4.3+, the empty whitespace does not seem to work as originally intended. This causes build tags to be "netgo ledger," on Ubuntu 22.04 and other systems that include the newer Make version. The build tags were intended as "netgo,ledger" which can be observed on Make 4.2 (shipped with Ubuntu 20.04). This change swaps out the `+=` use in favor of an explicit `:=`. Ref: https://www.gnu.org/software/make/manual/html_node/Appending.html Closes #2017. Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Milan Mulji <[email protected]> (cherry picked from commit 297cdb9)
With Make 4.3+, the empty whitespace does not seem to work as originally intended. This causes build tags to be "netgo ledger," on Ubuntu 22.04 and other systems that include the newer Make version. The build tags were intended as "netgo,ledger" which can be observed on Make 4.2 (shipped with Ubuntu 20.04). This change swaps out the `+=` use in favor of an explicit `:=`. Ref: https://www.gnu.org/software/make/manual/html_node/Appending.html Closes #2017. Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Milan Mulji <[email protected]> (cherry picked from commit 297cdb9)
With Make 4.3+, the empty whitespace does not seem to work as originally intended. This causes build tags to be "netgo ledger," on Ubuntu 22.04 and other systems that include the newer Make version. The build tags were intended as "netgo,ledger" which can be observed on Make 4.2 (shipped with Ubuntu 20.04). This change swaps out the `+=` use in favor of an explicit `:=`. Ref: https://www.gnu.org/software/make/manual/html_node/Appending.html Closes #2017. Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Milan Mulji <[email protected]> (cherry picked from commit 297cdb9)
With Make 4.3+, the empty whitespace does not seem to work as originally intended. This causes build tags to be "netgo ledger," on Ubuntu 22.04 and other systems that include the newer Make version. The build tags were intended as "netgo,ledger" which can be observed on Make 4.2 (shipped with Ubuntu 20.04). This change swaps out the `+=` use in favor of an explicit `:=`. Ref: https://www.gnu.org/software/make/manual/html_node/Appending.html Closes #2017. Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Milan Mulji <[email protected]> (cherry picked from commit 297cdb9) Co-authored-by: Valters Jansons <[email protected]>
With Make 4.3+, the empty whitespace does not seem to work as originally intended. This causes build tags to be "netgo ledger," on Ubuntu 22.04 and other systems that include the newer Make version. The build tags were intended as "netgo,ledger" which can be observed on Make 4.2 (shipped with Ubuntu 20.04). This change swaps out the `+=` use in favor of an explicit `:=`. Ref: https://www.gnu.org/software/make/manual/html_node/Appending.html Closes #2017. Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Milan Mulji <[email protected]> (cherry picked from commit 297cdb9) Co-authored-by: Valters Jansons <[email protected]>
* Update changelog for v9 rc7 (#2219) * Update v8.0.1 changelog (#2221) * Consistently generate build tags on newer Make (#2018) With Make 4.3+, the empty whitespace does not seem to work as originally intended. This causes build tags to be "netgo ledger," on Ubuntu 22.04 and other systems that include the newer Make version. The build tags were intended as "netgo,ledger" which can be observed on Make 4.2 (shipped with Ubuntu 20.04). This change swaps out the `+=` use in favor of an explicit `:=`. Ref: https://www.gnu.org/software/make/manual/html_node/Appending.html Closes #2017. Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Milan Mulji <[email protected]> * - Update doc to follow Go conventions - Improve code readability * update params * docs: update docs * fix: lint --------- Co-authored-by: lg <[email protected]> Co-authored-by: Valters Jansons <[email protected]> Co-authored-by: Marius Poke <[email protected]> Co-authored-by: Milan Mulji <[email protected]> Co-authored-by: Simon Noetzlin <[email protected]>
Summary of Bug
Appending More Text to Variables is done in Makefile when working with build tags.
Something changed in Make 4.3 regarding empty values being appended to themselves using the
+=
operator.Ubuntu 20.04 LTS ships with Make 4.2 and results in build tags
"netgo,ledger"
.Ubuntu 22.04 LTS ships with Make 4.3 and results in build tags
"netgo ledger,"
.Quoting the Make documentation:
Version
Any project version, when building with Make 4.3 or Make 4.4.
Steps to Reproduce
Tested on Ubuntu 22.04.1, however should apply to any distro/version as we are building upstream Make for test:
For Admin Use
The text was updated successfully, but these errors were encountered: