V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
hukangha
V2EX  ›  Linux

有哪位在 RHEL5 下编译过 llvm?

  •  
  •   hukangha · 2015-11-18 20:29:54 +08:00 · 2321 次点击
    这是一个创建于 3285 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在 RHEL5 下安装 Youcompleteme 各种依赖都需要装, llvm 又需要另一个 gcc 来编译,而工作站的环境又不能随便改,不知有没有人有 RHEL5 下的 llvm 二进制文件可以共享一下
    6 条回复    2015-11-19 09:13:15 +08:00
    hukangha
        1
    hukangha  
    OP
       2015-11-18 20:34:00 +08:00
    ??不能编辑主题?
    补充一下,网上找到的 llvm3.7 是需要 glibc2.15 然而 RHEL5 的 glibc 版本太旧,而要编译 llvm 需要的 gcc 版本在 RHEL5 里面也没有,即使有,也恐怕有好多其他的依赖关系或者工具需要安装。如果有人共享一下 llvm 二进制,似乎应该是最快的解决办法了
    pwinner
        2
    pwinner  
       2015-11-18 20:46:48 +08:00 via Android
    其实手动编译 gcc 也不是特别困难的事情啊。。
    之前编译 hhvm 在 CentOS6.5 下要版本 gcc 于是花了两个小时编译了一个。。。
    或许这个链接的 gcc 编译部分可以帮到你如果你想编译 gcc 的话 https://github.com/facebook/hhvm/wiki/Building-and-installing-HHVM-on-CentOS-6.6
    hukangha
        3
    hukangha  
    OP
       2015-11-18 21:39:56 +08:00
    @pwinner
    其实主要是对 linux 里面的各种包管理的策略不熟悉,没有系统学过,平时都是自己搜到的零散知识,各种版本的 glibc ,各种库的符号链接,以及之间的关系,哪些是系统需要的,哪些包或者哪些工具升级了会造成系统兼容性问题,哪些工具在其他工具里面被调用等这些问题太多了,感觉好难搞,怕把工作站搞得不稳定。针对这个问题,我的顾虑是编译了 gcc 之后要调用它应该是要加到环境变量里,我的知识不够去预测这样做会对系统产生的影响。
    --
    当然,如果你知道有哪本书介绍这类东西比较清晰,希望可以推荐一下。
    pwinner
        4
    pwinner  
       2015-11-18 22:19:52 +08:00 via Android
    @hukangha 其实像 Arch 和 gentoo 这样特别适合编译狂魔的系统可以尝试。
    当然可以用虚拟机编译嘛,哪来的那么多麻烦事:)
    (其实自己关于包管理和生产环境影响也是一个一个坑踩过来的,也不清楚有什么书介绍比较清晰,果然还是多备份多勇敢踩坑比较好)
    调用可以用 export 来临时顶替一下,这些都不是事儿嘛
    feuvan
        5
    feuvan  
       2015-11-18 22:25:22 +08:00
    msg7086
        6
    msg7086  
       2015-11-19 09:13:15 +08:00
    没人吐槽用 RHEL5 来编译 LLVM 吗?
    chroot 走起啊搞个 debian 或者 arch 然后静态编译一发试试?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2607 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 04:47 · PVG 12:47 · LAX 20:47 · JFK 23:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.