V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
geekyoung
V2EX  ›  程序员

mac 下 brew install gcc 报错,急求 v 友帮助,感谢

  •  
  •   geekyoung · 2017-12-27 16:17:24 +08:00 · 4372 次点击
    这是一个创建于 2322 天前的主题,其中的信息可能已经有所发展或是发生改变。

    python 下的一个库需要使用 gcc,网上的常规教程却出现了问题,问题如图,求大家帮助,万分感谢!

    错误详情 ==> make Last 15 lines from /Users/dzzxjl/Library/Logs/Homebrew/gcc/02.make: from /private/tmp/gcc-20171227-37820-1934opc/gcc-7.1.0/build/x86_64-apple-darwin17.2.0/libstdc++-v3/include/sstream:38,

                 from /private/tmp/gcc-20171227-37820-1934opc/gcc-7.1.0/build/x86_64-apple-darwin17.2.0/libstdc++-v3/include/complex:45,
    
                 from /private/tmp/gcc-20171227-37820-1934opc/gcc-7.1.0/build/x86_64-apple-darwin17.2.0/libstdc++-v3/include/ccomplex:39,
    
                 from /private/tmp/gcc-20171227-37820-1934opc/gcc-7.1.0/libstdc++-v3/include/precompiled/stdc++.h:52:
    

    /private/tmp/gcc-20171227-37820-1934opc/gcc-7.1.0/build/x86_64-apple-darwin17.2.0/libstdc++-v3/include/streambuf:850:10: fatal error: bits/streambuf.tcc: No such file or directory

    #include <bits/streambuf.tcc> ^~~~~~~~~~~~~~~~~~~~ compilation terminated. make[5]: *** [x86_64-apple-darwin17.2.0/bits/stdc++.h.gch/O2g.gch] Error 1 make[5]: *** Waiting for unfinished jobs.... make[4]: *** [all-recursive] Error 1 make[3]: *** [all] Error 2 make[2]: *** [all-stage1-target-libstdc++-v3] Error 2 make[1]: *** [stage1-bubble] Error 2 make: *** [all] Error 2

    Do not report this issue to Homebrew/brew or Homebrew/core!

    Error: You are using macOS 10.13. We do not provide support for this pre-release version. You may encounter build failures or other breakages. Please create pull-requests instead of filing issues.

    Error: You are using macOS 10.13. We do not provide support for this pre-release version. You may encounter build failures or other breakages. Please create pull-requests instead of filing issues.

    24 条回复    2017-12-27 18:40:09 +08:00
    geekyoung
        1
    geekyoung  
    OP
       2017-12-27 16:21:52 +08:00
    可能 brew 不支持 macOS 10.13. 但感觉应该和 brew 没有关系啊
    neosfung
        2
    neosfung  
       2017-12-27 16:24:57 +08:00
    刚才测了一下,10.13.2,brew 安装 gcc 成功
    bao3
        3
    bao3  
       2017-12-27 16:25:56 +08:00 via iPhone
    Xcode 不是自带了?
    littleylv
        4
    littleylv  
       2017-12-27 16:26:16 +08:00
    老哥 你 brew update 了吗!?

    “ We do not provide support for this pre-release version.” 这个提示是多久以前的事啦,自从 10.13 正式发布后 brew 就支持 10.13 了
    geekyoung
        5
    geekyoung  
    OP
       2017-12-27 16:29:39 +08:00
    @bao3 lightGBM 这个库比较奇葩,好像不支持 xcode 自带的 clang,只能用 gcc 编译
    julyclyde
        6
    julyclyde  
       2017-12-27 16:30:02 +08:00
    装 brew 的时候就已经前置依赖 xcode command line tools 了。那里边就有 gcc 啊
    nieyujiang
        7
    nieyujiang  
       2017-12-27 16:31:19 +08:00
    brew install gcc --force-bottle
    geekyoung
        8
    geekyoung  
    OP
       2017-12-27 16:31:19 +08:00
    @littleylv 之前确实没更,最近也没怎么用 brew,刚才直接把 brew 重新安装了,但感觉 install gcc 这个问题应该和最后这个 error 没关系啊
    geekyoung
        9
    geekyoung  
    OP
       2017-12-27 16:32:20 +08:00
    @julyclyde 好像 mac 里面的 gcc 叫 clang,只是用了 gcc 这个命令名,不是 linux 那个 gcc
    geekyoung
        10
    geekyoung  
    OP
       2017-12-27 16:35:10 +08:00
    @nieyujiang 我马上就去试试,请问--force-bottle 这个参数是啥意思啊?
    nieyujiang
        11
    nieyujiang  
       2017-12-27 16:38:51 +08:00
    @geekyoung #10 就是字面意思,安装编译好的二进制.
    geekyoung
        12
    geekyoung  
    OP
       2017-12-27 16:38:54 +08:00
    @neosfung 还是 brew 的问题,刚才将 brew 重新安装后,发现之前 brew install gcc 的过程中还是有几个依赖库没有安装,不知道为什么出现这个问题,重新安装 brew 后,发现自动又多下了几个 gcc 的依赖,然后问题解决,谢谢大家的帮助! 最后给大家一个小 tip,mac 下 gcc 命令调用的是 clang,使用 gcc-7 调用的才是 linux 的 gcc 哈。。。。
    geekyoung
        13
    geekyoung  
    OP
       2017-12-27 16:39:09 +08:00
    还是 brew 的问题,刚才将 brew 重新安装后,发现之前 brew install gcc 的过程中还是有几个依赖库没有安装,不知道为什么出现这个问题,重新安装 brew 后,发现自动又多下了几个 gcc 的依赖,然后问题解决,谢谢大家的帮助! 最后给大家一个小 tip,mac 下 gcc 命令调用的是 clang,使用 gcc-7 调用的才是 linux 的 gcc 哈。。。。
    julyclyde
        14
    julyclyde  
       2017-12-27 16:40:25 +08:00
    @geekyoung 如果确认和 clang 不兼容的话,那你只好装正经 gcc 了
    geekyoung
        15
    geekyoung  
    OP
       2017-12-27 16:40:35 +08:00
    @nieyujiang 明白了 谢谢!
    geekyoung
        16
    geekyoung  
    OP
       2017-12-27 16:41:46 +08:00
    @julyclyde 恩恩 问题已解决 感谢!
    nieyujiang
        17
    nieyujiang  
       2017-12-27 16:44:17 +08:00
    @geekyoung #16 最新版是 7.2.0,命令是 gcc-7.gcc 还是原来的 gcc,你编译需要使用 gcc-7.这个才是你刚才安装的.
    geekyoung
        18
    geekyoung  
    OP
       2017-12-27 16:49:51 +08:00
    @nieyujiang 恩 是这样的
    takeoffyoung
        19
    takeoffyoung  
       2017-12-27 16:57:05 +08:00
    @geekyoung gcc 就是 gcc,clang 就是 clang。并不是在 macOS 下 gcc 叫做 clang,两者是不同的东西。
    raighne
        20
    raighne  
       2017-12-27 16:57:18 +08:00
    你应该是 beta 是的系统吧
    geekyoung
        21
    geekyoung  
    OP
       2017-12-27 17:56:38 +08:00
    @takeoffyoung
    ➜ ~ gcc
    clang: error: no input files

    我在终端下输入 gcc 返回的是 clang 啊?
    geekyoung
        22
    geekyoung  
    OP
       2017-12-27 17:56:57 +08:00
    @raighne
    takeoffyoung
        23
    takeoffyoung  
       2017-12-27 18:27:52 +08:00   ❤️ 2
    $ gcc --version
    Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
    Apple LLVM version 9.0.0 (clang-900.0.38)
    Target: x86_64-apple-darwin16.7.0
    Thread model: posix
    InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

    你可以将它理解为一个 alias,为了便于使用 gcc 命令的人。
    macOS 下面原本支持的比较好的是使用 LLVM 框架的 C Compiler,我们称之为 clang。
    但是 clang 和 GNU 版本的 C Compiler 还是有一些差异的。
    可以看到这里的 gcc 是 clang 引入了某些 gxx-include 之后的一个 alias。
    所以,它本质还是 clang。
    geekyoung
        24
    geekyoung  
    OP
       2017-12-27 18:40:09 +08:00
    @takeoffyoung 解释的很到位
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3312 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:29 · PVG 19:29 · LAX 04:29 · JFK 07:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.