0

最近我清理安装了 Yosemite 10.10.2

我还使用安装了 gcc

brew install gcc 

现在我正在尝试从源代码构建和安装pythonand openmpi,因为以前我遇到过gfortranand的问题clang

所以我做了

brew install openmpi --build-from-source -verbose 
brew install python --build-from-source -verbose

带有变量和别名:

export CC=gcc-4.9
export CXX=g++-4.9
export CPP=g++-4.9
export LD=gcc-4.9
export FC=gfortran-4.9
export HOMEBREW_CC=gcc-4.9
export HOMEBREW_LD=gcc-4.9
export HOMEBREW_CXX=g++-4.9
export HOMEBREW_CPP=g++-4.9
export HOMEBREW_FC=gfortran
alias cc=gcc-4.9
alias gcc=gcc-4.9
alias c++=c++-4.9
alias g++=g++-4.9

仍然收到以下错误:

In file included from /usr/include/dispatch/dispatch.h:51:0,
             from        /System/Library/Frameworks/CoreFoundation.framework/Headers/CFStream.h:15,
             from /System/Library/Frameworks/CoreFoundation.framework/Headers/CFPropertyList.h:13,
             from /System/Library/Frameworks/CoreFoundation.framework/Headers/CoreFoundation.h:55,
             from /System/Library/Frameworks/CoreServices.framework/Headers/CoreServices.h:19,
             from gunicollate.c:30:
/usr/include/dispatch/object.h:143:15: error: expected identifier or '(' before '^' token
typedef void (^dispatch_block_t)(void);

/usr/include/dispatch/object.h:362:3: error: unknown type name 'dispatch_block_t'
dispatch_block_t notification_block);

==> Formula
Path: /usr/local/Library/Formula/pkg-config.rb
==> Configuration
HOMEBREW_VERSION: 0.9.5
ORIGIN: https://github.com/Homebrew/homebrew
HEAD: 9bbd6637009256d70b57691c3ad1979ca2bb5916
Last commit: 9 hours ago
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CELLAR: /usr/local/Cellar
CPU: dual-core 64-bit penryn
OS X: 10.10.2-x86_64
Xcode: 6.2
CLT: 6.2.0.0.1.1424975374
Clang: 6.0 build 600
X11: N/A
System Ruby: 2.0.0-p481
Perl: /usr/bin/perl
Python: /usr/bin/python
Ruby: /usr/bin/ruby
Java: 1.6.0_65
==> ENV
HOMEBREW_CC: gcc-4.9
HOMEBREW_CXX: g++-4.9
MAKEFLAGS: -j2
CMAKE_PREFIX_PATH: /usr/local
CMAKE_INCLUDE_PATH: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/libxml2:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/apache2:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/OpenGL.framework/Versions/Current/Headers
CMAKE_LIBRARY_PATH: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries
CMAKE_FRAMEWORK_PATH: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks
PKG_CONFIG_LIBDIR: /usr/lib/pkgconfig:/usr/local/Library/ENV/pkgconfig/10.10
HOMEBREW_SDKROOT: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk
PATH: /usr/local/Library/ENV/4.3:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/opt/gcc/bin

Error: pkg-config 0.28 did not build

clang我的理解是和gcc-4.9配置之间存在冲突。

我可以暂时解决它:

brew install pkg-config

因此,它不会从源代码构建并使用 clang 配置。

我看到 Xcode 仍在包含和库路径中,我认为这会阻止与 gcc-4.9 的链接。

如何仅pkg-config使用安装gcc-4.9

4

1 回答 1

1

按照此说明更改后问题解决:

typedef void (^dispatch_block_t)(void); // this is for clang 

typedef void* dispatch_block_t;  //this is for gcc-4.9
于 2015-03-12T17:24:48.313 回答