这仅仅是知识的共享。我希望我节省了时间。
问题描述
如果您使用的是Fedora Linux(我现在使用f25),但想使用Tizen Studio(正式地它仅适用于Ubuntu Linux),则在安装并启动Studio后可以面对以下问题:
问题未启动 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)
解决方案
不幸的是,这个问题不能通过简单的
symlink
到libcrypto.so
和libssl.so
以及在Fedora 25(以及我想在Fedora 23和24)上解决。因此,最简单的方法是从Ubuntu存储库中获取此库。我们需要包libssl1.0.0_1.0.2g-1ubuntu9_amd64.deb
(link for mirror.yandex repo),但不要忘记选择您的体系结构。提取此deb软件包并将文件libcrypto.so.1.0.0
和libssl.so.1.0.0
(以root用户身份)复制到/usr/lib64
(或i686 arch的/usr/lib
)。然后以root用户身份启动命令ldconfig
。完成这些操作后,您可以启动
sdb
命令:user@host$ ~/tizen-studio/tools/sdb version
Smart Development Bridge version 2.2.91
重新启动Tizen Studio之后,您将可以连接到Tizen设备。
最佳答案
最好不要更改根分区。您可以编写一个脚本来预加载所需的库并启动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
,您一切就绪!