5

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

问题描述

如果您有 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

然后,如果你sdbldd命令检查,你会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)

解决方案

不幸的是,在 Fedora 25 上(我想在 Fedora 23 和 24 上也是如此)无法简单symlink地解决这个问题。因此,最简单的方法是从 Ubuntu 存储库中获取这些库。我们需要包(mirror.yandex repo 的链接),但不要忘记选择您的架构。提取这个 deb 包并复制(作为 root 用户)文件并复制到(或对于 i686 架构)。然后以 root 身份启动命令。libcrypto.solibssl.solibssl1.0.0_1.0.2g-1ubuntu9_amd64.deblibcrypto.so.1.0.0libssl.so.1.0.0/usr/lib64/usr/libldconfig

在这些操作之后,您可以启动sdb命令:

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

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

4

2 回答 2

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一切就绪!

于 2017-06-04T16:52:21.970 回答
2

我个人使用 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 "${@}"
于 2017-08-25T12:02:39.230 回答