# Crystal Ubuntu repos - where is 21.10/22.04/../24.10?

**URL:** <https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032>\
**Category:** Crystal Contrib\
**Created:** [November 4, 2021, 2:10pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032 "2021-11-04T14:10:15Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![pfischer](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/pfischer/32/330_2.png) [@pfischer](https://forum.crystal-lang.org/u/pfischer)\
**Post date:** [November 4, 2021, 2:10pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/1 "2021-11-04T14:10:15Z")

</div>

Hello!

Here: [Install package devel:languages:crystal / crystal](https://software.opensuse.org/download.html?project=devel%3Alanguages%3Acrystal&package=crystal)

There is 21.04 repo only, but actual version of Ubuntu is 21.10. I don’t know anything about opensuse repositories/build systems, but will 21.10 be there?

Thanks! pf

---

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [November 4, 2021, 3:27pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/2 "2021-11-04T15:27:44Z")

</div>

I’ve just enabled the Ubuntu 21.10 repository. Packages should be available shortly.

Unfortunately, it requires a manual action every time a new repository is added. I don’t think you can opt in to an automatic subscription of new releases.

---

<div class="post-metadata">

**Author:** ![pfischer](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/pfischer/32/330_2.png) [@pfischer](https://forum.crystal-lang.org/u/pfischer)\
**Post date:** [November 4, 2021, 3:58pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/3 "2021-11-04T15:58:25Z")

</div>

Thanks!

---

<div class="post-metadata">

**Author:** ![pfischer](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/pfischer/32/330_2.png) [@pfischer](https://forum.crystal-lang.org/u/pfischer)\
**Post date:** [April 22, 2022, 8:23pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/4 "2022-04-22T20:23:50Z")

</div>

@straight-shoota Hello again! Can you do something similar for fresh 22.04?

---

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [April 22, 2022, 8:44pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/5 "2022-04-22T20:44:20Z")

</div>

That’s too fresh. We depend on availability on OBS. Dunno how long it takes them.

---

<div class="post-metadata">

**Author:** ![kees](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/kees/32/914_2.png) [@kees](https://forum.crystal-lang.org/u/kees)\
**Post date:** [April 23, 2022, 11:20am UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/6 "2022-04-23T11:20:32Z")

</div>

You could try [asdf](https://asdf-vm.com/), I just used it to install 1.4.1

---

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [April 23, 2022, 4:05pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/7 "2022-04-23T16:05:54Z")

</div>

The deb package probably works on Ubuntu 22.04 as well, you just have to tell the installer to use the the 21.10 repo (`DISTRO_REPO=xUbuntu_21.10 install.sh`).

---

<div class="post-metadata">

**Author:** ![pfischer](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/pfischer/32/330_2.png) [@pfischer](https://forum.crystal-lang.org/u/pfischer)\
**Post date:** [April 23, 2022, 4:21pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/8 "2022-04-23T16:21:43Z")

</div>

Yes, I am still using xUbuntu\_21.10 repo on 22.04.

So far I’ve only found this issue (in the compiled binary):

> <https://github.com/crystal-lang/crystal/issues/12025>
>
> When I run, for example, this code (just get something on HTTPS with HTTP::Clien…t):
> 
> \`\`\`crystal
> require "http"                                                                                                                                                  
> pp HTTP::Client.get("https://www.example.com").headers
> \`\`\`
> 
> this warning occurs in the run output:
> 
> \`\`\`
> WARNING: Unsupported BIO ctrl call (73)
> WARNING: Unsupported BIO ctrl call (73)
> WARNING: Unsupported BIO ctrl call (73)
> WARNING: Unsupported BIO ctrl call (73)
> WARNING: Unsupported BIO ctrl call (73)
> WARNING: Unsupported BIO ctrl call (73)
> WARNING: Unsupported BIO ctrl call (73)
> ...
> \`\`\`
> 
> \`\`\`bash
> $ crystal --version
> Crystal 1.4.1 \[b7377c041\] (2022-04-22)
> 
> LLVM: 10.0.0
> Default target: x86\_64-unknown-linux-gnu
> \`\`\`
> 
> \`\`\`bash
> $ openssl version
> OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
> \`\`\`
> 
> \`\`\`bash
> $ cat /etc/os-release
> PRETTY\_NAME="Ubuntu 22.04 LTS"
> NAME="Ubuntu"
> VERSION\_ID="22.04"
> VERSION="22.04 (Jammy Jellyfish)"
> VERSION\_CODENAME=jammy
> \`\`\`

but it works.

---

<div class="post-metadata">

**Author:** ![carlhoerberg](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/carlhoerberg/32/214_2.png) [@carlhoerberg](https://forum.crystal-lang.org/u/carlhoerberg)\
**Post date:** [April 27, 2022, 6:33pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/9 "2022-04-27T18:33:50Z")

</div>

Here’s deb packages (for amd64 and arm64) that works with all debian based distros and versions:

> **[84codes/crystal - Packages · packagecloud](https://packagecloud.io/84codes/crystal)**
>
> https://crystal-lang.org

---

<div class="post-metadata">

**Author:** ![rogerdpack](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/rogerdpack/32/117_2.png) [@rogerdpack](https://forum.crystal-lang.org/u/rogerdpack)\
**Post date:** [October 26, 2022, 5:46am UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/10 "2022-10-26T05:46:32Z")

</div>

Thanks this helped me figure it out for 19.10

For ubuntu 19.10 run it like  
wget [https://crystal-lang.org/install.sh](https://crystal-lang.org/install.sh)  
chmod a+x ./install.sh  
sudo su  
DISTRO\_REPO=xUbuntu\_18.04 ./install.sh

to avoid  
E: The repository ‘[http://download.opensuse.org/repositories/devel:languages:crystal/xUbuntu\_19.04](http://download.opensuse.org/repositories/devel:languages:crystal/xUbuntu_19.04) Release’ does not have a Release file.

Thanks!

---

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [October 26, 2022, 10:42am UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/11 "2022-10-26T10:42:31Z")

</div>

FYI: Ubuntu 19.10 reached EOL in July 2020.

---

<div class="post-metadata">

**Author:** ![pfischer](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/pfischer/32/330_2.png) [@pfischer](https://forum.crystal-lang.org/u/pfischer)\
**Post date:** [May 3, 2024, 12:03pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/12 "2024-05-03T12:03:50Z")

</div>

Can be “the manual repository action” repeated for Ubuntu 24.04?

---

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [May 3, 2024, 5:53pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/13 "2024-05-03T17:53:58Z")

</div>

The Ubuntu 24.04 repo should be available now.

---

<div class="post-metadata">

**Author:** ![pfischer](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/pfischer/32/330_2.png) [@pfischer](https://forum.crystal-lang.org/u/pfischer)\
**Post date:** [October 15, 2024, 11:16pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/14 "2024-10-15T23:16:13Z")

</div>

Ding dong… Ubuntu 24.10 is here…

---

<div class="post-metadata">

**Author:** ![Devonte](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/devonte/32/1927_2.png) [@Devonte](https://forum.crystal-lang.org/u/Devonte)\
**Post date:** [October 16, 2024, 12:11am UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/15 "2024-10-16T00:11:28Z")

</div>

@pfischer A new version manager [Crimson](https://github.com/crimson-crystal/crimson) was recently released that you could try while you wait. 😅

---

<div class="post-metadata">

**Author:** ![Blacksmoke16](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/blacksmoke16/32/1241_2.png) [@Blacksmoke16](https://forum.crystal-lang.org/u/Blacksmoke16)\
**Post date:** [October 16, 2024, 12:45am UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/16 "2024-10-16T00:45:34Z")

</div>

Can you try now? I think I did the right thing.

---

<div class="post-metadata">

**Author:** ![pfischer](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/pfischer/32/330_2.png) [@pfischer](https://forum.crystal-lang.org/u/pfischer)\
**Post date:** [October 16, 2024, 8:32am UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/17 "2024-10-16T08:32:17Z")

</div>

It’s there, thanks.

---

<div class="post-metadata">

**Author:** ![pfeifferj](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/pfeifferj/32/2649_2.png) [@pfeifferj](https://forum.crystal-lang.org/u/pfeifferj)\
**Post date:** [October 19, 2024, 1:39pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/18 "2024-10-19T13:39:48Z")

</div>

hey all,

i stumbled across this post and i’m wondering if there’s a more automated way to handle this process? specifically, could we set up a script to poll for new ubuntu versions and automatically create/update the repos on OBS without manual intervention?

i’m thinking something along the lines of:

1. monitor ubuntu mirrors or APIs for new releases
2. use OBS APIs to trigger the repo creation/update as soon as a new release is detected
3. maybe integrate some CI/CD to run tests on packages before publishing to ensure they work smoothly on the new release

has anyone tried something like this before, or know if it’s feasible?

---

<div class="post-metadata">

**Author:** ![straight-shoota](https://yyz2.discourse-cdn.com/flex036/user_avatar/forum.crystal-lang.org/straight-shoota/32/36_2.png) [@straight-shoota](https://forum.crystal-lang.org/u/straight-shoota)\
**Post date:** [October 19, 2024, 2:20pm UTC](https://forum.crystal-lang.org/t/crystal-ubuntu-repos-where-is-21-10-22-04-24-10/4032/19 "2024-10-19T14:20:58Z")

</div>

We’re considering to move away from OBS to lower maintenance effort. So no point in adding more automation at this point.
