conan-io / conan-center-index

Recipes for the ConanCenter repository
https://conan.io/center
MIT License
921 stars 1.66k forks source link

[package] boost/1.85.0: missing 'boost_stacktrace_from_exception', 'boost_stacktrace_backtrace', 'boost_locale' #24313

Open denismakogon opened 3 weeks ago

denismakogon commented 3 weeks ago

Description

Unable to install boost 1.85.0 due to missing packages:

boost/1.85.0: WARN: Boost component 'locale' is missing libraries. Try building boost with '-o boost:without_locale'. (Option is not guaranteed to exist)
boost/1.85.0: WARN: Boost component 'stacktrace_backtrace' is missing libraries. Try building boost with '-o boost:without_stacktrace_backtrace'. (Option is not guaranteed to exist)
boost/1.85.0: WARN: Boost component 'stacktrace_from_exception' is missing libraries. Try building boost with '-o boost:without_stacktrace_from_exception'. (Option is not guaranteed to exist)
ERROR: boost/1.85.0: Error in package_info() method, line 1970
    raise ConanException(f"These libraries were expected to be built, but were not built: {non_built}")
    ConanException: These libraries were expected to be built, but were not built: {'boost_stacktrace_from_exception', 'boost_stacktrace_backtrace', 'boost_locale'}

Package and Environment Details

Conan profile

[settings] arch=x86_64 build_type=Release compiler=apple-clang compiler.cppstd=gnu17 compiler.libcxx=libc++ compiler.version=14 os=Macos

[buildenv] CC=/usr/bin/clang CXX=/usr/bin/clang++

Steps to reproduce

Create conanfile.txt with the following content:

[requires]
boost/1.85.0

[generators]
CMakeDeps
CMakeToolchain

run:

conan install . --output-folder=build --build=missing

more details available here: https://github.com/denismakogon/judy/actions/runs/9500317683/job/26183105246#step:7:2279

Logs

logs can be found here https://github.com/denismakogon/judy/actions/runs/9500317683/job/26183105246#step:7:2279

denismakogon commented 3 weeks ago

The same issue to 1.82.0-1.85.0!

denismakogon commented 3 weeks ago

1.81.0 on macOS is affected as well:

boost/1.81.0: WARN: Boost component 'locale' is missing libraries. Try building boost with '-o boost:without_locale'. (Option is not guaranteed to exist)
boost/1.81.0: WARN: Boost component 'stacktrace_backtrace' is missing libraries. Try building boost with '-o boost:without_stacktrace_backtrace'. (Option is not guaranteed to exist)
ERROR: boost/1.81.0: Error in package_info() method, line 1970
    raise ConanException(f"These libraries were expected to be built, but were not built: {non_built}")
    ConanException: These libraries were expected to be built, but were not built: {'boost_stacktrace_backtrace', 'boost_locale'}
AbrilRBS commented 2 weeks ago

Pinging @uilianries for this one

uilianries commented 2 weeks ago

Thank you for reporting, I'll take a look tomorrow.

uilianries commented 2 weeks ago

I'm not able to reproduce the same error as reported, I'm using Mac M1 (armv8) and when cross-building to x86_64 the error does not trigger. I'll check with someone with intel machine. In the CI we using only Mac M1 as well, that's why we didn't see this error at first sight.

I didn't check the code, but I remember from last time there is a condition about stacktrace and intel, to build or not some parts.

denismakogon commented 2 weeks ago

@uilianries look at GitHub Action logs I've attached (via link). All worked normally since October 2023 until we tried to move towards a newer boost version. But later we figured out that even version 1.82.0 (that we have used since October) no longer works with the GitHub Actions.

uilianries commented 2 weeks ago

@denismakogon yes, I checked that log and looks good. Another thing is be able to debug the recipe 😁 thanks for commenting

denismakogon commented 2 weeks ago

@uilianries I'd be happy to keep helping you.

denismakogon commented 2 weeks ago

Just FYI, I was able to solve this problem with the following options:

[options]
boost/*:with_stacktrace_backtrace=False
boost/*:without_locale=True

Interestingly, without_locale isn't documented but supported (implicitly), I found it in the code.

uilianries commented 2 weeks ago

@denismakogon Thank you for your feedback! Tomorrow I'll revisit it. Last time I needed to check boost stacktrace, because in 1.85.0 they introduced stacktrace_from_exception which has some logic using x86_64 arch. Probably that change in the Conan recipe is the your bug.