2.9. 소스 배포판을 사용해서 MySQL 설치하기
2.9.1. 소스 설치 개론
2.9.2. 전형적인 configure 옵션
2.9.3. MySQL 컴파일 문제 처리하기
2.9.4. MIT-pthreads 노트
소스 배포판을 사용해서 설치 작업을 진행하기 전에, 우선 우리가 제공하는 바이너리가 여러분의 시스템에서 사용 가능한지 그리고 제대로 동작될 것인지에 대해 검사를 해야 한다. 우리는 우리가 제공하는 바이너리들이 가장 최선의 옵션을 가지고 구축되었다는 것을 검증하기 위해 최대한의 노력을 기울이고 있다.
MySQL 소스 배포판은 압축된 tar 아카이브 형태로 제공되며, mysql-VERSION.tar.gz와 같은 형태의 이름을 가지는데, 여기에서VERSION 은 5.1.18-beta와 같은 숫자가 된다.
소스로부터 MySQL을 설치하기 위해서는 다음과 같은 툴이 필요하다:
- 배포판의 압축을 풀기 위한 GNU gunzip.
- 배포판을 풀기 위한 tar. GNU tar 를 주로 사용한다. 어떤 OS에는 문제점을 갖고 있다고 알려져 있는 tar가 포함되어 있기도 하다. 예를 들면, Mac OS X tar 및 Sun tar는 긴 파일 이름의 처리에 문제를 갖고 있다고 알려져 있다. Mac OS X의 경우, OS안에 있는 gnutar 프로그램을 사용할 수 있을 것이다. 기능이 떨어지는tar를 갖고 있는 다른 OS의 경우, 우선 GNU tar를 설치하기 바란다.
- 제대로 구동되는ANSI C++ 컴파일러. gcc 2.95.2 또는 이후 버전, egcs 1.0.2 또는 이후 버전, 또는 egcs 2.91.66, SGI C++, 및 SunPro C++ 등의 컴파일러들이 제대로 동작되는 컴파일러로 알려져 있다. gcc를 사용할 때에는 libg++ 는 필요없다. gcc 2.7.x에는 sql/sql_base.cc 와 같은 공식 C++컴파일러를 사용할 수 없게 하는 버그가 있다. 여러분이gcc 2.7.x만 갖고 있다면, gcc를 업그레이드하여 MySQL을 컴파일 할 수 있도록 해야 한다. gcc 2.8.1도 역시 특정 플랫폼에서 문제가 있는 것으로 알려져 있는데, 플랫폼에 새로운 컴파일러가 있다면 이것을 사용하는 것을 피해야 한다.
gcc 2.95.2 또는 이후 버전은 MySQL 3.23.x를 컴파일 할 때 권장할 수 있는 것이다.
- 잘 만들어진 make 프로그램. GNU make 는 항상 권장할 만한 것이며 때에 따라서는 필수적으로 필요한 프로그램이다. 만약에 문제가 있다면, GNU make 3.75 또는 이후 버전을 권장한다.
-fno-exceptions 옵션을 구동시킬 수 있는 최신의 gcc 버전 컴파일러를 사용하고 있다면, 이 옵션을 사용하는 것이 매우 중요하다. 그렇지 않으면, 바이너리를 컴파일하면서 랜덤하게 크래쉬가 발생할 수도 있다. 우리는 또한 -felide-constructors 과 -fno-rtti 를 -fno-exceptions와 함께 사용하기를 권장한다. 의심스러울 경우에는, 아래의 것을 실행해 본다:
CFLAGS="-O3" CXX=gcc CXXFLAGS="-O3 -felide-constructors \
-fno-exceptions -fno-rtti" ./configure \
--prefix=/usr/local/mysql --enable-assembler \
--with-mysqld-ldflags=-all-static
대부분의 시스템에서, 이것은 빠르고 안정적인 바이너리를 제공해 준다.