在Mac OS X10.10下sudo gem install curses 返回如下错误:

apple@kissAir: ruby_src$sudo gem install curses

Password:

Fetching: curses-1.0.1.gem (100%)

Building native extensions.  This could take a while...

ERROR:  Error installing curses:

ERROR: Failed to build gem native extension.

/Users/apple/.rvm/rubies/ruby-2.1.3/bin/ruby extconf.rb

checking for tgetent() in -ltinfo... no

checking for tgetent() in -ltermcap... yes

checking for ncurses.h... yes

checking for initscr() in -lncursesw... no

checking for initscr() in -lncurses... yes

header: ncurses.h

library: ncurses

checking for beep()... yes

checking for bkgd()... yes

checking for bkgdset()... yes

checking for curs_set()... yes

checking for deleteln()... yes

checking for doupdate()... yes

checking for flash()... yes

checking for getbkgd()... yes

checking for getnstr()... yes

checking for init()... no

checking for init in ncurses.h... no

checking for isendwin()... yes

checking for keyname()... yes

checking for keypad()... yes

checking for resizeterm()... yes

checking for scrl()... yes

checking for set()... no

checking for set in ncurses.h... no

checking for setscrreg()... yes

checking for ungetch()... yes

checking for wattroff()... yes

checking for wattron()... yes

checking for wattrset()... yes

checking for wbkgd()... yes

checking for wbkgdset()... yes

checking for wdeleteln()... yes

checking for wgetnstr()... yes

checking for wresize()... yes

checking for wscrl()... yes

checking for wsetscrreg()... yes

checking for def_prog_mode()... yes

checking for reset_prog_mode()... yes

checking for timeout()... yes

checking for wtimeout()... yes

checking for nodelay()... yes

checking for init_color()... yes

checking for wcolor_set()... yes

checking for use_default_colors()... yes

checking for newpad()... yes

checking for ESCDELAY in ncurses.h... yes

checking for TABSIZE in ncurses.h... yes

checking for COLORS in ncurses.h... yes

checking for COLOR_PAIRS in ncurses.h... yes

checking for function curses_version in ncurses.h... yes

checking for variable curses_version in ncurses.h... no

creating Makefile

make "DESTDIR=" clean

make "DESTDIR="

compiling curses.c

linking shared-object curses.bundle

ld: warning: directory not found for option '-L/Users/mpapis/.sm/pkg/active/lib'

ld: symbol dyld_stub_binding_helper not found, normally in crt1.o/dylib1.o/bundle1.o for architecture x86_64

collect2: error: ld returned 1 exit status

make: *** [curses.bundle] Error 1

make failed, exit code 2


主要错误点是找不到符号dyld_stub_binding_helper,网上搜了一下,解决方法是将Xcode中的deployment target从低版本改为高版本,但我这个没用Xcode编译啊!想了一下,看上面编译器用的应该是gcc(4.9),要不用clang试试看呐?!

apple@kissAir: ruby_src$type gcc

gcc is /opt/local/bin/gcc

apple@kissAir: ruby_src$ls -lh /opt/local/bin/gcc

lrwxr-xr-x  1 root  admin    39B 10 27 06:15 /opt/local/bin/gcc -> /usr/local/Cellar/gcc/4.9.1/bin/gcc-4.9

apple@kissAir: ruby_src$sudo mv /opt/local/bin/gcc old_gcc

Password:

apple@kissAir: ruby_src$type gcc

gcc is /usr/bin/gcc

apple@kissAir: ruby_src$gcc -v

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1

Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)

Target: x86_64-apple-darwin14.0.0

Thread model: posix

apple@kissAir: ruby_src$clang -v

Apple LLVM version 6.0 (clang-600.0.54) (based on LLVM 3.5svn)

Target: x86_64-apple-darwin14.0.0

Thread model: posix


现在gcc实际连接在clang上了,遂再次安装gem:

apple@kissAir: ruby_src$sudo gem install curses

Building native extensions.  This could take a while...

Successfully installed curses-1.0.1

Parsing documentation for curses-1.0.1

Installing ri documentation for curses-1.0.1

Done installing documentation for curses after 3 seconds

1 gem installed


哦鸟!看一下导出的符号:

nm /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin14/curses.bundle

U _COLORS

U _COLOR_PAIRS

U _COLS

U _ESCDELAY

0000000000000732 T _Init_curses

U _LINES

U _TABSIZE

U ___sprintf_chk

U ___stack_chk_fail

U ___stack_chk_guard

U _beep

U _can_change_color

U _cbreak

U _color_content

U _curs_set

U _curses_version

U _def_prog_mode

U _delwin

U _doupdate

U _echo

U _endwin

U _flash

U _getbegx

U _getbegy

U _getcurx

U _getcury

U _getmaxx

U _getmaxy

U _getmouse

U _has_colors

U _idlok

U _init_color

U _init_pair

U _initscr

U _isendwin

U _keyname

U _keypad

U _mouseinterval

U _mousemask

U _mvwin

U _newpad

U _newwin

U _nl

U _nocbreak

U _nodelay

U _noecho

U _nonl

U _noraw

U _pair_content

U _pnoutrefresh

U _prefresh

U _raw

U _rb_ary_new3

U _rb_block_given_p

U _rb_cData

U _rb_cFalseClass

U _rb_cFixnum

U _rb_cFloat

U _rb_cNilClass

U _rb_cObject

U _rb_cSymbol

U _rb_cTrueClass

U _rb_check_typeddata

U _rb_data_typed_object_alloc

U _rb_define_alloc_func

U _rb_define_class_under

U _rb_define_const

U _rb_define_method

U _rb_define_module

U _rb_define_module_function

U _rb_define_module_under

U _rb_eArgError

U _rb_eRuntimeError

U _rb_eSecurityError

U _rb_fix2int

U _rb_gc_register_address

U _rb_gc_unregister_address

U _rb_isprint

U _rb_locale_str_new

U _rb_locale_str_new_cstr

U _rb_num2int

U _rb_num2long

U _rb_num2uint

U _rb_obj_alloc

U _rb_obj_class

U _rb_raise

U _rb_safe_level

U _rb_scan_args

U _rb_secure

U _rb_set_end_proc

U _rb_str_export_locale

U _rb_str_new_cstr

U _rb_string_value

U _rb_string_value_cstr

U _rb_thread_call_without_gvl

U _rb_undef_method

U _rb_yield

U _reset_prog_mode

U _resizeterm

U _ruby_xfree

U _ruby_xmalloc

U _scrollok

U _start_color

U _stdscr

U _subwin

U _ungetch

U _ungetmouse

U _use_default_colors

U _waddch

U _waddnstr

U _wattr_off

U _wattr_on

U _wattrset

U _wbkgd

U _wbkgdset

U _wborder

U _wclear

U _wclrtoeol

U _wcolor_set

U _wdelch

U _wgetch

U _wgetnstr

U _winch

U _winsch

U _winsdelln

U _wmove

U _wnoutrefresh

U _wrefresh

U _wresize

U _wscrl

U _wsetscrreg

U _wtimeout

U dyld_stub_binder

最后把gcc连接给它还原本色吧:

apple@kissAir: ~$gcc -v

Using built-in specs.

COLLECT_GCC=gcc

COLLECT_LTO_WRAPPER=/usr/local/Cellar/gcc/4.9.1/libexec/gcc/x86_64-apple-darwin14.0.0/4.9.1/lto-wrapper

Target: x86_64-apple-darwin14.0.0

Configured with: ../configure --build=x86_64-apple-darwin14.0.0 --prefix=/usr/local/Cellar/gcc/4.9.1 --enable-languages=c,c++,objc,obj-c++,fortran --program-suffix=-4.9 --with-gmp=/usr/local/opt/gmp --with-mpfr=/usr/local/opt/mpfr --with-mpc=/usr/local/opt/libmpc
--with-cloog=/usr/local/opt/cloog --with-isl=/usr/local/opt/isl --with-system-zlib --enable-version-specific-runtime-libs --enable-libstdcxx-time=yes --enable-stage1-checking --enable-checking=release --enable-lto --disable-werror --with-pkgversion='Homebrew
gcc 4.9.1' --with-bugurl=https://github.com/Homebrew/homebrew/issues --enable-plugin --disable-nls --enable-multilib

Thread model: posix

gcc version 4.9.1 (Homebrew gcc 4.9.1)

apple@kissAir: ~$


Mac OS X安装native gem提示找不到 dyld_stub_binding_helper的更多相关文章

  1. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  2. wget Mac OS 下安装

    wget是一个从网络上自动下载文件的自由工具,支持通过HTTP.HTTPS.FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理. 下面介绍如何在Mac OS 下安装Wget 下载最新版的 ...

  3. Mac OS X安装OpenGL

    Mac OS X安装OpenGL 安装最新的cmake brew install cmake brew upgrade cmake 安装glew brew install glew 安装GLTools ...

  4. TensorFlow 安装官方教程:Ubuntu 安装,Mac OS X 安装,Windows 安装

    从我的使用体验来看  Ubuntu 是最好的, Mac 没有显卡,后期跑大项目比较鸡肋,Windows 安装各种依赖各种坑.Ubuntu 安装 TensorFlow 方便,后面安装  TensorFl ...

  5. 关于在Mac OS下安装npm与cnpm的ERR! Darwin 15.0.0解决办法

    mac os安装好了很久了,不过没怎么用,昨天想要体验一下大神们推荐的黑苹果系统用起来怎么样(关于安装黑苹果的可以到我的简书去看相关文章),于是乎,打开久违的vmware,看着咬一口的苹果进度图,心中 ...

  6. 在 Virtual Box 安装 Mac Os 并安装 Qt 开发应用

    导读 由于 Beslyric-for-X 项目开发需要,开始尝试在 Mac Os 下开发 Qt 应用.尝试成功后,记录于此,希望对有类似需求的人有所帮助. 本文以开发 Beslyric-for-X 为 ...

  7. 以 MAMP 为 Mac OS X 安装并设置 PHP开发环境

    PHP 页需要通过 Web 服务器处理.因此,要在 Dreamweaver 中使用 PHP 进行开发,您需要访问支持 PHP 的 Web 服务器和 MySQL 数据库.phpMyAdmin 也很实用, ...

  8. 在Mac OS上安装Vagrant和Docker的教程

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/128.html?1455808640 当听到很多人在说Docker是多么多 ...

  9. Mac OS X安装OpenCV 3.1.0

    在我的上一篇文章“”中已经介绍了Linux下OpenCV的安装配置方法,在这里仅仅记录Mac上相对于Linux的一点点差异. 1. 安装依赖包 Mac上安装软件包使用的工具是brew,用此来替代Ubu ...

随机推荐

  1. 自定义gradview

    http://blog.csdn.net/jdsjlzx/article/details/7525724 虽然Android已自带了GridView,但是,却不够灵活,同时也不能自由添加控件,因此,本 ...

  2. 在O(1)时间内删除单链表结点

    给定单链表的一个结点的指针,同时该结点不是尾结点,此外没有指向其它任何结点的指针,请在O(1)时间内删除该结点. int deleteNode(LNode **head, LNode **node) ...

  3. 对N各集合中的任意元素进行排列组合问题

    小李去市场买菜,有蔬菜(茄子.黄瓜.大白菜...等k中素菜),和肉类(牛肉,羊肉,鸡肉...等m种荤菜),及点心(麻饼,桃酥,枣花...等n中点心),现在老婆要求每天一荤一素一点心 并且每天的样式要尽 ...

  4. [django]项目打包构建

    django项目的结构大体上都是类似,打包主要的功能就是把一些不需要部署的文件剔除,把需要部署的文件直接压缩打包. 这里还想集成一个配置文件模板生成配置文件的过程,或者写一个配置文件生成的工具,不用每 ...

  5. 【IOS 开发】Object - C 面向对象 - 类 , 对象 , 成员变量 , 成员方法

    . 一. 类定义 类定义需要实现两部分 : -- 接口部分 : 定义类的成员变量和方法, 方法是抽象的, 在头文件中定义; -- 实现部分 : 引入接口部分的头文件, 实现抽象方法; 1. 接口部分定 ...

  6. Swift基础之OC文件调用Swift代码(在上次的基础上写的)

    前两天刚写过Swift调用OC,今天在原来的基础上,实现OC调用Swift. 首先,创建一个OneSwiftFile.swift文件,创建一个继承于NSObject的类(这个地方你可以自己选择继承的父 ...

  7. 【一天一道LeetCode】#106. Construct Binary Tree from Inorder and Postorder Traversall

    一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 来源:http ...

  8. 【自制插件】MMD4Maya

    这个是之前MMD4MecanimImport的升级版,把pmx2fbx.exe整合了进来,不再需要Unity和MotionBuilder. 测试maya2015, maya2016可以用.maya20 ...

  9. Uva - 177 - Paper Folding

    If a large sheet of paper is folded in half, then in half again, etc, with all the folds parallel, t ...

  10. [Ext.Net]TreePanel 异步加载数据

    异步加载数据指的是页面加载的时候只显示根目录,点击根目录再去加载其子目录. 下面就来介绍下这种异步加载的树结构要怎么实现 现将例子的图 QQ图片20131225134353.jpg (12.1 KB, ...