fedora、tizen studio:“无法启动 sdb”,无法连接 tizen 设备

Gle*_*nko 5 tizen libcrypto tizen-sdb tizen-studio fedora-25

这只是知识的共享。我希望我节省了某人的时间。

问题描述

如果您有 Fedora Linux(我现在使用 f25)但想使用Tizen Studio(官方它只适用于 Ubuntu Linux),您在安装和启动 Studio 后可能会遇到这些问题:

  • 每次 Studio 启动期间出现错误消息“无法启动 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未找到:

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)
Run Code Online (Sandbox Code Playgroud)

解决方案

不幸的是,这个问题不能用简单的解决symlinklibcrypto.solibssl.so和在Fedora 25(和,我想,在Fedora 23和24也)。因此,最简单的方法是从 Ubuntu 存储库获取此库。我们需要包libssl1.0.0_1.0.2g-1ubuntu9_amd64.debmirror.yandex repo 的链接),但不要忘记选择您的架构。提取此DEB包并复制(如根用户)文件libcrypto.so.1.0.0libssl.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
Run Code Online (Sandbox Code Playgroud)

重新启动 Tizen Studio 后,您将可以连接到 Tizen 设备。

小智 2

最好让根分区保持不变。您可以编写一个脚本来预加载所需的库并启动 sdb 二进制文件,如下所示:

$ cd ~/tizen-studio/tools/
$ mv ./sdb sdb.bin
$ mkdir ./lib
$ mv libcrypto.so.1.0.0 ./lib/
Run Code Online (Sandbox Code Playgroud)

然后创建一个名为“sdb”的脚本:

# sdb
LD_LIBRARY_PATH=./lib/ ./sdb.bin "$@"
Run Code Online (Sandbox Code Playgroud)

$ chmod +x ./sdb一切就绪!