How to solve "Multiple init scripts found (meta-openembedded vs. poky). Resolve ambiguity by removing one of the repos" without removing one repo

There is another very similar question here but it has no answer so ill try anyway

Im using Kas 4.5 to setup a yocto build I need meta-xilinx which requires openembedded meta layers https://layers.openembedded.org/layerindex/branch/master/layer/meta-xilinx-bsp/

but when I add openembedded to my kas I get the following error

./myimage/tools/myimage_docker.sh kas build
Using /home/spire/air/myimage/docker/docker-compose.yml running kas -l debug build /air/myimage/bitbake/kas.yml 
Creating docker_yocto_run ... done
2024-12-12 16:14:56 - INFO     - kas 4.5 started
2024-12-12 16:14:56 - DEBUG    - Using selector: EpollSelector
2024-12-12 16:14:56 - DEBUG    - /air/myimage/bitbake$ git rev-parse --show-toplevel
2024-12-12 16:14:56 - DEBUG    - /air/myimage/bitbake$ git rev-parse --show-toplevel
2024-12-12 16:14:56 - DEBUG    - execute setup_dir
2024-12-12 16:14:56 - DEBUG    - execute setup_home
2024-12-12 16:14:56 - DEBUG    - execute init_setup_repos
2024-12-12 16:14:56 - DEBUG    - execute repo_setup_loop
2024-12-12 16:14:56 - DEBUG    - Loop repo_setup_loop: execute setup_repos_step
2024-12-12 16:14:56 - DEBUG    - execute finish_setup_repos
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/poky$ git remote set-url origin https://git.yoctoproject.org/git/poky
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/meta-openembedded$ git remote set-url origin https://git.openembedded.org/openembedded-core
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/meta-openembedded$ git cat-file -t scarthgap
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/poky$ git cat-file -t scarthgap
2024-12-12 16:14:56 - INFO     - Repository meta-openembedded already contains scarthgap as commit
2024-12-12 16:14:56 - INFO     - Repository poky already contains scarthgap as commit
2024-12-12 16:14:56 - DEBUG    - Configuration from config file:
{'distro': 'poky',
 'header': {'version': 17},
 'machine': 'qemu64',
 'repos': {'meta-openembedded': {'commit': 'scarthgap',
                                 'layers': {'meta-networking': None,
                                            'meta-oe': None,
                                            'meta-python': None},
                                 'url': 'https://git.openembedded.org/openembedded-core'},
           'poky': {'commit': 'scarthgap',
                    'layers': {'meta': None, 'meta-poky': None},
                    'url': 'https://git.yoctoproject.org/git/poky'}},
 'target': 'core-image-minimal'}
2024-12-12 16:14:56 - DEBUG    - execute repos_checkout
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/poky$ git status -s
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/poky$ git checkout -q scarthgap
2024-12-12 16:14:56 - INFO     - Repository poky checked out to scarthgap
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/meta-openembedded$ git status -s
2024-12-12 16:14:56 - DEBUG    - /opt/myimage/build-env/meta-openembedded$ git checkout -q scarthgap
2024-12-12 16:14:56 - INFO     - Repository meta-openembedded checked out to scarthgap
2024-12-12 16:14:56 - DEBUG    - execute repos_apply_patches
2024-12-12 16:14:56 - DEBUG    - execute setup_environ
2024-12-12 16:14:56 - ERROR    - Multiple init scripts found (meta-openembedded vs. poky). Resolve ambiguity by removing one of the repos
ERROR: 2

What am I missing here? sounds like it should be a very straightforward thing to do but I cant crack it

I did read this and some docks so i don't know meta-oe of meta-openembedded vs meta of Poky

Upvotes: 0

Views: 45

Answers (1)

So I got something.

There are two major openembedded repos: Openembedded-core and meta-openembedded

  1. openembedded-core is its own distro (non-distro, or distro-less) so it is similar to what poky is, which is a distro as well and they both have the init script.
  2. meta-openembedded is just layers to be added on top of a distro, that is what I was expecting from openembedded but got it wrong.

So when you go to meta-xilinx-bsp for instance, an look at its dependencies, it states openembedded-core. So I went and tried to include that (silly me), but since I'm building on poky I really should have included meta-openembedded instead. And that works because the latter are just meta-layers and won't conflict with poky.

So thats the fix, ignore the dependency of the layer and rename openembedded-core in the link to meta-openembedded.

Hope this saves someone time.

Upvotes: 0

Related Questions