top
Loading...
2.12.5.7.SGIIrix注意事項
2.12.5.7. SGI Irix注意事項

如果使用Irix 6.5.3或更新版,如果用擁有CAP_SCHED_MGT權限的用戶(例如root)運行mysqld或用下面的shell命令給mysqld服務器該權限,mysqld能夠創建線程:

chcap "CAP_SCHED_MGT+epi" /opt/mysql/libexec/mysqld

可能需要在運行configure后且在編譯前定義config.h里面的一些符號。

在一些Irix實現中,alloca()函數被破壞。如果mysqld服務器死于一些SELECT語句,把config.h定義HAVE_ALLOCHAVE_ALLOCA_H的行刪除即可。如果mysqladmin create不工作,把config.h定義HAVE_READDIR_R的行刪除,你也可能必須刪除HAVE_TERM_H行。

SGI推薦將本頁上的所有補丁作為一個整體來安裝:

http://support.sgi.com/surfzone/patches/patchset/6.2_indigo.rps.html

至少,應該安裝最新的核心卷(rollup)、最新的rld卷和最新的libc卷。

很明確,對于pthreads支持,需要本頁上所有的POSIX補丁:

http://support.sgi.com/surfzone/patches/patchset/6.2_posix.rps.html

如果在編譯mysql.cc時,遇到類似于下面的錯誤:

"/usr/include/curses.h", line 82: error(1084):
invalid combinatiof type

那么應在MySQL源碼樹的頂級目錄輸入下列命令:

extra/replace bool curses_bool < /usr/include/curses.h > include/curses.h
make

應該也有安排上的問題報告。如果只有一個線程正在運行,事情會變慢的。通過啟動另外一個客戶端來避免它,這可以導致此后其它線程的執行速度增加210倍。這是Irix線程難以理解的問題;可能必須臨時準備找出解決方案直到它能被修正。

 

如果你正在用gcc編譯,可以使用下列configure命令:

 

CC=gcc CXX=gcc CXXFLAGS=-O3 
./configure --prefix=/usr/local/mysql --enable-thread-safe-client 
    --with-named-thread-libs=-lpthread

在用原生Irix CC++編譯器7.3.1.2Irix 6.5.11,下面的項工作:

CC=cc CXX=CC CFLAGS='-O3 -n32 -TARG:platform=IP22 -I/usr/local/include 
-L/usr/local/lib' CXXFLAGS='-O3 -n32 -TARG:platform=IP22 
-I/usr/local/include -L/usr/local/lib' 
./configure --prefix=/usr/local/mysql --with-innodb --with-berkeley-db 
    --with-libwrap=/usr/local 
    --with-named-curses-libs=/usr/local/lib/libncurses.a
作者:mysql.com
來源:http://dev.mysql.com/doc/refman/5.1/zh/installing.html
北斗有巢氏 有巢氏北斗