Skip to content
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: remove usage of BOOST_NO_CXX98_FUNCTION_BASE #30189

Closed

Conversation

fanquake
Copy link
Member

@fanquake fanquake commented May 29, 2024

Supposedly this is no-longer needed (and hasn't been ported to CMake), so remove it's usage here. Oringinally used to suppress warnings about functionality deprecated/removed from the standard library, which was still supported by some compilers.

Supposedly this is no-longer needed (and hasn't been ported to CMake),
so remove it's usage here.
@DrahtBot
Copy link
Contributor

DrahtBot commented May 29, 2024

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

Code Coverage

For detailed information about the code coverage, see the test coverage report.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK hebasto

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

@maflcko
Copy link
Member

maflcko commented May 29, 2024

Did you test this with the minimum required boost version 1.71?

@fanquake
Copy link
Member Author

Did you test this with the minimum required boost version 1.71?

Only with 1.81.0. (depends) which still has the problematic behaviour. Used a CMake CI (which has already dropped this) with Boost 1.73.0 as a proxy for anything lower (https://github.com/hebasto/bitcoin/actions/runs/9257726144/job/25466464660).

@maflcko
Copy link
Member

maflcko commented May 29, 2024

The cmake run is using g++-11, but g++-12 is required according to https://github.com/boostorg/config/pull/430/files

@fanquake
Copy link
Member Author

@hebasto how did you test this macro is no-longer required in the CMake build (given it wasn't ported)?

@hebasto
Copy link
Member

hebasto commented May 29, 2024

@hebasto how did you test this macro is no-longer required in the CMake build (given it wasn't ported)?

https://github.com/hebasto/bitcoin/actions/runs/9283914497

@hebasto
Copy link
Member

hebasto commented May 29, 2024

Did you test this with the minimum required boost version 1.71?

It is 1.73 since #29066.

@hebasto
Copy link
Member

hebasto commented May 29, 2024

Concept ACK.

@maflcko
Copy link
Member

maflcko commented May 29, 2024

Looks like 880d4aa affected depends, not sure if it even reproduces outside of that?

@maflcko
Copy link
Member

maflcko commented May 29, 2024

I could only reproduce inside of depends, which has boost 1.81, which is fixed, so LGTM, I guess. 🤷

@fanquake fanquake changed the title build: remove usage of DBOOST_NO_CXX98_FUNCTION_BASE build: remove usage of BOOST_NO_CXX98_FUNCTION_BASE May 29, 2024
@fanquake fanquake marked this pull request as ready for review May 29, 2024 12:37
Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK fc47935.

@maflcko
Copy link
Member

maflcko commented May 29, 2024

I stopped seeing the warning after commit 3b2acfc

@maflcko
Copy link
Member

maflcko commented May 29, 2024

It would be good to properly explain this, because this still happens, at least with at least

  • --disable-suppress-external-warnings
  • depends boost 1.73
  • g++-12 and clang-18

@fanquake
Copy link
Member Author

It would be good to properly explain this,

The explanation is that it still happens, it never should have been incorrectly dropped from the CMake build (where it can now be re-added), and this can be closed.

@fanquake fanquake closed this May 29, 2024
@fanquake fanquake deleted the remove_boost_function_base_macro branch May 29, 2024 13:43
@maflcko
Copy link
Member

maflcko commented May 29, 2024

Does --disable-suppress-external-warnings only work with depends? (I can't seem to get the warning on Jammy with clang-18 outside of depends)

Should --disable-suppress-external-warnings be enabled in some CI tasks?

@maflcko
Copy link
Member

maflcko commented May 29, 2024

If it is clear, that this can only happen inside of depends, where it is fixed after 1.81, then I think it is fine to merge. However, I am trying to figure out if this can happen outside of depends.

@fanquake
Copy link
Member Author

Does --disable-suppress-external-warnings only work with depends?

It should not be depends specific.

Should --disable-suppress-external-warnings be enabled in some CI tasks?

That depends on what we are trying to achieve, and if we are planning on patching external libraries / code and upstreaming relevant changes etc. It's also likely to lead to more CI "breakage" on distro version, or other changes, that may not be relevant for us.

@maflcko
Copy link
Member

maflcko commented May 29, 2024

That depends on what we are trying to achieve

Wouldn't it be good to know about issues, such as the one here (BOOST_NO_CXX98_FUNCTION_BASE) as early as possible? Not sure how to achieve that, other than setting --disable-suppress-external-warnings in at least some CI tasks.

@fanquake
Copy link
Member Author

Wouldn't it be good to know about issues, as early as possible?

I think if we are going to do that, then enabling it on a rolling / nightly distro type CI, i.e fedora rawhide, would be the most useful, otherwise, I think it's unlikely to actually turn much up, given packages are pinned in depends, and in the distro. Note that *--suppress-external-warnings was another feature not ported to CMake, as apparently it isn't needed; so someone would have to look at porting it again, so it's possible to achieve this same functionality, of exposing all warnings.

@maflcko
Copy link
Member

maflcko commented May 29, 2024

I think it's unlikely to actually turn much up, given packages are pinned in depends

at least for the sanitizer builds, the compiler is bumped regularly, so it seems good to check those bumps when they happen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants