2016-12-24 3 views
3

Это просто обмен знаниями. Надеюсь, я спасал чье-то время.fedora, tizen studio: «не удалось запустить sdb», невозможно подключить устройство tizen

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

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

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

Проблемы не запускается SDB инструмента (~/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 не найден:

[email protected]$ 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 тоже). Итак, самый простой способ - получить эти libs из репозитория Ubuntu. Нам нужен пакет libssl1.0.0_1.0.2g-1ubuntu9_amd64.deb (link for mirror.yandex repo), но не забудьте выбрать свою архитектуру. Извлеките этот пакет deb и скопируйте (как пользователь root) libcrypto.so.1.0.0 и libssl.so.1.0.0 в /usr/lib64 (или /usr/lib для арки i686). Затем введите команду ldconfig в качестве пользователя root.

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

[email protected]$ ~/tizen-studio/tools/sdb version 
Smart Development Bridge version 2.2.91 

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

+1

Добро пожаловать в StackOverflow! Когда вы отвечаете на свой вопрос, вы также можете установить флажок «Отвечайте на свой вопрос» под вопрос. Таким образом, люди могут поддержать ваш ответ, и вы можете отметить свой вопрос как ответ. Счастливого Рождества! –

+0

@MichaelLihs Я не могу. Из FAQ: [Если у вас более 15 репутации и уже знаете ответ, установите флажок «Отвечать на собственный вопрос»] (http://stackoverflow.com/help/self-answer). Но моя репутация меньше, чем 15 :) Итак, я даже не могу отредактировать этот комментарий, и мне нужно выполнить упражнение «удалить-создать». –

+1

, так что вы, надеюсь, скоро приобретете достаточную репутацию :) –

ответ

1

Это намного лучше, если ваш корневой раздел не тронут. Вы можете написать скрипт, который с предварительной загрузкой необходимых liraries и запускает 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 "[email protected]" 

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

+0

Это хорошее решение, если вы не боитесь, что обновление студийного студийного уровня перезаписывает ваш скрипт. –

0

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

Вот мой '/ USR/местные/бен/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 "${@}"