Skip to content

Conversation

@fanquake
Copy link
Member

@fanquake fanquake commented Feb 7, 2023

Even though all other targets are disabled, we still need Boost CPPFLAGS (use_boost) to compile. This currently works everywhere, except on arm macOS (where the include path is non-standard), because generally, the Boost include path is generic, i.e /usr/include.

@DrahtBot
Copy link
Contributor

DrahtBot commented Feb 7, 2023

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

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK hebasto
Stale ACK jonatack

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

@jonatack
Copy link
Member

jonatack commented Feb 7, 2023

ACK 7c95e6e92c53da8564fae2bce919b2c53926ab00

Tested a fuzz build on an M1 running macOS 13.2 and ran a fuzzer on this branch, using the updated macOS configure documentation in #27056 with the following (suggest adding --enable-suppress-external-warnings to your configure):

  • brew install llvm
  • make clean && ./autogen.sh && ./configure --enable-fuzz --with-sanitizers=fuzzer,address,undefined --disable-asm CC=$(brew --prefix llvm)/bin/clang CXX=$(brew --prefix llvm)/bin/clang++ --enable-suppress-external-warnings && make -j11
  • FUZZ=process_message ./src/test/fuzz/fuzz

@fanquake fanquake force-pushed the still_set_boost_cppflags_when_enable_fuzz branch from 7c95e6e to 11caed2 Compare February 8, 2023 09:44
@fanquake fanquake force-pushed the still_set_boost_cppflags_when_enable_fuzz branch from 11caed2 to 3f76479 Compare February 8, 2023 12:12
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 3f764796103a73236aaabe185f7c1ccd924187a1, tested on Ubuntu 22.04 with @theuni's patch and no system Boost package installed:

$ make -C depends NO_QT=1 NO_WALLET=1 NO_UPNP=1 NO_NATPMP=1 NO_ZMQ=1
$ ./autogen.sh
$ ./configure --without-utils --without-daemon --disable-tests -disable-bench CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site
$ make clean
$ make

@fanquake fanquake force-pushed the still_set_boost_cppflags_when_enable_fuzz branch from 3f76479 to f8b68c1 Compare February 8, 2023 15:39
@hebasto
Copy link
Member

hebasto commented Feb 8, 2023

Unrelated: Should the $build_bitcoin_tx be dropped from here after #26086?

Added.

Apparently, I was wrong. Tested f8b68c1f63f3a942712ef4eeebbdb231b3884f13:

$ ./autogen.sh
$ ./configure -q --without-utils --enable-util-tx --without-daemon --disable-tests -disable-bench --disable-fuzz-binary --without-libs CONFIG_SITE=$PWD/depends/x86_64-pc-linux-gnu/share/config.site
$ make
...
  CXX      common/libbitcoin_common_a-interfaces.o
common/interfaces.cpp:8:10: fatal error: boost/signals2/connection.hpp: No such file or directory
    8 | #include <boost/signals2/connection.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
...

Sorry for the noise.

Even though all other targets are disabled, we still need Boost CPPFLAGS
(use_boost) to compile. This currently works everywhere, except on arm
macOS (where the include path is pretty non-standard), because
generally, the Boost include path is generic, i.e `/usr/include`.
@fanquake fanquake force-pushed the still_set_boost_cppflags_when_enable_fuzz branch from f8b68c1 to b03a982 Compare February 8, 2023 16:10
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 b03a982

@fanquake fanquake merged commit 835af48 into bitcoin:master Feb 8, 2023
sidhujag pushed a commit to syscoin/syscoin that referenced this pull request Feb 8, 2023
@fanquake fanquake deleted the still_set_boost_cppflags_when_enable_fuzz branch February 13, 2023 14:26
@bitcoin bitcoin locked and limited conversation to collaborators Feb 13, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants