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

问题描述

如果您使用的是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)
    

    解决方案

    不幸的是,这个问题不能通过简单的symlinklibcrypto.solibssl.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.0libssl.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,您一切就绪!

    10-07 13:02