< brianddk> I was trying to build the first few versions of bitcoin (v0.1.5) with MSYS/MinGW (v1.0.11), but I'm failing on the OpenSSL build after applying the readme.txt patches. Anyone recall anything tricky to getting that to work?
< sipa> pretty sure 0
< sipa> pretty sure 0.1.5 was only ever intended to work with msvc
< sipa> oh, no!
< brianddk> sipa, yeah the readme lists some build problems with MSVC, and seems to suggest MinGW/MSYS. I'll keep digging
< bitcoin-git> [bitcoin] jonatack closed pull request #20305: wallet: introduce fee_rate sat/vB param/option (master...fee_rate_sat_vb) https://github.com/bitcoin/bitcoin/pull/20305
< bitcoin-git> [bitcoin] jonatack reopened pull request #20305: wallet: introduce fee_rate sat/vB param/option (master...fee_rate_sat_vb) https://github.com/bitcoin/bitcoin/pull/20305
< bitcoin-git> [bitcoin] S3RK opened pull request #20365: wallettool: add parameter to create descriptors wallet (master...wallet_tool_create_descriptors) https://github.com/bitcoin/bitcoin/pull/20365
< luke-jr> hey, at least the new Cirrus CI work even if the old/first one doesn't <.<
< bitcoin-git> [bitcoin] hebasto opened pull request #20366: scripted-diff: Fix includes when secp256k1 is locally installed on macOS (master...201111-incl) https://github.com/bitcoin/bitcoin/pull/20366
< bitcoin-git> [bitcoin] MarcoFalke opened pull request #20368: ci: Remove redundant valgrind fuzz task (master...2011-ciRemoveHeavyTask) https://github.com/bitcoin/bitcoin/pull/20368
< vasild> sipa: jnewbery: "backward compatibility" can also be applied to data formats, not just on software. For example wikipedia mentions: "A data format is said to be backward compatible with its predecessor if..." (https://en.wikipedia.org/wiki/Backward_compatibility)
< vasild> jnewbery: according to your definition "software is forward-compatible if it can gracefully read new input formats" a software version X is forward compatible until version e.g. X+5 introduces a new input format which X cannot read
< vasild> So the same version X can be forward compatible or not, depending on what future versions do, hmm...
< jnewbery> in that case we'd say that version X+5 breaks forward compatibility
< vasild> jnewbery: wrt https://github.com/bitcoin/bitcoin/pull/20284#issuecomment-725341208 I guess you have verified that it would fix the link error?
< bitcoin-git> [bitcoin] MarcoFalke opened pull request #20370: fuzz: Permission flags in net_processing fuzzers (master...2011-fuzzNetFlags) https://github.com/bitcoin/bitcoin/pull/20370
< bitcoin-git> [bitcoin] MarcoFalke pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/fa8dd34e918c...155bf91c3b66
< bitcoin-git> bitcoin/master fa92cf2 MarcoFalke: ci: Remove redundant valgrind fuzz task
< bitcoin-git> bitcoin/master 155bf91 MarcoFalke: Merge #20368: ci: Remove redundant valgrind fuzz task
< bitcoin-git> [bitcoin] MarcoFalke merged pull request #20368: ci: Remove redundant valgrind fuzz task (master...2011-ciRemoveHeavyTask) https://github.com/bitcoin/bitcoin/pull/20368
< jnewbery> vasild: very strange. It builds locally for me. One cirrus task links successfully on that commit and another doesn't
< vasild> yes, strange and everything compiles for me
< jnewbery> I don't know the cirrus config well enough to know why linking would fail on task 2
< vasild> my guess is that it is running gcc 2.96 on redhat
< jnewbery> platform is ubuntu:focal
< jnewbery> it makes me unhappy to merge stuff that we don't understand. I'd prefer just to remove the FILE_FORMAT from that strprintf than add the declaration in addrman.cpp
< vasild> I wonder if that would compile...
< jnewbery> I mean just don't include that in the exception string
< vasild> yes, I got your point, but I am not sure that will compile
< vasild> it is unclear which version of clang is it using, but I see "setting up clang10" - at least it installed clang10
< vasild> let me try locally with clang10...
< jnewbery> why wouldn't it? That's the line that's causing link failure, or do you think it'd fail somewhere else too?
< vasild> git show 2ed531:src/addrman.h
< vasild> addrman.h:358
< jnewbery> Thanks. That's interesting
< MarcoFalke> building locally right now
< MarcoFalke> it is using focal clang with -stdlib=libc++ (depends build)
< vasild> I don't like it - those constants really belong to private members of CAddrMan, moving them away just to fix a compile error that can also be fixed by 1-liner (define the constant in addrman.cpp)...
< vasild> I can reproduce the error locally with clang 10
< MarcoFalke> I think it is a style-question that shoulndn't hold up the release
< vasild> +1
< jnewbery> vasild: can you explain what this line does: https://github.com/bitcoin/bitcoin/pull/20284/files#diff-49d1faa58beca1ee1509a247e0331bb91f8604e30a483a7b2dea813e6cea02e2R74 ? I don't understand how it fixes the build error
< vasild> it defines storage for the variable, my guess is that this particular compiler mistreats constexpr
< vasild> wait, I am trying something simpler...
< vasild> now that I can reproduce locally
< bitcoin-git> [bitcoin] practicalswift opened pull request #20372: Avoid signed integer overflow when loading a mempool.dat file with a malformed time field (master...load-mempool-time-integer-overflow) https://github.com/bitcoin/bitcoin/pull/20372
< vasild> jnewbery: https://bpa.st/MJBA
< vasild> that smells like a compiler bug
< vasild> uint8_t x; ... use x like static_cast<uint8_t>(x) compiles, but change the usage to just "x" without the cast and it does not compile
< vasild> surely the cast from uint8_t to uint8_t shouldn't make a difference
< vasild> Do we want the topmost fix from https://bpa.st/MJBA ? It is line line, but MarcoFalke will have to give up the CustomUintFormatter :)
< MarcoFalke> sob
< vasild> *It is one line
< MarcoFalke> Go ahead. We can fight the compiler after branch off
< vasild> and there is a chance that even though it compiled locally for me with clang 10.0.1 it will break on CI...
< vasild> jnewbery: ?
< jnewbery> looks good to me!
< jnewbery> good job tracking it down
< aj> "for constexpr (but not for const) you always have to provide out-of-class definition on top of the in-class initializer." per https://stackoverflow.com/questions/22172789/passing-a-static-constexpr-variable-by-universal-reference
< bitcoin-git> [bitcoin] MarcoFalke pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/155bf91c3b66...179ece42734a
< bitcoin-git> bitcoin/master fa949b3 MarcoFalke: test: Suppress epoll_ctl data race
< bitcoin-git> bitcoin/master 179ece4 MarcoFalke: Merge #20218: test: Suppress epoll_ctl data race
< bitcoin-git> [bitcoin] MarcoFalke merged pull request #20218: test: Suppress epoll_ctl data race (master...2010-testSuppWalletRace) https://github.com/bitcoin/bitcoin/pull/20218
< bitcoin-git> [bitcoin] MarcoFalke pushed 2 commits to master: https://github.com/bitcoin/bitcoin/compare/179ece42734a...d9f5132736f3
< bitcoin-git> bitcoin/master 5e14602 Sebastian Falbesoner: wallet: fix scanning progress calculation for single block range
< bitcoin-git> bitcoin/master d9f5132 MarcoFalke: Merge #20344: wallet: fix scanning progress calculation for single block r...
< bitcoin-git> [bitcoin] MarcoFalke merged pull request #20344: wallet: fix scanning progress calculation for single block range (master...20201108-wallet-avoid_div_by_zero_on_single_block_rescan) https://github.com/bitcoin/bitcoin/pull/20344
< MarcoFalke> vasild: I am running the ci tsan config locally with your "static_cast<uint8_t>(" patch, but it doesn't compile
< vasild> it is on top of 2ed531
< vasild> did you apply it on top of the latest PR 204678c, or on top of 2ed531?
< MarcoFalke> commit 204678cf4258bd59040016a7aac79e05daf30d3c
< vasild> on top of that commit the fix is: https://bpa.st/ASDA
< vasild> I have prepared that and am about to push -f, but will wait for you to confirm that it compiles at your end
< vasild> aj: that is only if the member variable is odr-used
< vasild> the static cast makes it non-odr-used, so it needs no out-of-class definition
< MarcoFalke> ah that seems to compile
< vasild> pushed!
< MarcoFalke> Using uint8_t{FORMAT} also compiles
< bitcoin-git> [bitcoin] hebasto opened pull request #20373: refactor, net: Increase CNode data member encapsulation (master...201111-cnode) https://github.com/bitcoin/bitcoin/pull/20373
< bitcoin-git> [gui] hebasto closed pull request #107: Fix main window geometry save/restore (master...201023-geometry) https://github.com/bitcoin-core/gui/pull/107
< bitcoin-git> [bitcoin] thomasdane opened pull request #20374: Update README.md (master...patch-1) https://github.com/bitcoin/bitcoin/pull/20374
< bitcoin-git> [bitcoin] practicalswift closed pull request #20137: tests: Update UBSan suppressions file with suppressions needed for clang 12 (current trunk) (master...clang-12-ubsan-suppressions) https://github.com/bitcoin/bitcoin/pull/20137
< bitcoin-git> [bitcoin] fanquake closed pull request #20374: Update README.md (master...patch-1) https://github.com/bitcoin/bitcoin/pull/20374
< bitcoin-git> [bitcoin] practicalswift opened pull request #20375: fuzz: Improve coverage for CPartialMerkleTree fuzzing harness (master...fuzzers-2020-11-11) https://github.com/bitcoin/bitcoin/pull/20375