На днях, как известно, в открытый доступ был выпущен тестовый клиент Telegram Open Network (подробнее о TON — здесь и здесь; о работе тестовой сети — здесь). Я поскорее начал его ставить; инструкция по установке, описанная в README, была на счастье простой, и это вселяло оптимизм. Но вскоре начались проблемы.
Сначала сборка доходила примерно до трети всего прогресса и падала с ошибкой. Ошибка отсылала к файлу tests.cpp, а суть заключалась в «sha256 was not declared in this scope», это при том, что пакет libssl-dev был установлен. Признаюсь, я потратил много времени на решение этой проблемы. На помощь отклинулся один из пользователей публичного Telegram чата, который посоветовал выполнить следующую команду:
И, о чудо, проблема решилась! Я в очередной раз запустил сборку, но и сейчас ей не было суждено завершится. Возникла новая ошибка на 83% сборки:
Решение этой проблемы в интернете я найти не смог, и что-то подсказало мне попробовать выполнить сборку на другой версии Ubuntu (я использую 19.04, решил попробовать на 18.04).
Загрузился с Live CD, но тут возник ряд других проблем (уже меньших масштабов). Во-первых, необходимо было установить недостающие компоненты:
Я запустил сборку, но ошибка возникла в самом же начале: cmake жаловался на отстуствие пакета gperf, а команда
не исполнялась ввиду отстутсвия в базе такого пакета. Это решилось добавлением в источники (/etc/apt/sources.list) следующего:
Я в очередной раз начал установку, она дошла до 95%, но опять возникли трудности. На этот раз похоже, что такое поведение возникло только на моем компьютере по каким-то причинам, но факт остается фактом: на 95% сборка зависала. Более того — зависала вся система. Она просто переставала реагировать на любые действия. Первый раз я списал это на то, что загрузился с флешки, поэтому есть вероятность, что она просто немного вышла из гнезда, что повлекло за собой крах всей системы. Я перезагрузился, попробовал еще раз, на этот раз следя за тем, чтобы флешка надёжно находилась в разъеме. Но ситуация опять повторилась на злосчастных 95%! В итоге я не нашел другого выхода, кроме как откатить 19.04 до 18.04 на жестком диске, и попробовать снова. К счастью, в этот раз все закончилось успешно, и клиент запустился.
Так как на решение всех этих проблем у меня ушло много времени, а их решения я в интернете не нашел, хотелось бы выложить в открытый доступ набор команд, которые решали все мои проблемы. Хочется верить, что это кому-то поможет сэкономить время.
Скачиваем с test.ton.org/download.html архив, распаковываем его в свою домашнюю папку так, чтобы в ней находилась папка lite-client, а не ton-test-liteclient-full. Перезапускаем терминал:
Напомню, что у меня возникли проблемы, которые указывают на зависимость успешности установки от версии дистрибутива, а также от того, установлена ли у вас система, или вы загружаетесь с Live. У меня успешный результат был получен на установленной на диск Ubuntu версии 18.04.
Сначала сборка доходила примерно до трети всего прогресса и падала с ошибкой. Ошибка отсылала к файлу tests.cpp, а суть заключалась в «sha256 was not declared in this scope», это при том, что пакет libssl-dev был установлен. Признаюсь, я потратил много времени на решение этой проблемы. На помощь отклинулся один из пользователей публичного Telegram чата, который посоветовал выполнить следующую команду:
sudo apt install zlib1g-dev
И, о чудо, проблема решилась! Я в очередной раз запустил сборку, но и сейчас ей не было суждено завершится. Возникла новая ошибка на 83% сборки:
Решение этой проблемы в интернете я найти не смог, и что-то подсказало мне попробовать выполнить сборку на другой версии Ubuntu (я использую 19.04, решил попробовать на 18.04).
Загрузился с Live CD, но тут возник ряд других проблем (уже меньших масштабов). Во-первых, необходимо было установить недостающие компоненты:
sudo apt install build-essential
sudo apt install libssl-dev
sudo apt install zlib1g-dev
sudo apt install cmake
Я запустил сборку, но ошибка возникла в самом же начале: cmake жаловался на отстуствие пакета gperf, а команда
sudo apt install gperf
не исполнялась ввиду отстутсвия в базе такого пакета. Это решилось добавлением в источники (/etc/apt/sources.list) следующего:
deb http://cz.archive.ubuntu.com/ubuntu cosmic main universe
.Я в очередной раз начал установку, она дошла до 95%, но опять возникли трудности. На этот раз похоже, что такое поведение возникло только на моем компьютере по каким-то причинам, но факт остается фактом: на 95% сборка зависала. Более того — зависала вся система. Она просто переставала реагировать на любые действия. Первый раз я списал это на то, что загрузился с флешки, поэтому есть вероятность, что она просто немного вышла из гнезда, что повлекло за собой крах всей системы. Я перезагрузился, попробовал еще раз, на этот раз следя за тем, чтобы флешка надёжно находилась в разъеме. Но ситуация опять повторилась на злосчастных 95%! В итоге я не нашел другого выхода, кроме как откатить 19.04 до 18.04 на жестком диске, и попробовать снова. К счастью, в этот раз все закончилось успешно, и клиент запустился.
Так как на решение всех этих проблем у меня ушло много времени, а их решения я в интернете не нашел, хотелось бы выложить в открытый доступ набор команд, которые решали все мои проблемы. Хочется верить, что это кому-то поможет сэкономить время.
sudo apt install cmake
sudo apt install libssl-dev
sudo apt install zlib1g-dev
sudo apt install build-essential
sudo xdg-open /etc/apt/sources.list # добавляем вышеуказанную строку, закрываем
Скачиваем с test.ton.org/download.html архив, распаковываем его в свою домашнюю папку так, чтобы в ней находилась папка lite-client, а не ton-test-liteclient-full. Перезапускаем терминал:
mkdir ~/liteclient-build
cd ~/liteclient-build
cmake ~/lite-client
cmake --build . --target test-lite-client
cmake --build . --target fift
wget https://test.ton.org/ton-lite-client-test1.config.json
./test-lite-client -C ton-lite-client-test1.config.json # запуск клиента
Напомню, что у меня возникли проблемы, которые указывают на зависимость успешности установки от версии дистрибутива, а также от того, установлена ли у вас система, или вы загружаетесь с Live. У меня успешный результат был получен на установленной на диск Ubuntu версии 18.04.
Комментарии (5)
aleks1k
29.05.2019 12:07Нашел github.com/copperbits/TON там есть докер файл, с ним в докере все собралось с первого раза
Sergey-S-Kovalev
Клиент тестовый, куда торопиться то.
В статье и так нет особого смысла, но через пару дней, когда выйдет новый билд она вообще потеряет смысл даже для автора.