fedora, tizen studio: не удалось запустить sdb, не удается подключить устройство tizen

Это просто обмен знаниями. Надеюсь, я сэкономил чье-то время.

Описание проблемы

Если у вас Fedora Linux (сейчас я использую f25), но вы хотите использовать Tizen Studio (официально он работает только с Ubuntu Linux) вы можете столкнуться с этими проблемами после установки и запуска Studio:

  • Сообщение об ошибке «не удалось запустить sdb» при каждом запуске Studio
  • Вы можете просматривать устройства Tizen из своей сети, но не можете подключиться

Проблема не запускается sdb tool (~/tizen-studio/tools/sdb)

Для проверки подозреваемых вы можете попробовать запустить sdb, он должен завершиться ошибкой: sdb: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory.

Затем, если вы проверите sdb командой ldd, вы увидите, что libcrypto.so.1.0.0 не найден:

user@host$ ldd ~/tizen-studio/tools/sdb
linux-vdso.so.1 (0x00007ffc9dbf9000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd8fc5be000)
libcrypto.so.1.0.0 => not found
libc.so.6 => /lib64/libc.so.6 (0x00007fd8fc1f8000)
/lib64/ld-linux-x86-64.so.2 (0x0000560aab3af000)

Решение

К сожалению, эта проблема не может быть решена с помощью простых symlink по libcrypto.so и libssl.so и в Fedora 25 (и, я полагаю, в Fedora 23 и 24 также). Итак, самый простой способ - получить эти библиотеки из репозитория Ubuntu. Нам нужен пакет libssl1.0.0_1.0.2g-1ubuntu9_amd64.deb (ссылка для репозитория mirror.yandex), но не забудьте выбрать свою архитектуру. Распакуйте этот пакет deb и скопируйте (как пользователь root) файлы libcrypto.so.1.0.0 и libssl.so.1.0.0 в /usr/lib64 (или /usr/lib для архива i686). Затем запустите команду ldconfig от имени пользователя root.

После этих действий вы можете запустить sdb команду:

user@host$ ~/tizen-studio/tools/sdb version
Smart Development Bridge version 2.2.91

После повторного запуска Tizen Studio вы сможете подключиться к Tizen Devices.


person Gleb Samsonenko    schedule 24.12.2016    source источник
comment
Добро пожаловать в Stackoverflow! При ответе на свой вопрос вы также можете использовать флажок «Ответить на свой вопрос» под вопросом. Таким образом, люди могут проголосовать за ваш ответ, а вы можете отметить свой вопрос как полученный. С Рождеством!   -  person Michael Lihs    schedule 24.12.2016
comment
@MichaelLihs Я не могу. Из часто задаваемых вопросов: Если у вас более 15 репутации и вы уже знаете ответ, установите флажок Ответить на свой вопрос Но моя репутация меньше 15 :) Итак, я даже не могу отредактировать этот комментарий, и мне нужно выполнить упражнение по удалению-созданию.   -  person Gleb Samsonenko    schedule 24.12.2016
comment
проголосовали за, так что, надеюсь, скоро у вас будет достаточно репутации :)   -  person Michael Lihs    schedule 25.12.2016
comment
В Ubuntu 20 я загрузил файл libssl1.0.0_1.0.2g-1ubuntu9_amd64.deb из packages.ubuntu.com/xenial/amd64 /libssl1.0.0/download и установил через программное обеспечение, установил и работал   -  person Roman Brito    schedule 25.09.2020


Ответы (2)


Гораздо лучше оставить корневой раздел нетронутым. Вы можете написать сценарий, который предварительно загружает необходимые лирарии и запускает двоичный файл sdb следующим образом:

$ cd ~/tizen-studio/tools/
$ mv ./sdb sdb.bin
$ mkdir ./lib
$ mv libcrypto.so.1.0.0 ./lib/

затем создайте скрипт с именем "sdb":

# sdb
LD_LIBRARY_PATH=./lib/ ./sdb.bin "$@"

$ chmod +x ./sdb и все готово!

person geoffrey bonneville    schedule 04.06.2017
comment
Это хорошее решение, если вы не боитесь, что обновление студии tizen перезапишет ваш скрипт. - person Gleb Samsonenko; 16.06.2017
comment
Работает нормально, только если вызывается из того же каталога. Чтобы работать в Tizen Studio, мне пришлось заменить ./lib/ и ./sdb.bin на абсолютные пути. - person Pietro Battiston; 24.10.2020

Лично использую библиотеки из Steam.

Вот мой сценарий '/ usr / local / bin / sdb':

#!/bin/bash

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu
${HOME}/tizen-studio/tools/sdb "${@}"
person skitter    schedule 25.08.2017