2013-04-08 3 views
0

예, 이것은 Ruby on Rails에서 사용할 mysql2 gem을 설치하는 또 다른 질문입니다. 그러나 나는 다른 질문에 나열되어 찾을 수 없었던 오류입니다.mysql2 gem 설치하기 - HAVE_UINT (ushort, uint 유형 재정의 오류)

OS X Mountain Lion에 64 비트 MySQL과 RVM이 설치되어 있습니다. mysql2 gem을 설치하려고 할 때, mysql2_ext.h에 에서 ushortuint의 재정의에 관한 오류가 계속 발생합니다. (파일을 변경하면 아무것도하지 않았다 때문에이 gem install mysql2 명령을 reran 때, 분명히 캐시)과 이러한 라인을 발견 나는 다른 장소의 몇 해당 파일을 발견 참 ushortuint를 재정의하려고

#ifndef HAVE_UINT 
#define HAVE_UINT 
typedef unsigned short ushort; 
typedef unsigned int uint; 
#endif 

아직 가지고있다. 심볼이 이미 정의되어 있다고 어떻게 알 수 있습니까?

답변

1

CFLAGS가 HAVE_UINT 정의를 인식하도록 지정하는 방법이 있습니다. "- DHAVE_UINT"이 작업을 수행하는 방법에 대한 this question를 참조 보석 mysql2

를 설치

은 sudo는 ENV CFLAGS =이 : :이 아닙니다 (분명히 보석 설치는 이러한 방식으로 설정된 환경 변수를 무시 관리)

를 그리고 일 - "DHAVE_UINT \"를 --with-CFLAGS = \ -

보석 mysql2를 설치!

+0

이것은 나를 위해 일했습니다 (루비 2.0, osx 사자), 고마워! – knx