Update broke Telegram

I received a notification on top-right part of the screen, with the purple cogwheel logo, saying that I need to update my system. So I went to terminal and ran garuda update. After it finished, the notification on top-right was still there, so I clicked that notification and it disappeared as a result.

Then I try opening telegram-desktop via GUI but nothing happens. I reboot and try again. Still doesn't work. I get the following in terminal:

$ telegram-desktop
telegram-desktop: error while loading shared libraries: libmbedcrypto.so.7: cannot open shared object file: No such file or directory

I thought that maybe I need to update my mirrorlist in order to obtain this libmbedcrypto.so.7 package. I replaced the contents of /etc/pacman.d/mirrorlist with the output of reflector. Then I run garuda-update and update and it basically says that system is already up-to-date and that there is nothing new to download. I also tried upd but I don't have that command.

I tried reflector --latest 200 --protocol http,https --sort rate --save /etc/pacman.d/mirrorlist and then garuda-update, and it doesn't download any new packages.

I tried sudo reflector --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist && sudo pacman -Syu && fish_update_completions && sudo updatedb followed by garuda-update and it still doesn't download any new packages.

What should I do now to get telegram-desktop working?

$ garuda-inxi
  Kernel: 6.1.32-1-lts arch: x86_64 bits: 64 compiler: gcc v: 13.1.1
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-lts
    root=UUID=4bc99fd1-6a7e-4096-8fca-ccd010a3944b rw rootflags=subvol=@
    quiet quiet splash rd.udev.log_priority=3 vt.global_cursor_default=0
    loglevel=3 ibt=off
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36 info: xfce4-panel wm: xfwm
    v: 4.18.0 vt: 7 dm: LightDM v: 1.32.0 Distro: Garuda Linux base: Arch Linux
  Type: Laptop System: Acer product: Aspire A315-56 v: V1.15
    serial: <superuser required>
  Mobo: IL model: Sleepy_IL v: V1.15 serial: <superuser required>
    UEFI: Insyde v: 1.15 date: 07/13/2020
  ID-1: BAT1 charge: 40.2 Wh (100.0%) condition: 40.2/47.8 Wh (84.1%)
    volts: 12.2 min: 11.2 model: LGC AP18C8K type: Li-ion serial: N/A
    status: full
  Info: model: Intel Core i3-1005G1 bits: 64 type: MT MCP arch: Ice Lake
    gen: core 10 level: v4 note: check built: 2019-21 process: Intel 10nm
    family: 6 model-id: 0x7E (126) stepping: 5 microcode: 0xBA
  Topology: cpus: 1x cores: 2 tpc: 2 threads: 4 smt: enabled cache:
    L1: 160 KiB desc: d-2x48 KiB; i-2x32 KiB L2: 1024 KiB desc: 2x512 KiB
    L3: 4 MiB desc: 1x4 MiB
  Speed (MHz): avg: 1201 high: 1207 min/max: 400/3400 scaling:
    driver: intel_pstate governor: powersave cores: 1: 1207 2: 1200 3: 1200
    4: 1200 bogomips: 9524
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities: <filter>
  Device-1: Intel Iris Plus Graphics G1 vendor: Acer Incorporated ALI
    driver: i915 v: kernel arch: Gen-11 process: Intel 10nm built: 2019-21
    ports: active: eDP-1 empty: HDMI-A-1 bus-ID: 00:02.0 chip-ID: 8086:8a56
    class-ID: 0300
  Device-2: Quanta HD User Facing driver: uvcvideo type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-7:3 chip-ID: 0408:a061
    class-ID: 0e02
  Display: x11 server: X.Org v: 21.1.8 compositor: xfwm v: 4.18.0 driver: X:
    loaded: modesetting alternate: fbdev,intel,vesa dri: iris gpu: i915
    display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93")
  Monitor-1: eDP-1 model: BOE Display 0x07cb built: 2018 res: 1920x1080
    hz: 60 dpi: 142 gamma: 1.2 size: 344x193mm (13.54x7.6") diag: 394mm (15.5")
    ratio: 16:9 modes: 1920x1080
  API: OpenGL Message: Unable to show GL data. Required tool glxinfo
  Device-1: Intel Ice Lake-LP Smart Sound Audio vendor: Acer Incorporated ALI
    driver: snd_hda_intel v: kernel alternate: snd_sof_pci_intel_icl
    bus-ID: 00:1f.3 chip-ID: 8086:34c8 class-ID: 0403
  API: ALSA v: k6.1.32-1-lts status: kernel-api tools: N/A
  Server-1: PipeWire v: 0.3.71 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Acer Incorporated ALI driver: r8169 v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: 4000 bus-ID: 01:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  IF: enp1s0 state: down mac: <filter>
  Device-2: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter
    vendor: Lite-On driver: ath10k_pci v: kernel pcie: gen: 1 speed: 2.5 GT/s
    lanes: 1 bus-ID: 02:00.0 chip-ID: 168c:0042 class-ID: 0280
  IF: wlp2s0 state: up mac: <filter>
  IF-ID-1: br-3c4b6f6d3dab state: down mac: <filter>
  IF-ID-2: br-f6b403f2c30d state: down mac: <filter>
  IF-ID-3: docker0 state: down mac: <filter>
  IF-ID-4: tun0 state: unknown speed: 10 Mbps duplex: full mac: N/A
  Device-1: Lite-On Qualcomm Atheros QCA9377 Bluetooth driver: btusb v: 0.8
    type: USB rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-10:4
    chip-ID: 04ca:3015 class-ID: e001
  Report: bt-adapter ID: hci0 rfk-id: 2 state: up address: <filter>
  Local Storage: total: 238.47 GiB used: 190.84 GiB (80.0%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Kingston
    model: RBUSNS8154P3256GJ1 size: 238.47 GiB block-size: physical: 512 B
    logical: 512 B speed: 15.8 Gb/s lanes: 2 tech: SSD serial: <filter>
    fw-rev: E8FK12.3 temp: 31.9 C scheme: GPT
  ID-1: / raw-size: 238.21 GiB size: 238.21 GiB (100.00%)
    used: 190.83 GiB (80.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-2: /boot/efi raw-size: 260 MiB size: 256 MiB (98.46%)
    used: 562 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-3: /home raw-size: 238.21 GiB size: 238.21 GiB (100.00%)
    used: 190.83 GiB (80.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-4: /var/log raw-size: 238.21 GiB size: 238.21 GiB (100.00%)
    used: 190.83 GiB (80.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-5: /var/tmp raw-size: 238.21 GiB size: 238.21 GiB (100.00%)
    used: 190.83 GiB (80.1%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default)
  ID-1: swap-1 type: zram size: 7.55 GiB used: 58.2 MiB (0.8%) priority: 100
    dev: /dev/zram0
  System Temperatures: cpu: 64.0 C mobo: N/A
  Fan Speeds (RPM): N/A
  Processes: 277 Uptime: 31m wakeups: 1 Memory: available: 7.55 GiB
  used: 3.59 GiB (47.5%) Init: systemd v: 253 default: graphical
  tool: systemctl Compilers: gcc: 13.1.1 clang: 15.0.7 Packages: 1813
  pm: nix-default pkgs: 0 pm: nix-sys pkgs: 0 pm: nix-usr pkgs: 0 pm: pacman
  pkgs: 1808 libs: 435 tools: paru pm: flatpak pkgs: 5 Shell: Bash v: 5.1.16
  running-in: qterminal inxi: 3.3.27
Garuda (2.6.16-1):
  System install date:     2022-09-11
  Last full system update: 2023-06-08 ↻
  Is partially upgraded:   No
  Relevant software:       snapper(custom) NetworkManager mkinitcpio
  Windows dual boot:       No/Undetected
  Failed units:  

This looks like a somewhat similar problem [Solved]Electron22 based software suddenly not work after update / Applications & Desktop Environments / Arch Linux Forums but isn't necessarily the same thing, maybe it's the telegram package that needs be updated (by its maintainers, not you).
Shame on me, I recall having some problem with that same mbedtls but I can't remember what I did.
Sometimes such problems can be worked around with a dirty hack: symlinking the actual .so to the expected name (that may cause the application to crash, and you'll have to remember to remove the link when there's an update). Now that I think of it... I check whether I did so, hold on.

Hm, looks like not:

fish❯ pacman -Qo /usr/lib/libmbedcrypto.so.7
/usr/lib/libmbedcrypto.so.7 is owned by mbedtls2 2.28.3-3

What does pacman -Qi mbedtls2 say? Is it even installed? If not, pacman -S mbedtls2 and try again.
Let me see what the telegram package depends on...


I didn't have mbedtls2 up until now, so I installed it now and it now says:

$ pacman -Qi mbedtls2
Name            : mbedtls2
Version         : 2.28.3-3
Description     : An open source, portable, easy to use, readable and flexible TLS library
Architecture    : x86_64
URL             : https://tls.mbed.org
Licenses        : Apache
Groups          : None
Provides        : libmbedcrypto.so=7-64  libmbedtls.so=14-64  libmbedx509.so=1-64
Depends On      : glibc
Optional Deps   : None
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 2,92 MiB
Packager        : Maxime Gauduin <[email protected]>
Build Date      : tor 25 maj 2023 19:35:06
Install Date    : tor 8 jun 2023 06:17:03
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

1 Like

I think it should work now.

1 Like

it does work now indeed. Thanks! :smile: So the solution was just to install mbedtls2

Works fine here without

LANG=C pacman -Qi mbedtls2
error: package 'mbedtls2' was not found

 ╭─sgs@yoga9 in ~ as 🧙 took 31ms
 🕙 06:20:58
[🔴] × pacman -Qi telegram-desktop
Name                     : telegram-desktop
Version                  : 4.8.1-3
Beschreibung             : Official Telegram Desktop client

I guess it depends which of the 6 packages is installed maybe... but they don't seem to depend on mbedtls directly.
Pactree says nothing depends on mbedtls2 on my system, yet for some reason I forgot I installed it.
Depending on mbedtls I have:


and the arch issue mentions obs-studio-browser so that rings a bell.
I guess some package depends on mbedtls since when it was version 2 and did not update its dependency when version 3 came out.

1 Like

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.