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

proposal: Bump to 7.0.5 #5570

Merged
merged 1 commit into from
May 25, 2021
Merged

proposal: Bump to 7.0.5 #5570

merged 1 commit into from
May 25, 2021

Conversation

Jean1995
Copy link
Contributor

@Jean1995 Jean1995 commented May 19, 2021

Specify library name and version: proposal/7.0.5


  • 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.

@conan-center-bot conan-center-bot added the Bump version PR bumping version without recipe modifications label May 19, 2021
@conan-center-bot

This comment has been minimized.

@SpaceIm
Copy link
Contributor

SpaceIm commented May 19, 2021

ERROR: Missing binary: cubicinterpolation/0.1.4:b9b61e96cd81aecc5b064b84e75ba961afe68b45
cubicinterpolation/0.1.4: WARN: Can't find a 'cubicinterpolation/0.1.4' package for the specified settings, options and dependencies:
- Settings: arch=x86_64, build_type=Release, compiler=gcc, compiler.libcxx=libstdc++11, compiler.version=5, os=Linux
- Options: fPIC=True, shared=False, boost:addr2line_location=/usr/bin/addr2line, boost:asio_no_deprecated=False, boost:bzip2=True, boost:debug_level=0, boost:diagnostic_definitions=False, boost:error_code_header_only=False, boost:extra_b2_flags=None, boost:fPIC=True, boost:filesystem_no_deprecated=False, boost:header_only=False, boost:i18n_backend=iconv, boost:layout=system, boost:lzma=False, boost:magic_autolink=False, boost:multithreading=True, boost:namespace=boost, boost:namespace_alias=False, boost:pch=True, boost:python_executable=None, boost:python_version=None, boost:segmented_stacks=False, boost:shared=False, boost:system_no_deprecated=False, boost:visibility=hidden, boost:with_stacktrace_backtrace=True, boost:without_atomic=False, boost:without_chrono=False, boost:without_container=False, boost:without_context=False, boost:without_contract=False, boost:without_coroutine=False, boost:without_date_time=False, boost:without_exception=False, boost:without_fiber=True, boost:without_filesystem=False, boost:without_graph=False, boost:without_graph_parallel=True, boost:without_iostreams=False, boost:without_json=True, boost:without_locale=False, boost:without_log=False, boost:without_math=False, boost:without_mpi=True, boost:without_nowide=True, boost:without_program_options=False, boost:without_python=True, boost:without_random=False, boost:without_regex=False, boost:without_serialization=False, boost:without_stacktrace=False, boost:without_system=False, boost:without_test=False, boost:without_thread=False, boost:without_timer=False, boost:without_type_erasure=False, boost:without_wave=False, boost:zlib=True, boost:zstd=False, bzip2:build_executable=True, bzip2:fPIC=True, bzip2:shared=False, eigen:MPL2_only=False, libbacktrace:fPIC=True, libbacktrace:shared=False, libiconv:fPIC=True, libiconv:shared=False, libunwind:coredump=True, libunwind:fPIC=True, libunwind:ptrace=True, libunwind:setjmp=True, libunwind:shared=False, xz_utils:fPIC=True, xz_utils:shared=False, zlib:fPIC=True, zlib:minizip=deprecated, zlib:shared=False
- Dependencies: boost/1.75.0, eigen/3.3.9
- Requirements: boost/1.Y.Z, eigen/3.Y.Z
- Package ID: b9b61e96cd81aecc5b064b84e75ba961afe68b45

ERROR: Missing prebuilt package for 'cubicinterpolation/0.1.4'
Try to build from sources with '--build=cubicinterpolation'
Use 'conan search <reference> --table table.html'
Or read 'http://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package'

I think I understand this issue.
#5420 has added a dependency to boost. And due to a known issue in conan client, this kind of modification changes package id of downstream.

It means that all recipes depending on boost must be built again. But first #5556 must be quickly fixed.

@Jean1995
Copy link
Contributor Author

ERROR: Missing binary: cubicinterpolation/0.1.4:b9b61e96cd81aecc5b064b84e75ba961afe68b45
cubicinterpolation/0.1.4: WARN: Can't find a 'cubicinterpolation/0.1.4' package for the specified settings, options and dependencies:
- Settings: arch=x86_64, build_type=Release, compiler=gcc, compiler.libcxx=libstdc++11, compiler.version=5, os=Linux
- Options: fPIC=True, shared=False, boost:addr2line_location=/usr/bin/addr2line, boost:asio_no_deprecated=False, boost:bzip2=True, boost:debug_level=0, boost:diagnostic_definitions=False, boost:error_code_header_only=False, boost:extra_b2_flags=None, boost:fPIC=True, boost:filesystem_no_deprecated=False, boost:header_only=False, boost:i18n_backend=iconv, boost:layout=system, boost:lzma=False, boost:magic_autolink=False, boost:multithreading=True, boost:namespace=boost, boost:namespace_alias=False, boost:pch=True, boost:python_executable=None, boost:python_version=None, boost:segmented_stacks=False, boost:shared=False, boost:system_no_deprecated=False, boost:visibility=hidden, boost:with_stacktrace_backtrace=True, boost:without_atomic=False, boost:without_chrono=False, boost:without_container=False, boost:without_context=False, boost:without_contract=False, boost:without_coroutine=False, boost:without_date_time=False, boost:without_exception=False, boost:without_fiber=True, boost:without_filesystem=False, boost:without_graph=False, boost:without_graph_parallel=True, boost:without_iostreams=False, boost:without_json=True, boost:without_locale=False, boost:without_log=False, boost:without_math=False, boost:without_mpi=True, boost:without_nowide=True, boost:without_program_options=False, boost:without_python=True, boost:without_random=False, boost:without_regex=False, boost:without_serialization=False, boost:without_stacktrace=False, boost:without_system=False, boost:without_test=False, boost:without_thread=False, boost:without_timer=False, boost:without_type_erasure=False, boost:without_wave=False, boost:zlib=True, boost:zstd=False, bzip2:build_executable=True, bzip2:fPIC=True, bzip2:shared=False, eigen:MPL2_only=False, libbacktrace:fPIC=True, libbacktrace:shared=False, libiconv:fPIC=True, libiconv:shared=False, libunwind:coredump=True, libunwind:fPIC=True, libunwind:ptrace=True, libunwind:setjmp=True, libunwind:shared=False, xz_utils:fPIC=True, xz_utils:shared=False, zlib:fPIC=True, zlib:minizip=deprecated, zlib:shared=False
- Dependencies: boost/1.75.0, eigen/3.3.9
- Requirements: boost/1.Y.Z, eigen/3.Y.Z
- Package ID: b9b61e96cd81aecc5b064b84e75ba961afe68b45

ERROR: Missing prebuilt package for 'cubicinterpolation/0.1.4'
Try to build from sources with '--build=cubicinterpolation'
Use 'conan search <reference> --table table.html'
Or read 'http://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package'

I think I understand this issue.
#5420 has added a dependency to boost. And due to a known issue in conan client, this kind of modification changes package id of downstream.

It means that all recipes depending on boost must be built again. But first #5556 must be quickly fixed.

Are there any actions that need to be taken by us? Otherwise, just keep us informed if there is any progress :)

@dvirtz dvirtz mentioned this pull request May 23, 2021
4 tasks
@dvirtz
Copy link
Contributor

dvirtz commented May 25, 2021

ERROR: Missing binary: cubicinterpolation/0.1.4:b9b61e96cd81aecc5b064b84e75ba961afe68b45
cubicinterpolation/0.1.4: WARN: Can't find a 'cubicinterpolation/0.1.4' package for the specified settings, options and dependencies:
- Settings: arch=x86_64, build_type=Release, compiler=gcc, compiler.libcxx=libstdc++11, compiler.version=5, os=Linux
- Options: fPIC=True, shared=False, boost:addr2line_location=/usr/bin/addr2line, boost:asio_no_deprecated=False, boost:bzip2=True, boost:debug_level=0, boost:diagnostic_definitions=False, boost:error_code_header_only=False, boost:extra_b2_flags=None, boost:fPIC=True, boost:filesystem_no_deprecated=False, boost:header_only=False, boost:i18n_backend=iconv, boost:layout=system, boost:lzma=False, boost:magic_autolink=False, boost:multithreading=True, boost:namespace=boost, boost:namespace_alias=False, boost:pch=True, boost:python_executable=None, boost:python_version=None, boost:segmented_stacks=False, boost:shared=False, boost:system_no_deprecated=False, boost:visibility=hidden, boost:with_stacktrace_backtrace=True, boost:without_atomic=False, boost:without_chrono=False, boost:without_container=False, boost:without_context=False, boost:without_contract=False, boost:without_coroutine=False, boost:without_date_time=False, boost:without_exception=False, boost:without_fiber=True, boost:without_filesystem=False, boost:without_graph=False, boost:without_graph_parallel=True, boost:without_iostreams=False, boost:without_json=True, boost:without_locale=False, boost:without_log=False, boost:without_math=False, boost:without_mpi=True, boost:without_nowide=True, boost:without_program_options=False, boost:without_python=True, boost:without_random=False, boost:without_regex=False, boost:without_serialization=False, boost:without_stacktrace=False, boost:without_system=False, boost:without_test=False, boost:without_thread=False, boost:without_timer=False, boost:without_type_erasure=False, boost:without_wave=False, boost:zlib=True, boost:zstd=False, bzip2:build_executable=True, bzip2:fPIC=True, bzip2:shared=False, eigen:MPL2_only=False, libbacktrace:fPIC=True, libbacktrace:shared=False, libiconv:fPIC=True, libiconv:shared=False, libunwind:coredump=True, libunwind:fPIC=True, libunwind:ptrace=True, libunwind:setjmp=True, libunwind:shared=False, xz_utils:fPIC=True, xz_utils:shared=False, zlib:fPIC=True, zlib:minizip=deprecated, zlib:shared=False
- Dependencies: boost/1.75.0, eigen/3.3.9
- Requirements: boost/1.Y.Z, eigen/3.Y.Z
- Package ID: b9b61e96cd81aecc5b064b84e75ba961afe68b45

ERROR: Missing prebuilt package for 'cubicinterpolation/0.1.4'
Try to build from sources with '--build=cubicinterpolation'
Use 'conan search <reference> --table table.html'
Or read 'http://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package'

I think I understand this issue.
#5420 has added a dependency to boost. And due to a known issue in conan client, this kind of modification changes package id of downstream.

It means that all recipes depending on boost must be built again. But first #5556 must be quickly fixed.

@SpaceIm should it work now that #5556 has been resolved?

@Jean1995
Copy link
Contributor Author

@SpaceIm should it work now that #5556 has been resolved?

If I build cubic_interpolation locally, it works for me now. So I believe a rebuild needs to be triggered for cubicinterpolation/0.1.4 (and probably other libraries with this problem). Is that possible?

@SpaceIm
Copy link
Contributor

SpaceIm commented May 25, 2021

Yes but a PR must be opened to generate new binaries.

I see that boost can't be updated to 1.76.0 in cubicinterpolation because it depends on math library:

  • Since 1.76.0, math requires C++11.
  • It was decided to not build boost components out of the box if default C++ standard of a compiler is not at least the minimum C++ standard required for a component and compiler.cppstd is not set at least to this standard, which is a big flaw for me, because now default binaries for macOS don't provide several components (math for example, because default C++ standard of AppleClang is still C++98, even with AppleClang 11 and 12 having full C++17 support!), and it contaminates downstream recipes.
    /cc @madebr @jgsogo @SSE4

@madebr
Copy link
Contributor

madebr commented May 25, 2021

@SpaceIm
I concur with you. I don't think the selected c++ standard influences the abi/generated binary.
So building with a higher c++ standard world not result in incompatible binaries.
(In general I think settings.compiler.stdcpp is something cci should only care about it there is some binary incompatibility. For example systemc)

@SSE4
Copy link
Contributor

SSE4 commented May 25, 2021

for boost, switching C++ standard changes the API, so it affects consumers and breaks binary compatibility :(

nm -a ./8e7331a4b39da21b18735b140013e9d304ea6285/lib/libboost_locale.a | c++filt | grep auto_ptr
0000000000000860 T boost::locale::localization_backend_manager::add_backend(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::auto_ptr<boost::locale::localization_backend>)
0000000000000250 T boost::locale::util::create_codecvt(std::__1::locale const&, std::__1::auto_ptr<boost::locale::util::base_converter>, unsigned int)
nm -a ./69168f775732984eb37d785004b6ef25111fe5f9/lib/libboost_locale.a | c++filt | grep auto_ptr
No matches!

because of https://github.com/boostorg/locale/blob/boost-1.72.0/include/boost/locale/localization_backend.hpp#L116

@SSE4
Copy link
Contributor

SSE4 commented May 25, 2021

we could build everything with not a compiler default C++ standard, but with latest supported (C++11/14/17/20/23), but in reality, it breaks the API for people, and breaks their expectations of conan settings and packages.
I still believe we should build different cppstd packages, sooner or later.
and more, my personal opinion, I would get rid of default cppstd (value None = compiler default) and always require explicit cppstd in conan 2.0.

@jgsogo
Copy link
Contributor

jgsogo commented May 25, 2021

At some point in time we will need to:

  • start declaring compatible_packages for different compiler.cppstd values if they are ABI compatible. This will be very challenging, not sure if we can add some automatic checks on CI side or it will require trusting users/reviewers and some issues.
  • As @SSE4 says "I still believe we should build different cppstd packages, sooner or later" (me too). But we cannot afford 4 times the number of configurations we are building now. The plan is to get insights of the packages people are consuming (@danimtb working on it), and also take into account community feelings and technical reasons (@uilianries can share something motivated by this issue).

@SSE4
Copy link
Contributor

SSE4 commented May 25, 2021

technically, I believe it should be possible to validate API is the same for different cppstd versions via hooks - running nm/dumpbin to verify the set of exported symbols stay the same.
probably, for boost, it won't require 4 different cppstd builds, but just a couple of them (e.g. pre-C++17 with auto_ptr and post C++17 without auto_ptr, unless there are more breaks). so (ideally) there will be just two builds - C++03/11/14 and C++17/20/23.
and in order to get the maximum amount of boost libraries/features available, first configuration should be built via C++14, second via C++23 (if possible), but compatible_packages should express that C++14 build can be used for C++03 because it still contains auto_ptr symbols.

@SSE4 SSE4 requested a review from uilianries May 25, 2021 11:27
@jgsogo
Copy link
Contributor

jgsogo commented May 25, 2021

BTW, I've triggered a build for cubicinterpolation/0.1.4: https://c3i.jfrog.io/c3i/misc/summary.html?json=https://c3i.jfrog.io/c3i/misc/logs/TapaholesList/92/summary.json Now building again this PR

@SpaceIm
Copy link
Contributor

SpaceIm commented May 25, 2021

regeneration of cubicinterpolation binaries: #5628

@conan-center-bot
Copy link
Collaborator

All green in build 2 (11ba2ab7425480b600392381762e88f11eaf0c29):

  • proposal/7.0.5@:
    All packages built successfully! (All logs)

@conan-center-bot conan-center-bot merged commit 4607b33 into conan-io:master May 25, 2021
madebr pushed a commit to madebr/conan-center-index that referenced this pull request Jun 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bump version PR bumping version without recipe modifications
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants