fedora, tizen studio: "failed to start sdb", cannot connect tizen device
Asked Answered
R

2

6

It is just sharing of knowledge. I hope I saved someone's time.

Problem description

If you have Fedora Linux (I use f25 now) but want to use Tizen Studio (officially it works only with Ubuntu Linux) you can face with these issues after installation and launch Studio:

  • Error message "failed to start sdb" during every Studio start
  • You can view Tizen devices from your network, but cannot connect

The problem is not started sdb tool (~/tizen-studio/tools/sdb)

For checking suspects you can try to launch sdb, it must failed with error: sdb: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory.

Then, if you will check sdb with ldd command, you will see that libcrypto.so.1.0.0 is not found:

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)

The solution

Unfortunately, this problem cannot be solved with simple symlink to libcrypto.so and libssl.so and on Fedora 25 (and, I suppose, on Fedora 23 and 24 also). So, the simplest way is to get this libs from Ubuntu repo. We need package libssl1.0.0_1.0.2g-1ubuntu9_amd64.deb (link for mirror.yandex repo), but do not forget to choose your architecture. Extract this deb package and copy (as root user) files libcrypto.so.1.0.0 and libssl.so.1.0.0 to /usr/lib64 (or /usr/lib for i686 arch). Then launch command ldconfig as root.

After these actions you can launch sdb command:

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

After re-launching Tizen Studio you will can connect to Tizen Devices.

Raff answered 24/12, 2016 at 13:56 Comment(4)
Welcome to Stackoverflow! When providing an answer to your own question, you can also use the "Answer your own question" checkbox below the question. This way, people can upvote your answer and you can mark your question as being answered. Merry Christmas!Endothelium
@MichaelLihs I can not. From FAQ: If you have more than 15 reputation and already know the answer, click the checkbox that says "Answer your own question" But my reputation is less than 15 :) So, I even can not edit this comment and I have to perform a "delete-create" exercise.Raff
upvoted so that you hopefully have enough reputation soon :)Endothelium
On Ubuntu 20 I downloaded the libssl1.0.0_1.0.2g-1ubuntu9_amd64.deb file from packages.ubuntu.com/xenial/amd64/libssl1.0.0/download and installed via software install and workedSnood
S
2

It is much better to let your root partition untouched. You can write a script which preloads needed liraries and starts the sdb binary like this:

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

then create a script named "sdb":

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

$ chmod +x ./sdb and you are all set!

Squat answered 4/6, 2017 at 16:52 Comment(2)
It is good solution if you are not afraid that tizen studio upgrade overwrite your script.Raff
Works fine only if called from the same directory. In order to work for Tizen Studio, I had to replace ./lib/ and ./sdb.bin with absolute paths.Herzog
R
2

I personally use libraries from the Steam.

Here is my '/usr/local/bin/sdb' script:

#!/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 "${@}"
Robeson answered 25/8, 2017 at 12:2 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.