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

[bug] conan info --dry-build missing fails #14639

Closed
Sil3ntStorm opened this issue Sep 1, 2023 · 7 comments
Closed

[bug] conan info --dry-build missing fails #14639

Sil3ntStorm opened this issue Sep 1, 2023 · 7 comments
Assignees

Comments

@Sil3ntStorm
Copy link

Sil3ntStorm commented Sep 1, 2023

Environment details

  • Operating System+version: Ubuntu Focal
  • Compiler+version: clang16
  • Conan version: 1.60.2
  • Python version: 3.10.9

Steps to reproduce

Using the following list of requirements:

    def requirements(self):
        self.requires('abseil/20230125.3')
        self.requires('c-ares/1.19.1')
        self.requires('grpc/1.54.3')
        self.requires('ms-gsl/4.0.0')
        self.requires('nlohmann_json/3.11.2')
        self.requires('openssl/[>=1.1 <4]')
        self.requires('opus/1.3.1')
        self.requires('quazip/1.4')
        self.requires('boost/1.82.0')
        self.requires('qt/6.5.2')
        self.requires('zlib/1.2.13')

    def build_requirements(self):
        self.tool_requires('protobuf/3.21.12')
        self.tool_requires('grpc/1.54.3')
        self.tool_requires('qt/6.5.2') # For Qt tools

Run conan info --update --dry-build missing .

If you skip the --dry-build missing it runs.

Logs

ERROR: Conflict in nss/3.89:
    'nss/3.89' requires 'sqlite3/3.41.2' while 'nss/3.89' requires 'sqlite3/3.42.0'.

Trying to do a conan install --build missing will fail in the same way

@memsharded
Copy link
Member

Hi @Sil3ntStorm

Thanks for your report.

I have tried to reproduce in Windows and Linux and so far I haven't been able to reproduce it. Maybe it was something pending in ConanCenter that was waiting to be merged, and now it is fixed? Could you please check it again? (Make sure your cache is empty first, just in case)

@Sil3ntStorm
Copy link
Author

Windows Build works, it is just the Linux one that fails, I am guessing due to the additional (build) requirements.

I'm using the following profiles:

Configuration (profile_host):
[settings]
arch=x86_64
build_type=Release
compiler=clang
compiler.cppstd=17
compiler.libcxx=libc++
compiler.runtime=dynamic
compiler.version=16
os=Linux
[options]
boost:asio_no_deprecated=False
boost:bzip2=False
boost:error_code_header_only=True
boost:filesystem_no_deprecated=True
boost:filesystem_use_std_fs=True
boost:header_only=False
boost:lzma=False
boost:magic_autolink=False
boost:namespace_alias=False
boost:numa=False
boost:pch=False
boost:shared=False
boost:system_no_deprecated=True
boost:system_use_utf8=True
boost:without_atomic=False
boost:without_chrono=False
boost:without_container=False
boost:without_context=True
boost:without_contract=True
boost:without_coroutine=True
boost:without_date_time=False
boost:without_exception=False
boost:without_fiber=True
boost:without_filesystem=False
boost:without_graph=True
boost:without_graph_parallel=True
boost:without_iostreams=False
boost:without_json=True
boost:without_locale=True
boost:without_log=True
boost:without_math=True
boost:without_mpi=True
boost:without_nowide=True
boost:without_program_options=True
boost:without_python=True
boost:without_random=False
boost:without_regex=False
boost:without_serialization=True
boost:without_stacktrace=True
boost:without_system=False
boost:without_test=False
boost:without_thread=False
boost:without_timer=False
boost:without_type_erasure=True
boost:without_url=True
boost:without_wave=True
boost:zlib=False
boost:zstd=False
grpc:codegen=True
grpc:cpp_plugin=True
grpc:csharp_ext=False
grpc:csharp_plugin=False
grpc:node_plugin=False
grpc:objective_c_plugin=False
grpc:php_plugin=False
grpc:python_plugin=False
grpc:ruby_plugin=False
grpc:secure=True
grpc:shared=False
openssl:shared=True
qt:qt5compat=True
qt:qtshadertools=True
qt:qtsvg=True
qt:qttranslations=True
qt:qtwebchannel=True
qt:qtwebengine=True
qt:qtwebview=True
qt:shared=True
qt:with_glib=False
qt:with_mysql=False
qt:with_odbc=False
qt:with_pq=False
[build_requires]
[env]

Configuration (profile_build):
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=clang
compiler.cppstd=17
compiler.libcxx=libstdc++
compiler.version=16
os=Linux
os_build=Linux
[options]
boost:asio_no_deprecated=False
boost:bzip2=False
boost:error_code_header_only=True
boost:filesystem_no_deprecated=True
boost:filesystem_use_std_fs=True
boost:header_only=False
boost:lzma=False
boost:magic_autolink=False
boost:namespace_alias=False
boost:numa=False
boost:pch=False
boost:shared=False
boost:system_no_deprecated=True
boost:system_use_utf8=True
boost:without_atomic=False
boost:without_chrono=False
boost:without_container=False
boost:without_context=True
boost:without_contract=True
boost:without_coroutine=True
boost:without_date_time=False
boost:without_exception=False
boost:without_fiber=True
boost:without_filesystem=True
boost:without_graph=True
boost:without_graph_parallel=True
boost:without_iostreams=True
boost:without_json=True
boost:without_locale=True
boost:without_log=True
boost:without_math=True
boost:without_mpi=True
boost:without_nowide=True
boost:without_program_options=True
boost:without_python=True
boost:without_random=True
boost:without_regex=True
boost:without_serialization=True
boost:without_stacktrace=True
boost:without_system=False
boost:without_test=False
boost:without_thread=False
boost:without_timer=False
boost:without_type_erasure=True
boost:without_url=True
boost:without_wave=True
boost:zlib=False
boost:zstd=False
fmt:header_only=True
grpc:codegen=True
grpc:cpp_plugin=True
grpc:csharp_ext=False
grpc:csharp_plugin=False
grpc:node_plugin=False
grpc:objective_c_plugin=False
grpc:php_plugin=False
grpc:python_plugin=False
grpc:ruby_plugin=False
grpc:secure=True
grpc:shared=False
openssl:shared=False
qt:qt5compat=True
qt:qtshadertools=True
qt:qtsvg=True
qt:qttranslations=True
qt:qtwebchannel=True
qt:qtwebengine=True
qt:qtwebview=True
qt:shared=True
qt:with_glib=False
qt:with_mysql=False
qt:with_odbc=False
qt:with_pq=False
spdlog:header_only=True
[build_requires]
[env]

Then run
conan remove -f "*/*" to kill the cache
conan install --update --build missing --json conan-build-info.json .

Which will check and download all the recipes, and then fail on the nss requirement for sqlite/3.41.2.

I think this is due to nss having a build requirement of sqlite (for whatever reason), whereas qt has a requirement of 3.42.0. Both are build_requires, which throws it off.

@Sil3ntStorm
Copy link
Author

Curiously even if you first just build nss/3.89 first (which works), it will still complain about the sqlite requirement issue.

@memsharded
Copy link
Member

Thanks for the details.
I think you are right, it is possible that some of those options will bring conditional requirements that are not the default, I'll try later with those options.

Have you tried to add an extra tool_requires to 'sqlite3/3.42.0' to see if it can resolve the conflict? Have you tried some other mechanism to solve the conflict?

I think it is also worth checking in ConanCenter, maybe it is just something that can be quickly fixed there by bumping some dependencies.

@memsharded memsharded added this to the 2.0.11 milestone Sep 3, 2023
@memsharded
Copy link
Member

Trying conan-io/conan-center-index#19579

@Sil3ntStorm
Copy link
Author

Sil3ntStorm commented Sep 3, 2023

I have already tried with both a newer version of nss (which still has the old sqlite3 dependency), as well as modifying the nss recipe to require the same sqlite3 version as Qt6. However unfortunately without much success.

In the end I have unexplained build failures in the icu package, but that is probably a side effect of messing around. No more time to mess around with this today.

@memsharded memsharded modified the milestones: 2.0.11, 1.62 Sep 14, 2023
@franramirez688 franramirez688 modified the milestones: 1.62, 1.63 Nov 7, 2023
@memsharded
Copy link
Member

We haven't had time to check this again, hopefully it is not an issue anymore, not even sure if it was a Conan issue or a recipe issue.

I am closing this as inactive at the moment, but don't hesitate to re-open or create a new ticket if still failing or any further question. Best if reported against Conan 2.0, which was released 1 year ago already, it will be more prioritized.

@memsharded memsharded closed this as not planned Won't fix, can't repro, duplicate, stale Feb 12, 2024
@czoido czoido removed this from the 1.63 milestone Feb 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants