conan-io / meta-conan

Yocto layer for the Conan project
24 stars 28 forks source link

WIP: Update LAYERSERIES_COMPAT with warrior #1

Open kapare opened 4 years ago

kapare commented 4 years ago

ERROR: Layer meta-conan is not compatible with the core layer which only supports these series: warrior (layer is compatible with thud)

danimtb commented 4 years ago

Hi @kapare,

Thanks a lot for this PR. We didn't find the time to properly test the layer with warrior.

Did it work in your case with this fix? Is anything else needed? Thanks again!

btashton commented 4 years ago

@danimtb Looks like something got a little messed up with the warrior branch when things got merged around. I will need to look a little deeper. We also need to create the zuse branch (released recently) and update master to track the latest. The biggest difference is that starting with warrior a lot of the python dependencies are tracked upstream and these should not be in warrior, zuse, and master.

kapare commented 4 years ago

Hi @danimtb

I manage to have conan run without exception and didn't test it more yet.

My image is composed of these packagesgroup & python specific packages:

packagegroup-core-boot packagegroup-core-full-cmdline packagegroup-core-buildessentia python-modules python-misc python-pip python-dateutil python-conan

I didn't install meta-python pacakgegroup and for python-conan it needs more:

I had to add python-dateutil and would have expected this as RDEPENDS

I will push another MR to fix this.

kapare commented 4 years ago

Dependency is missing for python3-conan at runtime:

# conan
Traceback (most recent call last):
  File "/usr/bin/conan", line 2, in <module>
    from conans.conan import run
  File "/usr/lib/python3.7/site-packages/conans/__init__.py", line 3, in <module>
    from conans.client.build.autotools_environment import AutoToolsBuildEnvironment
  File "/usr/lib/python3.7/site-packages/conans/client/build/autotools_environment.py", line 6, in <module>
    from conans.client.build.compiler_flags import (architecture_flag, build_type_define,
  File "/usr/lib/python3.7/site-packages/conans/client/build/compiler_flags.py", line 12, in <module>
    from conans.client.tools.oss import cpu_count
  File "/usr/lib/python3.7/site-packages/conans/client/tools/__init__.py", line 4, in <module>
    from .apple import *
  File "/usr/lib/python3.7/site-packages/conans/client/tools/apple.py", line 5, in <module>
    from conans.client.tools.oss import check_output
  File "/usr/lib/python3.7/site-packages/conans/client/tools/oss.py", line 1, in <module>
    import multiprocessing
ModuleNotFoundError: No module named 'multiprocessing'
kapare commented 4 years ago
# conan search gtest*/* -r conan-center
ERROR: [('x509 certificate routines', 'X509_load_cert_crl_file', 'no certificate or crl found')]. [Remote: conan-center]

as @btashton says there's more to do...

btashton commented 4 years ago

@kapare I need to check that dateutil change. I believe that it is a requirement for the native build and we might just be missing the recipe for it, in the thud branch you can see a few python recipes that got extended to include a native package.

Thanks for catching the multiprocessing dependency, we are very possibly missing some of these python subpackages. I will run some more tests this week for both the native and non-native builds with conan (I have been intending to do this anyway).

btashton commented 4 years ago
# conan search gtest*/* -r conan-center
ERROR: [('x509 certificate routines', 'X509_load_cert_crl_file', 'no certificate or crl found')]. [Remote: conan-center]

as @btashton says there's more to do...

For this one I think this is actually not a conan issue, but rather missing the CA package ca-certificates. This is normally considered optional because in many cases people in small embedded builds are including only the needed certificates or (usually a bad idea) ignoring tls checking. If you include the package I think this will go away, you see this with curl and wget builds as well.

kapare commented 4 years ago

@btashton if you prefer to close this one and ping me when you have something that is ready to review/test. Also once you have something for warrior and maybe zeus, I think you should consider adding the layer to https://layers.openembedded.org

kapare commented 4 years ago

If I use pip there are more packages that are installed, if this help:

root@rtserver:~# pip install conan
Requirement already satisfied: conan in /usr/lib/python2.7/site-packages (1.17.1)
Requirement already satisfied: PyJWT<2.0.0,>=1.4.0 in /usr/lib/python2.7/site-packages (from conan) (1.6.4)
Requirement already satisfied: requests<3.0.0,>=2.8.1 in /usr/lib/python2.7/site-packages (from conan) (2.21.0)
Requirement already satisfied: colorama<0.5.0,>=0.3.3 in /usr/lib/python2.7/site-packages (from conan) (0.4.1)
Requirement already satisfied: PyYAML<6.0,>=3.11 in /usr/lib/python2.7/site-packages (from conan) (3.11)
Requirement already satisfied: patch==1.16 in /usr/lib/python2.7/site-packages (from conan) (1.16)
Requirement already satisfied: fasteners>=0.14.1 in /usr/lib/python2.7/site-packages (from conan) (0.14.1)
Requirement already satisfied: six>=1.10.0 in /usr/lib/python2.7/site-packages (from conan) (1.11.0)
Requirement already satisfied: node-semver==0.6.1 in /usr/lib/python2.7/site-packages (from conan) (0.6.1)
Requirement already satisfied: distro<1.2.0,>=1.0.2 in /usr/lib/python2.7/site-packages (from conan) (1.1.0)
Collecting pylint!=2.3.0,>=1.9.3 (from conan)
  Downloading https://files.pythonhosted.org/packages/36/3b/fa4025a424adafd85c6195001b1c130ecb8d8b30784a1c4cb68e7b5e5a)
    100% |################################| 696kB 604kB/s
Requirement already satisfied: future==0.16.0 in /usr/lib/python2.7/site-packages (from conan) (0.16.0)
Requirement already satisfied: pygments<3.0,>=2.0 in /usr/lib/python2.7/site-packages (from conan) (2.2.0)
Requirement already satisfied: astroid>=1.6.5 in /usr/lib/python2.7/site-packages (from conan) (1.6.5)
Requirement already satisfied: deprecation<2.1,>=2.0 in /usr/lib/python2.7/site-packages (from conan) (2.0.6)
Requirement already satisfied: tqdm<5,>=4.28.1 in /usr/lib/python2.7/site-packages (from conan) (4.31.1)
Requirement already satisfied: Jinja2<3,>=2.3 in /usr/lib/python2.7/site-packages (from conan) (2.10.1)
Requirement already satisfied: python-dateutil<3,>=2.7.0 in /usr/lib/python2.7/site-packages (from conan) (2.8.0)
Collecting bottle<0.13,>=0.12.8 (from conan)
  Downloading https://files.pythonhosted.org/packages/d9/4f/57887a07944140dae0d039d8bc270c249fc7fc4a00744effd73ae2cde0)
    100% |################################| 71kB 813kB/s
Collecting pluginbase<1.0,>=0.5 (from conan)
  Downloading https://files.pythonhosted.org/packages/6e/f4/1db0a26c1c7fad81a1214ad1b02839a7bd98d8ba68f782f6edcc3d3434)
    100% |################################| 40kB 516kB/s
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/lib/python2.7/site-packages (from requests<3.0.0,>=2.8.1-)
Requirement already satisfied: idna<2.9,>=2.5 in /usr/lib/python2.7/site-packages (from requests<3.0.0,>=2.8.1->conan))
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/lib/python2.7/site-packages (from requests<3.0.0,>=2.8.1-)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python2.7/site-packages (from requests<3.0.0,>=2.8.1->co)
Requirement already satisfied: monotonic>=0.1 in /usr/lib/python2.7/site-packages (from fasteners>=0.14.1->conan) (1.5)
Requirement already satisfied: isort>=4.2.5 in /usr/lib/python2.7/site-packages (from pylint!=2.3.0,>=1.9.3->conan) (4)
Requirement already satisfied: singledispatch; python_version < "3.4" in /usr/lib/python2.7/site-packages (from pylint)
Collecting mccabe (from pylint!=2.3.0,>=1.9.3->conan)
  Downloading https://files.pythonhosted.org/packages/87/89/479dc97e18549e21354893e4ee4ef36db1d237534982482c3681ee6e7bl
Collecting configparser; python_version == "2.7" (from pylint!=2.3.0,>=1.9.3->conan)
  Downloading https://files.pythonhosted.org/packages/7a/2a/95ed0501cf5d8709490b1d3a3f9b5cf340da6c433f896bbe9ce08dbe67l
Requirement already satisfied: backports.functools-lru-cache; python_version == "2.7" in /usr/lib/python2.7/site-packa)
Requirement already satisfied: lazy_object_proxy in /usr/lib/python2.7/site-packages (from astroid>=1.6.5->conan) (1.3)
Requirement already satisfied: wrapt in /usr/lib/python2.7/site-packages (from astroid>=1.6.5->conan) (1.10.11)
Requirement already satisfied: enum34>=1.1.3 in /usr/lib/python2.7/site-packages (from astroid>=1.6.5->conan) (1.1.6)
Requirement already satisfied: packaging in /usr/lib/python2.7/site-packages (from deprecation<2.1,>=2.0->conan) (19.0)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib/python2.7/site-packages (from Jinja2<3,>=2.3->conan) (1.0)
Collecting futures (from isort>=4.2.5->pylint!=2.3.0,>=1.9.3->conan)
  Downloading https://files.pythonhosted.org/packages/d8/a6/f46ae3f1da0cd4361c344888f59ec2f5785e69c872e175a748ef6071cdl
Requirement already satisfied: pyparsing>=2.0.2 in /usr/lib/python2.7/site-packages (from packaging->deprecation<2.1,>)
Installing collected packages: mccabe, configparser, pylint, bottle, pluginbase, futures
  Found existing installation: pylint 1.8.3
    Uninstalling pylint-1.8.3:
      Successfully uninstalled pylint-1.8.3
  Running setup.py install for bottle ... done
  Running setup.py install for pluginbase ... done
Successfully installed bottle-0.12.18 configparser-4.0.2 futures-3.3.0 mccabe-0.6.1 pluginbase-0.7 pylint-1.9.5
btashton commented 4 years ago

If I use pip there are more packages that are installed, if this help:

root@rtserver:~# pip install conan
Requirement already satisfied: conan in /usr/lib/python2.7/site-packages (1.17.1)
Requirement already satisfied: PyJWT<2.0.0,>=1.4.0 in /usr/lib/python2.7/site-packages (from conan) (1.6.4)
Requirement already satisfied: requests<3.0.0,>=2.8.1 in /usr/lib/python2.7/site-packages (from conan) (2.21.0)
Requirement already satisfied: colorama<0.5.0,>=0.3.3 in /usr/lib/python2.7/site-packages (from conan) (0.4.1)
Requirement already satisfied: PyYAML<6.0,>=3.11 in /usr/lib/python2.7/site-packages (from conan) (3.11)
Requirement already satisfied: patch==1.16 in /usr/lib/python2.7/site-packages (from conan) (1.16)
Requirement already satisfied: fasteners>=0.14.1 in /usr/lib/python2.7/site-packages (from conan) (0.14.1)
Requirement already satisfied: six>=1.10.0 in /usr/lib/python2.7/site-packages (from conan) (1.11.0)
Requirement already satisfied: node-semver==0.6.1 in /usr/lib/python2.7/site-packages (from conan) (0.6.1)
Requirement already satisfied: distro<1.2.0,>=1.0.2 in /usr/lib/python2.7/site-packages (from conan) (1.1.0)
Collecting pylint!=2.3.0,>=1.9.3 (from conan)
  Downloading https://files.pythonhosted.org/packages/36/3b/fa4025a424adafd85c6195001b1c130ecb8d8b30784a1c4cb68e7b5e5a)
    100% |################################| 696kB 604kB/s
Requirement already satisfied: future==0.16.0 in /usr/lib/python2.7/site-packages (from conan) (0.16.0)
Requirement already satisfied: pygments<3.0,>=2.0 in /usr/lib/python2.7/site-packages (from conan) (2.2.0)
Requirement already satisfied: astroid>=1.6.5 in /usr/lib/python2.7/site-packages (from conan) (1.6.5)
Requirement already satisfied: deprecation<2.1,>=2.0 in /usr/lib/python2.7/site-packages (from conan) (2.0.6)
Requirement already satisfied: tqdm<5,>=4.28.1 in /usr/lib/python2.7/site-packages (from conan) (4.31.1)
Requirement already satisfied: Jinja2<3,>=2.3 in /usr/lib/python2.7/site-packages (from conan) (2.10.1)
Requirement already satisfied: python-dateutil<3,>=2.7.0 in /usr/lib/python2.7/site-packages (from conan) (2.8.0)
Collecting bottle<0.13,>=0.12.8 (from conan)
  Downloading https://files.pythonhosted.org/packages/d9/4f/57887a07944140dae0d039d8bc270c249fc7fc4a00744effd73ae2cde0)
    100% |################################| 71kB 813kB/s
Collecting pluginbase<1.0,>=0.5 (from conan)
  Downloading https://files.pythonhosted.org/packages/6e/f4/1db0a26c1c7fad81a1214ad1b02839a7bd98d8ba68f782f6edcc3d3434)
    100% |################################| 40kB 516kB/s
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/lib/python2.7/site-packages (from requests<3.0.0,>=2.8.1-)
Requirement already satisfied: idna<2.9,>=2.5 in /usr/lib/python2.7/site-packages (from requests<3.0.0,>=2.8.1->conan))
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/lib/python2.7/site-packages (from requests<3.0.0,>=2.8.1-)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python2.7/site-packages (from requests<3.0.0,>=2.8.1->co)
Requirement already satisfied: monotonic>=0.1 in /usr/lib/python2.7/site-packages (from fasteners>=0.14.1->conan) (1.5)
Requirement already satisfied: isort>=4.2.5 in /usr/lib/python2.7/site-packages (from pylint!=2.3.0,>=1.9.3->conan) (4)
Requirement already satisfied: singledispatch; python_version < "3.4" in /usr/lib/python2.7/site-packages (from pylint)
Collecting mccabe (from pylint!=2.3.0,>=1.9.3->conan)
  Downloading https://files.pythonhosted.org/packages/87/89/479dc97e18549e21354893e4ee4ef36db1d237534982482c3681ee6e7bl
Collecting configparser; python_version == "2.7" (from pylint!=2.3.0,>=1.9.3->conan)
  Downloading https://files.pythonhosted.org/packages/7a/2a/95ed0501cf5d8709490b1d3a3f9b5cf340da6c433f896bbe9ce08dbe67l
Requirement already satisfied: backports.functools-lru-cache; python_version == "2.7" in /usr/lib/python2.7/site-packa)
Requirement already satisfied: lazy_object_proxy in /usr/lib/python2.7/site-packages (from astroid>=1.6.5->conan) (1.3)
Requirement already satisfied: wrapt in /usr/lib/python2.7/site-packages (from astroid>=1.6.5->conan) (1.10.11)
Requirement already satisfied: enum34>=1.1.3 in /usr/lib/python2.7/site-packages (from astroid>=1.6.5->conan) (1.1.6)
Requirement already satisfied: packaging in /usr/lib/python2.7/site-packages (from deprecation<2.1,>=2.0->conan) (19.0)
Requirement already satisfied: MarkupSafe>=0.23 in /usr/lib/python2.7/site-packages (from Jinja2<3,>=2.3->conan) (1.0)
Collecting futures (from isort>=4.2.5->pylint!=2.3.0,>=1.9.3->conan)
  Downloading https://files.pythonhosted.org/packages/d8/a6/f46ae3f1da0cd4361c344888f59ec2f5785e69c872e175a748ef6071cdl
Requirement already satisfied: pyparsing>=2.0.2 in /usr/lib/python2.7/site-packages (from packaging->deprecation<2.1,>)
Installing collected packages: mccabe, configparser, pylint, bottle, pluginbase, futures
  Found existing installation: pylint 1.8.3
    Uninstalling pylint-1.8.3:
      Successfully uninstalled pylint-1.8.3
  Running setup.py install for bottle ... done
  Running setup.py install for pluginbase ... done
Successfully installed bottle-0.12.18 configparser-4.0.2 futures-3.3.0 mccabe-0.6.1 pluginbase-0.7 pylint-1.9.5

The idea was that in most cases people are using a limited set of the features, usually arounds just pulling packages, so pulling in all of those dependencies seemed unnecessary. We could consider making a package that would build off of the minimal conan that included the full functionality, but I would be curious what that use-case would be.

Lets not close this yet.

btashton commented 4 years ago

@kapare See the warrior branch over here https://github.com/btashton/meta-conan/tree/warrior I still need to test the native packages and zeus, but I was able to install and search for packages just extending core-image-minimal targeting both python3 and python2.

btashton commented 3 years ago

@anishmonachan7 I would recommend you look at the branch I linked. There are more fixed there that should be pulled in. I think the zeus branch also has fixes.

I don't maintain this anymore but people should feel free to take the patches into this.

danimtb commented 3 years ago

Thanks for the reminder @btashton, I have just opened a PR with your changes here https://github.com/conan-io/meta-conan/pull/5

I believe that with that PR the changes in this one are not needed, right?

CLAassistant commented 1 year ago

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.