1

まず、同様の質問があることは知っていますが、運が悪いので、自分で新しい質問をすることにしました。

64 ビット バージョンの pjsip を抽出してインストールしようとしていますが、常に i386 バージョンになってしまいます。

brew --env で CFLAGS と CXXFLAGS が得られる人を見たことがありますが、何らかの理由で私の場合はそうではないため、正しいアーキテクチャをどこに設定すればよいかわかりません。

$ brew --env
HOMEBREW_CC: clang
HOMEBREW_CXX: clang++
MAKEFLAGS: -j2
CMAKE_PREFIX_PATH: /usr/local
CMAKE_INCLUDE_PATH: /usr/include/libxml2:/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers
CMAKE_LIBRARY_PATH: /System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.9
ACLOCAL_PATH: /usr/local/share/aclocal
PATH: /usr/local/Library/ENV/4.3:/usr/bin:/bin:/usr/sbin:/sbin

$ brew --config
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/mxcl/homebrew
HEAD: 8c19edbdd364200fb2cc9276b0bc49ec4cb98aae
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: dual-core 64-bit penryn
OS X: 10.9-x86_64
Xcode: 5.0.1
CLT: 5.0.1.0.1.1382131676
GCC-4.0: build 5494
Clang: 5.0 build 500
X11: 2.7.4 => /opt/X11
System Ruby: 1.8.7-358
Perl: /usr/bin/perl
Python: /Library/Frameworks/Python.framework/Versions/2.7/bin/python => /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
Ruby: /usr/bin/ruby => /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby

ruby のバージョンについて言及している人を見たことがありますが、それが重要かどうかはわかりませんが、私のものはユニバーサル ビルドです。

$ file /usr/bin/ruby 
/usr/bin/ruby: Mach-O universal binary with 2 architectures
/usr/bin/ruby (for architecture x86_64):    Mach-O 64-bit executable x86_64
/usr/bin/ruby (for architecture i386):  Mach-O executable i386
4

1 に答える 1

1

brew install -v pjsipショー:

==> ./configure --prefix=/usr/local/Cellar/pjsip/2.1
checking build system type... i386-apple-darwin13.0.0
checking host system type... i386-apple-darwin13.0.0
checking target system type... i386-apple-darwin13.0.0

私は間違いなく64ビットOSを実行しているので、どういうわけかそれは私たちが64ビットシステム上にいると考えています. arch-host-OS 検出コードを確認するとarch、アーキテクチャの特定に使用されていることがわかります。奇妙な理由で、これは私たちが 32 ビット システムであることを報告しています。

$ arch
i386

Linux の場合:

$ arch
x86_64

簡単な解決策は、 を実行しbrew edit pjsip、22 行目を次のように変更することです。

    system "./configure", "--prefix=#{prefix}", "--host=x86_64-apple-darwin13.0.0", "--target=x86_64-apple-darwin13.0.0", "--host=x86_64-apple-darwin13.0.0"

次に を実行するbrew install pjsipと、64 ビットの pjsip が使用されているように見えます。

--build--hostおよび--targetオプションを渡すだけでなく、レシピを編集して適切なアーチを取得することでおそらく修正できます。

于 2013-11-15T00:04:40.460 に答える