redis-2.6.* 버전을 설치하려고 할때 make 에러가 나는 경우.. 해결 방법


# cd /usr/local/src

# wget http://redis.googlecode.com/files/redis-2.6.5.tar.gz

# tar zxvf redis-2.6.5.tar.gz

# cp -Rf redis-2.6.5 /usr/local/redis

# cd /usr/local/redis

# make


 

이렇게 진행을 하면, 


/usr/local/redis/src/zmalloc.c:223: undefined reference to `__sync_add_and_fetch_4'


이런 식의 에러가 떨어지는 경우가 있을 것이다. 

(어쨌든 make를 한 번 실행해주도록 한다. src/.make-settings 생성되도록)


gcc 컴파일 옵션의 문제인데, cpu 타입을 정해주면 된다.


make시 cpu 타입을 –march로 정해주도록 작업을 해야됨

(cpu타입에 관한 자세한 옵션값은 http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html에서 확인)


우선 해당 서버의 cpu타입을 확인

# uname –a

Linux localhost.localdomain 2.6.18-308.el5PAE #1 SMP Tue Feb 21 20:46:05 EST 2012 i686 i686 i386 GNU/Linux

이렇게 나왔다면 i686 이다.


src폴더의 .make-settings 에서 –march를 설정하자.

# vi ./src/.make-settings

OPT=-O2 –march=i686

# make


이번엔 에러없이 잘 설치가 되었을 것이다.

+ Recent posts