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: Change assertions to warnings #3900

Closed
wants to merge 1 commit into from

Conversation

gummif
Copy link
Contributor

@gummif gummif commented Dec 15, 2020

Specify library name and version: boost/1.74

  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

@gummif
Copy link
Contributor Author

gummif commented Dec 15, 2020

See
#3899
#3890
#3869

@ghost
Copy link

ghost commented Dec 15, 2020

@@ -1160,11 +1160,14 @@ def add_libprefix(n):
self.cpp_info.components[module].requires.append("{0}::{0}".format(conan_requirement))

if used_libraries != detected_libraries:
# TODO why do these sometime fail?
Copy link
Contributor

@madebr madebr Dec 15, 2020

Choose a reason for hiding this comment

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

These fail because the boost build script does not build a library if some dependency/requirement is not met.

e.g. Boost.Locale is not built with -o boost:without_locale=False -o boost:i18n_backend=icu -i icu:shared=False.
This is clearly an error.

Also, Boost.Json does not build when the active c++ standard is lower then c++11, even when b2 is run with --with-json.

So these assertions catch errors, that should get fixed in the conanfile.

Because it apparently catches a prpoblem with nowide being built on your system, which I did not see until now.

Copy link
Contributor

@madebr madebr Dec 15, 2020

Choose a reason for hiding this comment

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

Also, currently boost is configured using --without-xxx.
So all modules are enabled except those explicitly disabled.

In #3872 I have changed it to --with-xxx. Hopefully, this will only build those components explicitly enabled.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

But there seem to be false positive errors, I only need system, yet boost is not failing because of nowide. What can we do ASAP to get boost working?

Copy link
Contributor

@madebr madebr Dec 15, 2020

Choose a reason for hiding this comment

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

To get it working NOW, try building with -o boost:extra_b2_flags=--without-nowide.
Be aware that this workaround will not work after #3872, because b2 does not allow mixing of --with-xxx and --without-xxx.

Copy link
Contributor

Choose a reason for hiding this comment

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

It's not a false positive btw, it detected a rogue library which should not have been there.

@conan-center-bot
Copy link
Collaborator

An unexpected error happened and has been reported. Help is on its way! 🏇

@conan-center-bot
Copy link
Collaborator

An unexpected error happened and has been reported. Help is on its way! 🏇

@SSE4 SSE4 closed this Feb 2, 2021
@SSE4 SSE4 reopened this Feb 2, 2021
@gummif
Copy link
Contributor Author

gummif commented Feb 2, 2021

Looks like this is no longer an issue.

@gummif gummif closed this Feb 2, 2021
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