-
Notifications
You must be signed in to change notification settings - Fork 38.8k
build: actually set CXX and CXXFLAGS for native_b2 build #23551
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
Conversation
|
Concept ACK. |
|
Does this allow to simplify the msan ci with boost_cxxflags? |
|
Actually, boost 1.71.0 (the version we use)'s However, this was changed in boostorg/build@7497f61, which was first included in boost 1.76.0 The reason why you're seeing the current breakage in the first case is because our well-known var propagation in depends is limited to non-native packages, native packages do not yet get them: #18820 (comment). However, I have not figured out why it works in the second case. My reading of boost's So perhaps there's a |
Currently, ./build.sh doesn't seem to respect `CXX` and `CXXFLAGS`. This becomes more obvious when you build depends with `CC` and `CXX` set, without another compiler installed. i.e when using `g++-8` on Ubuntu Bionic, but not having `g++` (GGC-7) installed. The native_b2 build will fail with: ```bash make -C depends/ -j9 CC=gcc-8 CXX=g++-8 ... /bitcoin/depends/sources/boost_1_71_0.tar.bz2: OK Preprocessing native_b2... Configuring native_b2... Building native_b2... B2_TOOLSET is gcc, but the 'gcc' command cannot be executed. Make sure 'gcc' is in PATH, or use a different toolset. ``` Instead, don't set CXX or CXXFLAGS before calling `build.sh`. In this case, we either get the default CXX (`g++`), or, we'll get the CXX set by the user. i.e: ```bash make -C depends/ -j9 CC=gcc-8 CXX=g++-8 ... /bitcoin/depends/sources/boost_1_71_0.tar.bz2: OK Preprocessing native_b2... Configuring native_b2... Building native_b2... g++-8 --version g++-8 (Ubuntu 8.4.0-1ubuntu1~18.04) 8.4.0 Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. g++-8 -x c++ -std=c++11 -O2 -s .... <snip> ```
8b7f561 to
eaa42d0
Compare
|
@dongcarl Thanks for having a look.
I'm not sure about this. If I just remove the setting of I've updated this change to just drop We can look at using |
|
This is still broken: Note Please consider an alternative #23571. |
Lets look at that for now. |
Currently, ./build.sh doesn't seem to respect
CXXandCXXFLAGS. Thisbecomes more obvious when you build depends with
CCandCXXset,without another compiler installed. i.e when using
g++-8on UbuntuBionic, but not having
g++(GGC-7) installed. The native_b2 build willfail with:
Instead, don't set CXX or CXXFLAGS before calling
build.sh.In this case, we either get the default CXX (
g++), or, we'll get the CXX set by the user. i.e: