ITEEDU

2.12.1.7. Linux Alpha注意事项

我们已经用我们的基准和测试套件在Alpha中测试了MySQL 5.1,看起来工作得不错。

我们目前在配置Alpha EV6处理器的Compaq DS20机器上,在SuSE Linux 7.0中对AXP、内核2.4.4-SMP、Compaq C编译器(V6.2-505)和Compaq C++编译器(V6.3-006)构建MySQL二进制软件包。

你可以从 http://www.support.compaq.com/alpha-tools/ 找到上述编译器。使用这些编译器,得到的MySQL性能比gcc要好9-14%。

在Alpha版MySQL中,我们在编译选项中使用-arch generic标记,可以确保二进制在所有Alpha处理器中运行。我们还采用静态编译以避免库问题。configure命令应为:

CC=ccc CFLAGS="-fast -arch generic" CXX=cxx \
CXXFLAGS="-fast -arch generic -noexceptions -nortti" \
./configure --prefix=/usr/local/mysql --disable-shared \
    --with-extra-charsets=complex --enable-thread-safe-client \
    --with-mysqld-ldflags=-non_shared --with-client-ldflags=-non_shared
 

如果想要使用egcs,可以使用下面的configure行:

CFLAGS="-O3 -fomit-frame-pointer" CXX=gcc \
CXXFLAGS="-O3 -fomit-frame-pointer -felide-constructors \
    -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql --disable-shared

已知的在Linux-Alpha中运行MySQL的问题:

·         在gdb 4.18 中不能调试线程应用程序。你应当使用gdb 5.1。

·         使用gcc时如果你尝试静态链接mysqld,启动时映像会导致转储内核。换句话说,使用gcc时不要使用--with-mysqld-ldflags=-all-static。