美文网首页822思享实验室
CentOS Launcher —— Mutate 安装笔记1(

CentOS Launcher —— Mutate 安装笔记1(

作者: 团不慌 | 来源:发表于2017-12-14 22:53 被阅读57次

    做人总得有点梦想,就算是咸鱼也得是最咸的那条(笑)。

    最近开始试着玩Linux,被CentOS虐的不要不要的...
    不过探索的过程总是充满乐趣hhhhh(好吧崩的我也是乐呵乐呵的)
    话说最近看到Windows上很火的Wox,确实从效率到使用体验到延展性都不错,就考虑往我这近乎裸奔的CentOS上也安上一个Launcher。


    Wox使用效果

    找了找CentOS平台的,发现了一款风格很类似的:Mutate


    Mutate使用效果
    Emmmmm.....好像Launcher本来就该长这样。
    于是兴高采烈地跑去安装啦~

    首先是需要的依赖:

    Dependencies


    • boost-regex
    • QT5
    • GTK2 (for application icon lookup)
    • ICU
    • libsm
    • libxkbcommon

    之后就是简单的yum啦~

    sudo yum -y install https://github.com/qdore/Mutate/releases/download/v2.3/Mutate-2.3-0.fc21.x86_64.rpm
    /usr/share/mutate/setup

    嗯... ...然后就出错了... ...

    错误:软件包:Mutate-2.3-0.fc21.x86_64 (/Mutate-2.3-0.fc21.x86_64)
    需要:libstdc++.so.6(GLIBCXX_3.4.20)(64bit)
    错误:软件包:Mutate-2.3-0.fc21.x86_64 (/Mutate-2.3-0.fc21.x86_64)
    需要:libboost_regex.so.1.55.0()(64bit)

    好像是GCC缺了点什么,那就看看吧

    strings /usr/lib/libstdc++.so.6 | grep GLIBCXX

    来吧让我们看看我们有啥!

    GLIBCXX_3.4
    GLIBCXX_3.4.1
    GLIBCXX_3.4.2
    ...
    GLIBCXX_3.4.18
    GLIBCXX_3.4.19
    GLIBCXX_DEBUG_MESSAGE_LENGTH

    好吧...好像他要3.4.20来着,好巧...我是3.4.19.....
    那就装呗~找到libstdc++.so.6安装的网址(下载地址-进去找镜像
    下了一个libstdc++-7.2.1-4,这回安上可就够新了
    走你!!!

    # rpm -ivh libstdc++-7.2.1-4.fc28.i686.rpm
    警告:libstdc++-7.2.1-4.fc28.i686.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID ********: NOKEY
    错误:依赖检测失败:
    libc.so.6(GLIBC_2.18) 被 libstdc++-7.2.1-4.fc28.i686 需要

    好吧华丽丽的失败了,需要2.18版本的libc支持,不用看肯定是我没支持到。
    于是又跑去了libc下载(镜像下载地址)翻下来一个2.18

    • 解压到任意目录
    • 进入目录并给他创建build路径(mkdir build)
    • 进入build进行配置(../configure --prefix=/usr) Ps:两个点哦
    • make -j8(具体数量自己配置)
    • make install

    编译安装完了,再看看

    strings /usr/lib/libstdc++.so.6 | grep GLIBC
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    ...
    GLIBCXX_3.4.19
    GLIBC_2.3
    GLIBC_2.0
    GLIBC_2.4
    GLIBC_2.1
    GLIBC_2.1.3
    GLIBC_2.3.2
    GLIBC_2.2
    GLIBCXX_DEBUG_MESSAGE_LENGTH

    OS同学,我的2.18呢!!!!为什么glib版本这么老!!!
    不知道是不是因为要重启,但是我突然感觉或许直接升级一个GCC全家桶会好一点...(心累)
    这是GCC各个Mirrors的地址,我选择是进入的日本域下的GCC-7.1.0(够新了吧)
    于是又是老一套:做build、configure、make、make install(make的时间基本够我出去吃饭的)

    终于build和install完了,重启一下

    # gcc -v
    使用内建 specs。
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/7.1.0/lto-wrapper
    目标:x86_64-pc-linux-gnu
    配置为:./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
    线程模型:posix
    gcc 版本 7.1.0 (GCC)

    高兴的正准备欢呼,随手一看

    # strings /usr/lib/libstdc++.so.6 | grep GLIBC
    GLIBCXX_3.4
    GLIBCXX_3.4.1
    ...
    GLIBCXX_3.4.19
    GLIBC_2.3
    GLIBC_2.0
    GLIBC_2.4
    GLIBC_2.1
    GLIBC_2.1.3
    GLIBC_2.3.2
    GLIBC_2.2
    GLIBCXX_DEBUG_MESSAGE_LENGTH

    没有任何变化...
    上网搜了一下应该重新建立软链接,于是跟着作

    $ rm -rf /lib64/libc.so.6 // 先删除先前的libc.so.6软链
    $ ln -s /opt/glibc-2.18/lib/libc-2.14.so /lib64/libc.so.6

    鼓掌~这次彻底玩崩了!移除了libc.so.6之后我连ln都不能用了!!!
    咋办咋办!!只能江湖救急了

    ldconfig —— 这是一句很神奇的命令

    来自博客:ldconfig命令的用途主要是在默认搜寻目录/lib和/usr/lib以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可共享的动态链接库(格式如lib.so),进而创建出动态装入程序(ld.so)所需的连接和缓存文件。

    后来又来来回回改,毁了,这次又把ld搞坏了......无论执行什么都是

    symbol _dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux-x86-64.so.2 with link tim

    又是翻了一堆博客,原来还有救:

    # sln /usr/lib64/ld-2.18.so /usr/lib64/ld-linux-x86-64.so.2

    行吧那还是回来怼libc
    开始加软链:

    ln -s /opt/glibc-2.18/lib/libc-2.14.so /lib64/libc.so.6

    最后....连ls都不能用了,更别提yum、gcc了,我是不是该重装系统了??

    【更改GLIBC出错后如何急救系统,请看这里。Mutate:我还会回来的】

    相关文章

      网友评论

      • 刘开心_8a6c:what is Mutate
        团不慌:@刘开心_8a6c A Launcher for Linux which could help us launch application or find files conveniently ( ̄▽ ̄)

      本文标题:CentOS Launcher —— Mutate 安装笔记1(

      本文链接:https://www.haomeiwen.com/subject/jqclwxtx.html