2014-03-31 105 views
2

我在安装特殊动作cocoapods时遇到问题。我使用的是Ruby 1.9.3-p484,OS X Mavericks,Xcode 5.1。无法在小牛队上安装cocoapods

我发现了很多解决方案,但都没有工作。

这是我的错误日志尝试安装

checking for -std=c99 option to compiler... yes 
checking for CoreFoundation... no 
checking for main() in -lCoreFoundation... no 
CoreFoundation is needed to build the Xcodeproj C extension. 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

的Xcode/mkmf.log文件时

checking for -std=c99 option to compiler... -------------------- yes 

"/usr/local/opt/gcc46/bin/gcc-4.6 -o conftest -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-darwin13.1.0 -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -fno-common -pipe conftest.c -L. -L/Users/**/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -L. -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib  -lruby.1.9.1 -lpthread -ldl -lobjc " 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: int main(int argc, char **argv) 
4: { 
5: return 0; 
6: } 
/* end */ 

"/usr/local/opt/gcc46/bin/gcc-4.6 -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-darwin13.1.0 -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -fno-common -pipe -std=c99 -c conftest.c" 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
/* end */ 

-------------------- 

have_framework: checking for CoreFoundation... -------------------- no 

"/usr/local/opt/gcc46/bin/gcc-4.6 -o conftest -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-darwin13.1.0 -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -fno-common -pipe -std=c99 conftest.c -L. -L/Users/**/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -L. -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib  -lruby.1.9.1 -ObjC -framework CoreFoundation -lpthread -ldl -lobjc " 
cc1: error: argument to '-O' should be a non-negative integer 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: #include <CoreFoundation/CoreFoundation.h> 
4: 
5: int main(void){return 0;} 
/* end */ 

-------------------- 

have_library: checking for main() in -lCoreFoundation... -------------------- no 

"/usr/local/opt/gcc46/bin/gcc-4.6 -o conftest -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-darwin13.1.0 -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -fno-common -pipe -std=c99 conftest.c -L. -L/Users/**/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -L. -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib  -lruby.1.9.1 -lCoreFoundation -lpthread -ldl -lobjc " 
conftest.c: In function 't': 
conftest.c:4:53: error: 'main' undeclared (first use in this function) 
conftest.c:4:53: note: each undeclared identifier is reported only once for each function it appears in 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: /*top*/ 
4: int t() { void ((*volatile p)()); p = (void ((*)()))main; return 0; } 
5: int main(int argc, char **argv) 
6: { 
7: if (argc > 1000000) { 
8:  printf("%p", &t); 
9: } 
10: 
11: return 0; 
12: } 
/* end */ 

"/usr/local/opt/gcc46/bin/gcc-4.6 -o conftest -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/x86_64-darwin13.1.0 -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1/ruby/backward -I/Users/**/.rvm/rubies/ruby-1.9.3-p484/include/ruby-1.9.1 -I. -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/usr/local/opt/libyaml/include -I/usr/local/opt/readline/include -I/usr/local/opt/libksba/include -I/usr/local/opt/openssl/include -fno-common -pipe -std=c99 conftest.c -L. -L/Users/**/.rvm/rubies/ruby-1.9.3-p484/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib -L. -L/usr/local/opt/libyaml/lib -L/usr/local/opt/readline/lib -L/usr/local/opt/libksba/lib -L/usr/local/opt/openssl/lib  -lruby.1.9.1 -lCoreFoundation -lpthread -ldl -lobjc " 
conftest.c: In function 't': 
conftest.c:4:1: warning: implicit declaration of function 'main' [-Wimplicit-function-declaration] 
ld: library not found for -lCoreFoundation 
collect2: ld returned 1 exit status 
checked program was: 
/* begin */ 
1: #include "ruby.h" 
2: 
3: /*top*/ 
4: int t() { main(); return 0; } 
5: int main(int argc, char **argv) 
6: { 
7: if (argc > 1000000) { 
8:  printf("%p", &t); 
9: } 
10: 
11: return 0; 
12: } 
/* end */ 

-------------------- 

下面是一些解决方案,我已经试过

重新安装的Xcode &指向它

xcode-select -p 
/Applications/Xcode.app/Contents/Developer 

然以下命令command line tools for new 10.9 OSX for ruby gems?

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2 

然此命令https://github.com/CocoaPods/CocoaPods/issues/192

CFLAGS="-F /System/Library/Frameworks" gem install motion-cocoapods -- --with-ldflags="-F/System/Library/Frameworks" 
+0

如何发布'mkmf.log'文件的相关内容? – mharper

+0

@mharper编辑 – user2158382

+0

你试过'xcode-select --install'吗? – mharper

回答

1

我不得不在Mac OS 10.9,RVM 1.25相同的症状。 22,ruby-1.9.3-p484,同时试图运行gem install cocoapods;问题是我安装了gcc-4.6和gcc-4.2。

RVM显然决定自动运行brew install gcc46对我来说,当我安装了红宝石:

$ rvm install 1.9.3-p484 
Checking requirements for osx. 
Error: No available formula for gcc46 
Installing requirements for osx. 
Updating system.... 
Installing required custom packages: homebrew/versions. 
Installing required packages: gcc46... 

我mkmf.log(像你)表明编译使用GCC-4.6和失败。对我来说,修复方案是brew uninstall gcc46,rvm uninstall 1.9.3-p484,然后brew install apple-gcc42rvm install 1.9.3-p484

用苹果gcc42制作的新鲜红宝石,我的系统上没有遗漏gcc46,gem install cocoapods工作。没有其他卸载或重新安装是必要的。