LLVM dependency while setting up OCIM

Hi guys,

While setting up OCIM, I got this error: “No package matching llvm is available” while Ansible was provisioning the instance, at the steps for pyenv. It seems for the Ubuntu version of the base image, which is xenial, the only llvm package available is llvm-3.8. When I changed the llvm dependency in <ansible>/roles/pyenv/defaults/main.yml to llvm-3.8 it worked.

I checked https://gitlab.com/groups/opencraft/documentation/-/issues?scope=all&utf8=✓&state=opened&search=llvm and this forum but found no previous issue. I don’t know if I missed sth. I followed the steps here: https://ocim.opencraft.com/en/latest/installation/#vagrant-installation

Am I resolving this issue correctly? Thanks!

PS: Please tell me if I post this topic in the right category, too.

Hi @giang

Sounds like you’ve found an issue that’s arisen since we create those playbook variables. You’re welcome to create a task to fix this issue, and submit a PR. :slight_smile:

Check out these docs for details on how to create a task (this will be in the handbook once MR! merges). Probably the best Epic use is SE-2292 Ocim Tech Debt & Bugs, and see the other tasks in that epic for which Account to use.

@giang, thanks for reporting this issue. I was the person who created that role and added the list of dependency packages.

I downloaded the latest ubuntu/xenial64 vagrant base box and set up the devstack afresh today and it worked fine without running into the error you have mentioned.

TASK [pyenv : Install prerequisites] *******************************************
ok: [default] => (item=make)
changed: [default] => (item=build-essential)
changed: [default] => (item=libssl-dev)
ok: [default] => (item=zlib1g-dev)
changed: [default] => (item=libbz2-dev)
changed: [default] => (item=libreadline-dev)
changed: [default] => (item=libsqlite3-dev)
ok: [default] => (item=wget)
ok: [default] => (item=curl)
changed: [default] => (item=llvm)
changed: [default] => (item=libncurses5-dev)
changed: [default] => (item=libncursesw5-dev)
ok: [default] => (item=xz-utils)
changed: [default] => (item=tk-dev)
ok: [default] => (item=libffi-dev)
changed: [default] => (item=liblzma-dev)
changed: [default] => (item=python-openssl)
ok: [default] => (item=git)

There is an llvm package in the universe section of the repository (which is enabled by default in the vagrant base image) in the xenial, xenial-updates release (see here and here). So I’m not entirely sure why you ran into this issue.

Can you check if the universe section of the repository is enabled on your Vagrant VM and if it is able to access it when running the apt-get update command?

@guruprasad @jill I just deleted everything and tried again and it worked. It probably was a network issue. Thanks and sorry for the false alarm!

1 Like

Just for future reference if this issue ever comes up again: I ran into the “No package matching llvm is available” error today trying to setup OCIM for the first time and was referred to this forum post. I deleted everything and reinstalled a few separate times and confirmed that llvm (and other packages) were all up to date. The underlying problem is still a mystery to me, but changing “llvm” to “llvm-3.8” in main.yml did finally get it working, so that does seem to be a valid work-around.