내 루비 젬, 특히 네이티브 확장을 사용하는 루비 젬에 문제가 있습니다.OS X에서 네이티브 보석 확장 기능을 만들었지 만로드에 실패하게 된 원인은 무엇입니까?
저는 MacBookPro와 Snow Leopard를 사용하고 있습니다. gcc 4.2.1이 설치된 Xcode 3.2.1이 설치되어 있습니다. 루비 1.8.6, 왜냐하면 나는 게으르고 무서운 고양이이고 아직 업그레이드하고 싶지 않습니다. Ruby는 32 비트 모드로 실행됩니다. 내 MBP가 OSX 10.4를 실행할 때이 루비를 처음부터 만들었습니다.
irb에서 영향을받는 보석 중 하나를 필요로 할 때 보석 확장의 번들 파일에 대한로드 오류가 발생합니다. 예를 들어, 다음 nokogigi 나를 버린 것이 없어지있어이 또한 포스트 그레스 페이지와 MongoDB를의 몽고 보석으로 일어나고
> require 'rubygems'
=> true
> require 'nokogiri'
LoadError: Failed to load /usr/local/lib/ruby/gems/1.8/gems/nokogiri-1.4.1/lib/nokogiri/nokogiri.bundle
.
내 첫 번째 생각은 확장 프로그램이 올바르게 빌드되지 않아야한다는 것입니다. 그러나 gem install은 어떤 오류도 발생시키지 않았습니다. 그래서 나는 도움이되는 경고를보기를 희망하면서 장황한 플래그로 다시 설치했다. I've put the output in a Pastie이고 내가 본 유일한 경고는 "프로토 타입으로 인해 '너비가 다른'foo '의 인수 n 전달에 대한 일관성있는 경고입니다."
이것이 Snow Leopard로 업그레이드 할 때 문제가 될 수 있다고 생각되지만, 필자는 Xcode를 업데이트 한 이후로 지금은 조금 놀랐습니다. 1.8.6에서 Ruby를 돌릴 수 있습니까? Mac과 OSX에 대해 다음에 어디를보아야하는지 모를 정도로 당혹 스럽기 때문에 Google을 통해 찾을 수없는 일부 문서에 대한 지침 만 제공해도 좋습니다.
마이클 나는 GCC 출력/옵션/지역 물건을 많이 볼 수
실행중인 루비 실행 파일이 MacOS X 또는 MacOS X에 포함되어 있는지 확인 했습니까? –
그것은 루비 1.8.6 (2007-03-13 패치 레벨 0) [i686-darwin8.8.5] – goodmike
이상한 것을 말해줍니다. 네이티브 확장 기능이없는 보석은 괜찮습니까? –