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

[boost] update to 1.75.0 #15090

Merged
merged 9 commits into from Dec 24, 2020
Merged

[boost] update to 1.75.0 #15090

merged 9 commits into from Dec 24, 2020

Conversation

yurybura
Copy link
Contributor

@yurybura yurybura commented Dec 13, 2020

Update Boost library to version 1.75.0
Release Notes: https://www.boost.org/users/history/version_1_75_0.html

Adds new libraries/ports: Boost.Json, Boost.Leaf, Boost.Pfr
Removes obsolete library/port Boost.Signals

Fixes #15070

@cenit
Copy link
Contributor

cenit commented Dec 13, 2020

Duplicate of #15071 ?

@yurybura
Copy link
Contributor Author

@cenit Yes. I would like to speed up update.

@PhoebeHui PhoebeHui added the category:port-update The issue is with a library, which is requesting update new revision label Dec 14, 2020
@PhoebeHui
Copy link
Contributor

@yurybura, thanks for your contribution!

Here is CI testing results:
telnetpp with x86-windows/x64-windows/arm64-windows/arm-uwp

D:\installed\x64-windows\include\boost/move/detail/type_traits.hpp(968): error C2079: 'boost::move_detail::alignment_of_hack<T>::t1' uses undefined struct 

symengine with arm64-windows/arm-uwp

D:\installed\arm-uwp\include\boost/multiprecision/cpp_int/intel_intrinsics.hpp(103,11): error C3861: '_addcarry_u32': identifier not found
D:\installed\arm-uwp\include\boost/multiprecision/cpp_int/intel_intrinsics.hpp(108,11): error C3861: '_subborrow_u32': identifier not found

failure logs for arm64-windows.zip

@KazDragon
Copy link

As I mentioned in the linked topic, I installed Boost 1.75 on my local machine and Telnet++ compiled and linked just fine with my mainline. So I'm not sure what's causing the problem. Any assistance would be graciously and gratefully received.

@yurybura
Copy link
Contributor Author

@KazDragon Thank you. I'll check this issue when I can.

@longnguyen2004
Copy link
Contributor

@yurybura Seems interesting, I'll certainly test this for mingw!

@yurybura
Copy link
Contributor Author

Dear @PhoebeHui,
Could you check CI?

@longnguyen2004
Copy link
Contributor

x64-osx is having problems like usual, just ignore it for now.

@PhoebeHui
Copy link
Contributor

@yurybura, I have rerun the CI testing with x64-osx. It's in progress.

@cenit
Copy link
Contributor

cenit commented Dec 21, 2020

recently I experience this behaviour under linux/osx:

-- Building release...
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
-- Building x64-linux-rel
-- Building debug...
-- Configuring x64-linux-dbg
-- Configuring x64-linux-rel
-- Building x64-linux-dbg
-- Building x64-linux-rel

as you can see both configs are built twice. Is it solved by this PR? I assume there might be a double loop somewhere

Note: this happens only in boost-* libs

Note2: it was decided a long time ago to build debug first, to quicken the failure in case of errors. Maybe also an inversion in the configs is required, after the double build is solved

@longnguyen2004
Copy link
Contributor

@cenit That behavior has been there for a long time, and it's due to how the build helper works.
MSVC targets are handled with a CMake script, while Unixy targets are relegated to a separate CMakeLists.txt (see this and this). As a result, Unixy targets will use vcpkg_configure_cmake, which by default builds both the debug and release targets of the CMake project, which is redundant since both are essentially the same.
@ras0219-msft Is it possible to unite the two into one script, or maybe split it into multiple scripts and use include for each platform?

@cenit
Copy link
Contributor

cenit commented Dec 21, 2020

@yurybura
Copy link
Contributor Author

@PhoebeHui CI now looks good. Thank you.

Copy link
Contributor

@PhoebeHui PhoebeHui left a comment

Choose a reason for hiding this comment

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

LGTM, Thanks @yurybura!

I have tested boost-regex[icu]:x64-windows locally, it passed.

@cenit, we will fix the issue that you mentioned in another PRs.

@ras0219, could you help further review?

@PhoebeHui PhoebeHui added info:reviewed Pull Request changes follow basic guidelines and removed requires:author-response labels Dec 22, 2020
@cenit
Copy link
Contributor

cenit commented Dec 22, 2020

@cenit, we will fix the issue that you mentioned in another PRs.

it's just that each update is going to waste double the time in each and every CI machine using vcpkg and boost...

@BillyONeal
Copy link
Member

Oh wait that's the before so presumably the //s are in what you're replacing.

Thanks for your contribution and yay for updated Boost!

@BillyONeal BillyONeal merged commit f2c91b2 into microsoft:master Dec 24, 2020
Jimmy-Hu added a commit to Jimmy-Hu/vcpkg that referenced this pull request Dec 24, 2020
ryukw7 pushed a commit to ryukw7/vcpkg that referenced this pull request Dec 24, 2020
@pdimov
Copy link

pdimov commented Mar 26, 2021

The Boost JSON library is compiled, but this adds a header-only portfile for it, so using it doesn't link. I suppose the script that generates the portfiles needs to be patched somehow, but I don't know how.

@pdimov
Copy link

pdimov commented Mar 26, 2021

The problem is that the script checks for build/Jamfile.v2:

if ((Test-Path $unpacked/build/Jamfile.v2) -and $library -ne "metaparse" -and $library -ne "graph_parallel")

but libs/json/build contains a Jamfile, without the .v2. (The .v2 suffix dates from the time there was a v1 and is not required today.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-update The issue is with a library, which is requesting update new revision info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Boost] Update to version 1.75.0
7 participants