Skip to content

Commit

Permalink
Merge master to develop (#2033)
Browse files Browse the repository at this point in the history
* fix lowercase package names (#2013)

* remove training banner (#2015)

* Fix incorrect indentation in define_abi_compatibility.rst (#2017)

* Fix spelling (#2018)

Co-authored-by: Carlos Zoido <mrgalleta@gmail.com>

* Remove misleading message about ConanCenter in shared_library_package_id() (#2000)

* Update yocto docs (#2022)

* Troubleshooting: How to fix incompatible requirements (#2016)

* How to solve incompatible requirements

Signed-off-by: Uilian Ries <uilianries@gmail.com>

* Update faq/troubleshooting.rst

Co-authored-by: Carlos Zoido <mrgalleta@gmail.com>

* Update faq/troubleshooting.rst

Co-authored-by: Carlos Zoido <mrgalleta@gmail.com>

* Update faq/troubleshooting.rst

Co-authored-by: Carlos Zoido <mrgalleta@gmail.com>

* Update faq/troubleshooting.rst

Co-authored-by: Carlos Zoido <mrgalleta@gmail.com>

* Update faq/troubleshooting.rst

* Fix bad indentation

Signed-off-by: Uilian Ries <uilianries@gmail.com>

Co-authored-by: Carlos Zoido <mrgalleta@gmail.com>

Co-authored-by: James <james@conan.io>
Co-authored-by: chausner <chausner@users.noreply.github.com>
Co-authored-by: Daniel <danimanzaneque@gmail.com>
Co-authored-by: Uilian Ries <uilianries@gmail.com>
  • Loading branch information
5 people committed Feb 26, 2021
1 parent 3f24e68 commit 8700e20
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 11 deletions.
46 changes: 46 additions & 0 deletions faq/troubleshooting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -218,3 +218,49 @@ solve this problem you need to remove existing upper case variant ``OpenSSL``:
.. code-block:: bash
$ conan remove "OpenSSL/*"
ERROR: Incompatible requirements obtained in different evaluations of 'requirements'
------------------------------------------------------------------------------------
When two different packages require the same package as a dependency, but with different versions, will result in the following error:
.. code-block:: bash
$ cat conanfile.txt
[requires]
baz/1.0.0
foobar/1.0.0
$ conan install conanfile.txt
[...]
WARN: foobar/1.0.0: requirement foo/1.3.0 overridden by baz/1.0.0 to foo/1.0.0
ERROR: baz/1.0.0: Incompatible requirements obtained in different evaluations of 'requirements'
Previous requirements: [foo/1.0.0]
New requirements: [foo/1.3.0]
As we can see in the following situation: the ``conanfile.txt`` requires 2 packages (``baz/1.0.0`` and ``foobar/1.0.0``) which
both require the package named ``foo``. However, ``baz`` requires ``foo/1.0.0``, but ``foobar`` requires ``foo/1.3.0``.
As the required versions are different, it's considered a conflict and Conan will not solve it.
To solve this kind of collision, you have to choose a version for ``foo`` and add it to the ``conanfile.txt`` as an explicit
requirement:
.. code-block:: text
[requires]
foo/1.3.0
baz/1.0.0
foobar/1.0.0
Here we choose ``foo/1.3.0`` because is newer. Now we can proceed:
.. code-block:: bash
$ conan install conanfile.txt
[...]
WARN: baz/1.0.0: requirement foo/1.0.0 overridden by foobar/1.0.0 to foo/1.3.0
Conan still warns us about the conflict, but as we have [overridden](docs.conan.io/en/latest/versioning/introduction.html?#dependencies-overriding) the ``foo`` version, it's no longer an error.
5 changes: 1 addition & 4 deletions integrations/cross_platform/yocto.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ debugger and test the application.
:width: 600 px
:align: center

3. Once the cross-built packages are available in Artifactory, the application can be directly deployed to the Yocto image. This step can also be automated also in a CI.
3. Once the cross-built packages are available in Artifactory, the application can be directly deployed to the Yocto image without building
it from sources again.

.. image:: /images/yocto/conan-yocto_deploy.png
Expand Down Expand Up @@ -207,9 +207,6 @@ You would also have to activate the layers in the *bblayers.conf* file of your b
.. note::

Currently there is no support for ``CONAN_REVISIONS_ENABLED``, so remote and virtual Artifactory repositories will not work in this
case. We will continue working on this layer to support more features.

Please report any question, feature request or issue related to the ``meta-conan`` layer in its
`GitHub issue tracker <https://github.com/conan-io/meta-conan/issues>`_.

Expand Down
7 changes: 0 additions & 7 deletions reference/conanfile/methods.rst
Original file line number Diff line number Diff line change
Expand Up @@ -979,7 +979,6 @@ When a shared library links with a static library, the binary code of the later
That means that any change in the static library basically requires a new binary re-build of the shared one to integrate those changes.
Note that this doesn't happen in the static-static and shared-shared library dependencies.


Use this ``shared_library_package_id()`` helper in the ``package_id()`` method:

.. code-block:: python
Expand All @@ -999,12 +998,6 @@ option in command line or profiles, but can also be defined in recipes like:
if self.options.shared:
self.options["*"].shared = True
Using both ``shared_library_package_id()`` and this ``configure()`` method is necessary for
`Conan-center packages <https://github.com/conan-io/conan-center-index>`_ that have dependencies
to compiled libraries and have the ``shared`` option.



self.info.vs_toolset_compatible() / self.info.vs_toolset_incompatible()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down

0 comments on commit 8700e20

Please sign in to comment.