Mac OS X安裝native gem提示找不到 dyld_stub_binding_helper,dyldfatalerror

來源:互聯網
上載者:User

Mac OS X安裝native gem提示找不到 dyld_stub_binding_helper,dyldfatalerror

    在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: ~$



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.