Не запускается Telegram Updater: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by Updater)

Аватар пользователя admin

После очередного автоматического обновления, перестал запускаться Telegram. При запуске выдаётся сообщение:

Updater: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by Updater)

Что делаеть?

Выполняем команду:

strings /lib64/libstdc++.so.6 |grep GLIBCXX_

и получаем:

GLIBCXX_3.4
GLIBCXX_3.4.1
GLIBCXX_3.4.2
GLIBCXX_3.4.3
GLIBCXX_3.4.4
GLIBCXX_3.4.5
GLIBCXX_3.4.6
GLIBCXX_3.4.7
GLIBCXX_3.4.8
GLIBCXX_3.4.9
GLIBCXX_3.4.10
GLIBCXX_3.4.11
GLIBCXX_3.4.12
GLIBCXX_3.4.13
GLIBCXX_3.4.14
GLIBCXX_3.4.15
GLIBCXX_3.4.16
GLIBCXX_3.4.17
GLIBCXX_3.4.18
GLIBCXX_3.4.19
GLIBCXX_DEBUG_MESSAGE_LENGTH

Как видите, символ версии GLIBCXX_3.4.20 действительно отсутствует. При этом у нас стоит последняя версия пакета libstdc++, в котором и находится данная библиотека  /lib64/libstdc++.so.6. На лицо ошибка разработчиков Telegram, которые выпустили некорректное обновление, ведь в стандартных для CentOS 7 репозитариях,вы не найдёте более свежую библиотеку. Что же делать?

В Интернете есть множество подобных случаев, например в Viber. Советуют взять сам файл /lib64/libstdc++.so.6 из другого дистрибутива, но это небезопасно - можно нарушить совместимость с текущими пакетами. Советуют взять исходники более свежей версии libstdc++ и пересобрать, но этот вариант ещё хуже - исходники придётся брать из другого дистрибутива и не факт что они соберутся в CentOS 7.

Но всё же выход есть. И поможет нам в этом... вы не поверите... браузер Tor. Скачайте и распакуйте последнюю версию Tor Browser, если конечно, вы уже этого не сделали. В подкаталоге Browser/TorBrowser/Tor/libstdc++ вы найдёте нужную вам библиотеку. Теперь, всё что нужно сделать - это переименовать оригинальный Updater из комплекта Telegram в Updater.orig и сделать отдельный shell-скрипт с таким же именем (Updater) и следующим содержимым:

#!/bin/bash

export LD_LIBRARY_PATH=/путь_до_каталога/tor-browser_ru/Browser/TorBrowser/Tor/libstdc++:$LD_LIBRARY_PATH
путь_до_каталога_с_telegram/Updater.orig

Не забудьте дать права на запуск для Updater. После чего, можете спокойно его запускать и у вас всё заработает - Telegram запустится.

0
Ваш рейтинг: Нет