이번에 mariaDB를 컴파일 하다가 발생한 에러에 대한 대처 방법을 소개해 드립니다.
위의 에러는 -DBUILD_CONFIG=mysql_release로 컴파일 하시는 경우에는 발생하지 않습니다.
-DCMAKE_EXE_LINKER_FLAGS=‘-ltcmalloc’ -DWITH_SAFEMALLOC=OFF 옵션으로
tcmalloc을 함께 컴파일 하시는 경우 발생하는 데 make 시 대충 79% 정도에서 발생합니다.
5.5.34 버전에서도 같은 에러가 발생하는 데 5.5.36 버전에서 같은 에러가 발생하는 군요!
해결 방법은 직접 소스를 수정하셔야 합니다.
일단 mariaDB v5.5.36 버전을 다운르드 하시고 압축을 푸신 후
storage/tokudb/ft-index/ft/ft-ops.cc 파일의 2330번째 줄로 이동하신 후 아래 부분을 수정 하시기 바랍니다.
수정 전
LEAFENTRY leaf_entry;
bn->data_buffer.fetch_klpair(index, &leaf_entry, &keylen, &keyp);
assert_zero(r);
수정 후
LEAFENTRY leaf_entry = 0;
r= bn->data_buffer.fetch_klpair(index, &leaf_entry, &keylen, &keyp);
assert_zero(r);
위처럼 수정하여 make 하시면 이상 없이 빌드하실 수 있습니다.
참고 하십시오.