【问题标题】:Build and install Brew apps that are x86_64 instead of i386?构建和安装 x86_64 而不是 i386 的 Brew 应用程序?
【发布时间】:2012-06-10 21:03:06
【问题描述】:

在我这样做之后:

酿造安装 git

我这样做:

哪个混帐

返回:

/usr/local/bin/git

然后我这样做:

文件 /usr/local/bin/git

返回:

/usr/local/bin/git: Mach-O 可执行 i386

我需要 brew 安装为 x86_64。

如何强制 brew 将我的应用程序构建和安装为 x86_64?

酿造--配置

返回这个:

HOMEBREW_VERSION: 0.9
HEAD: 1c64a6624ed83ef17af6e98638b8165400e9e908
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: quad-core 64-bit sandybridge
OS X: 10.7.4
Kernel Architecture: x86_64
Xcode: 4.3.2
GCC-4.0: N/A
GCC-4.2: N/A
LLVM: build 2336
Clang: 3.1 build 318
MacPorts or Fink? false
X11: /usr/X11
System Ruby: 1.8.7-357
Which Perl:   /usr/bin/perl
Which Python: /usr/bin/python
Which Ruby:   /Users/tdewell/.rvm/rubies/ruby-1.9.3-p194/bin/ruby

更新:添加 brew --env

$ brew --env
CC: /usr/bin/xcrun gcc-4.2 => /Developer/usr/bin/gcc-4.2

CXX: /usr/bin/xcrun g++-4.2 => /Developer/usr/bin/g++-4.2

LD: /usr/bin/xcrun gcc-4.2 => /Developer/usr/bin/gcc-4.2

CFLAGS: -Os -w -pipe -march=core2 -msse4
CXXFLAGS: -Os -w -pipe -march=core2 -msse4
MAKEFLAGS: -j4

【问题讨论】:

  • 有趣。我刚刚在 10.7.3 安装上执行了 brew install git 并提出了 /usr/local/bin/git: Mach-O 64-bit executable x86_64。我的配置看起来和你的很相似(除了 CPU 和 OS X 版本......而且我有一个旧版本的 Clang(3.0 build 211))。 brew --env 是什么样的?特别是您的 CFLAGS 和 CXXFLAGS?
  • brew --env CC: /usr/bin/xcrun gcc-4.2 => /Developer/usr/bin/gcc-4.2 CXX: /usr/bin/xcrun g++-4.2 => /Developer /usr/bin/g++-4.2 LD: /usr/bin/xcrun gcc-4.2 => /Developer/usr/bin/gcc-4.2 CFLAGS: -Os -w -pipe -march=core2 -msse4 CXXFLAGS: -Os - w -pipe -march=core2 -msse4 MAKEFLAGS: -j4
  • 嗯,除了-msee4(我的是-msee4.1)之外,我的都是一样的。这有点超出我的掌握。不过,它似乎应该构建 64 位二进制文​​件。也许安装的依赖项安装为 i386 导致 git 像那样构建?您是否安装了其他软件并验证了所有 brews 都是以这种方式构建的?也许试试brew install coreutils
  • 我做了一个 brew install postgres ,结果也是 i386。
  • Brew 是一堆 ruby​​ 脚本,如果它由 32 位 ruby​​ 运行,您可能会得到所有内容的 32 位构建。我注意到您正在使用 /Users/tdewell/.rvm/rubies/ruby-1.9.3-p194/bin/ruby 代替 /usr/bin/ruby。有没有可能是 32 位版本?

标签: macos homebrew osx-lion


【解决方案1】:

这个问题已经解决了。

我通过 App Store 安装了 Xcode 4.3.2 并安装了命令行工具,但我已经安装了多年前的现有 Xcode 3.1。我搜索了一下,发现了这些命令:

sudo /Developer/Library/uninstall-devtools –mode=all

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

这解决了我的问题,在我这样做之后,编译器更改为 brew:

$ brew --env
CC: /usr/bin/clang
CXX: /usr/bin/clang++ => /usr/bin/clang
LD: /usr/bin/clang
CFLAGS: -Os -w -pipe -march=native -Qunused-arguments
CXXFLAGS: -Os -w -pipe -march=native -Qunused-arguments
MAKEFLAGS: -j4

brew 安装现在好多了:

$ which git
/usr/local/bin/git

$ file /usr/local/bin/git
/usr/local/bin/git: Mach-O 64-bit executable x86_64

【讨论】:

    【解决方案2】:

    试试

    xcode-select --install
    

    【讨论】:

    • xcode-select --install 添加命令行开发者工具。也许您可以解释一下它如何帮助 OP 构建 x86_64 而不是 i386 的程序?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    • 2015-01-19
    相关资源
    最近更新 更多