2009-10-09 3 views
1

여기 가이드를 따라 Mac OS X Snow Leopard의 MS SQL Server 2005에 연결하려는 루비 1.8.6을 얻으려고했습니다. http://wiki.rubyonrails.org/database-support/ms-sql. Ruby ODBC Bindings와 dbi 및 dbd-odbc 보석을 설치했으며 루비는 소스에서 컴파일되었습니다.Snow Leopard에서 컴파일 된 1.8.6에서 작동하도록 Ruby ODBC 바인딩을 가져올 수 없습니다.

나는, IRB에서 (': ODBC : DBI A_DSN', '사용자 이름', 'PWD')를 DBI.connect 이것을 실행하면, 루비 과정은 무기한 중단됩니다.

나는 걸린 프로세스를보기 위해 gdb를 사용했으며 semaphore_wait_signal_trap에 붙어 있습니다.

루비 1.8.7을 컴파일하고 모든 것이 정상적으로 작동하는 것과 같은 방법으로 odbc 바인딩을 설치하면 스노우 레오파드에서 바인딩을 컴파일하는 데 문제가 있는지 확실하지 않습니다. Snow Leopard로 업그레이드하기 전에 OS X 10.5 및 1.8.6에서 작동하도록했습니다.

빛을 비춰 주셔서 감사합니다!

답변

1

이이 같은 문제처럼 보이는 : 나는 자신이이 일을 분류하기 위해 노력하고있어 http://www.ruby-forum.com/topic/196606

그래서 내가 어떤 진행을하면 알려 드리겠습니다.

...

은 내가 솔루션 가까운지고있어 생각하지만, 당신은 아마 컴파일하기 전에 1.8.6 소스 트리를 패치해야합니다. dln.c을 보면 1.8.6이 dlopen이 아닌 NSLinkModule 등의 더 이상 사용되지 않는 객체 파일 이미지 함수를 사용하고있는 것으로 보입니다. 10.6에서 dyld에 대한 최적화가 어떤 식 으로든 하위 호환성을 손상 시켰다고 확신합니다. 따라서 1.8.6 설치를 패치하여 dlopen을 사용하여 문제가 해결되는지 확인하려고합니다.

...

그래, 그래서 그것은 또한 당신의 문제를 해결할 것이라고 셨을 텐데요 1.8.7 1.8.6에 대한 수정 RMagick와 부하 문제에서 dln.c 변경을 백 포팅.

+0

고마워요! 백 포트 dln.c 또한 나를 위해 일했습니다. – calstad

관련 문제