4.11.3 Solaris x86 ×¢ÒâÊÂÏî
Èç¹ûÄãÕýÔÚÔÚ Solaris x86ÉÏʹÓÃgcc»òegcs£¬²¢ÇÒÄãÅöµ½ÁËÔÚ×°ÔØÊ±µÄºËÐÄÇãµ¹£¨core dump£©ÎÊÌ⣬ÄãÓ¦¸ÃʹÓÃÏÂÁÐconfigureÃüÁ
shell> CC=gcc CFLAGS="-O6 -fomit-frame-pointer" \
CXX=gcc \
CXXFLAGS="-O6 -fomit-frame-pointer -felide-constructors -fno-exceptions -fno-rtti" \
./configure --prefix=/usr/local/mysql
ÓÃlibstdc++¿âºÍÓëC++Òì³£´¦ÀíÀ´±ÜÃâÕâ¸öÎÊÌâ¡£
Èç¹ûÕâûÓаïÖú£¬ÄãÓ¦¸Ã±àÒëÒ»¸öµ÷ÊÔ°æ±¾²¢ÇÒÓÃÒ»¸ö×Ù¼£ÎļþÔËÐÐËü»òÔÚgdbÏÂÔËÐÐËü¡£¼ûG.1 µ÷ÊÔÒ»¸ö MySQL ·þÎñÆ÷¡£
4.11.4 SunOS 4 ×¢ÒâÊÂÏî
ÔÚ SunOS 4 ÉÏ£¬ ÐèÒªMIT-pthreads ±àÒëMySQL£¬·´¹ýÀ´ÕâÒâζ×ÅÄ㽫ÐèÒªGNU make¡£
һЩSunOS 4ϵͳµÄ¶¯Ì¬¿âºÍlibtoolÓÐÎÊÌâ¡£Äã¿ÉÒÔʹÓÃÏÂÁÐconfigureÐÐÀ´±ÜÃâÕâ¸öÎÊÌ⣺
shell> ./configure --disable-shared --with-mysqld-ldflags=-all-static
µ±±àÒëreadlineʱ£¬Äã¿ÉÄܵõ½¹ØÓÚÖØ¸´¶¨ÒåµÄ¾¯¸æ£¬ÕâЩ¿ÉÒÔ±»ºöÂÔ¡£
µ±±àÒëmysqldʱºò£¬ ½«ÓÐһЩimplicit declaration of function¾¯¸æ£¬ÕâЩ¿ÉÒÔ±»ºöÂÔ¡£
4.11.5 Linux ×¢ÒâÊÂÏî(ËùÓÐLinux°æ±¾)
MySQLÔÚLinuxÉÏʹÓà LinuxThreads ¡£Èç¹ûÄãÕýÔÚʹÓÃÒ»¸öûÓÐglibc2µÄÀϵÄLinux°æ±¾£¬Äã±ØÐëÔÚ³¢ÊÔ±àÒëMySQLǰ°²×°LinuxThreads¡£
http://www.mysql.com/Downloads/Linux
×¢Ò⣺µ«Äã×öINSERT DELAYEDʱ£¬ËùÓõİüÀ¨2.1.1¼°ÒÔǰµÄglibc°æ±¾ÔÚpthread_mutex_timedwait´¦ÀíÉÏÓÐÒ»¸öÖÂÃü´íÎó£¬Èç¹ûÄãÕýÔÚʹÓÃINSERT DELAYED£¬Äã±ØÐë°ÑÏÂÁв¹¶¡¼Óµ½ÄãµÄglibc¿âÖУºhttp£º//www.mysql.com/Downloads/Patches/glibc-pthread_cond_timedwait.patch¡£MySQL 3.23.7°üº¬Á˶ÔÕâ¸ö´íÎóµÄÒ»¸öÁÙʱ½â¾ö°ì·¨¡£
Èç¹ûÄã²»ÄÜÆô¶¯mysqld»òÈç¹ûmysql_install_db²»¹¤×÷£¬Çë¼ÌÐø¶ÁÏÂÈ¥£¡Õâ½ö·¢ÉúÔÚÓÐLinuxThreadsÎÊÌâ»òlibc/glibc¿âΪÌâµÄLinuxϵͳÉÏ¡£Óкܶà¼òµ¥µÄ½â¾ö°ì·¨ÈÃMySQL¹¤×÷£¡×î¼òµ¥ÊÇʹÓÃÕë¶ÔLinux x86µÄ¶þ½øÖư汾µÄMySQL£¨²»ÊÇRPM)£¬Õâ¸ö°æ±¾µÄÒ»¸öºÃµÄ·½ÃæÊÇËü¿ÉÄܱÈÄã±àÒëÄã×Ô¼ºµÄÈκΰ汾¿ì10%£¡¼û10.2.1 ±àÒëºÍÁ´½ÓÈçºÎÓ°Ïì MySQL µÄËÙ¶È¡£
¶þ½øÖÆ·Ö·¢µÄÒ»¸öÒÑÖªÎÊÌâÊÇÓëʹÓÃlibcµÄ¸üÀϵÄLinuxϵͳ£¨ÈçRedHat 4.x »ò Slackware)£¬Ä㽫µÃµ½ÓйØÖ÷»úÃû½â¾öµÄһЩ·ÇÖÂÃüÎÊÌâ¡£¼û4.6.3.1 Linux×¢ÒâÊÂÏî¡£
ʹÓÃlibc.so.5.3.12£¬myisamchk½«¹ÒÆð£¬Éý¼¶µ½×îÐÂlibcÒÔ½â¾öÕâ¸öÎÊÌâ¡£
µ±Ê¹Óà LinuxThreads ʱ£¬Ä㽫¿´µ½×îÉÙ 3 ½ø³ÌÔÚÔËÐС£ÕâЩÊÂʵÉϵÄỊ̈߳¬¶ÔLinuxThreads¹ÜÀíÆ÷½«ÓÐÒ»¸öỊ̈߳¬Ò»¸öÏ̴߳¦ÀíÁ¬½Ó£¬»¹ÓÐÒ»¸öÏ̴߳¦Àí¸æ¾¯ºÍÐźš£
Èç¹ûÄãÓÃps¿´µ½ÁËÒ»¸öËÀµôµÄmysqldÊØ»¤½ø³Ì£¬Õâͨ³£Òâζ×ÅÄã·¢ÏÖÁËMySQLÀïÃæµÄÒ»¸ö´íÎó»òÄãÓÐÒ»¸ö±»ÆÆ»µµÄÊý¾Ý¿â±í¡£¼û18.1 Èç¹ûMySQL×ÜÊDZÀÀ£Ôõô°ì¡£
Èç¹ûÄãÕýÔÚʹÓÃLinuxThreads²¢ÇÒmysqladmin shutdown²»¹¤×÷£¬Äã±ØÐëÉý¼¶µ½ LinuxThreads 0.7.1 »ò¸üС£
Èç¹ûÄãÕýÔÚʹÓà RedHat £¬Äã¿ÉÄܵõ½ÏóÕâÑùµÄ´íÎó£º
/usr/bin/perl is needed...
/usr/sh is needed...
/usr/sh is needed...
Èç¹ûÊÇÕâÑù£¬ÄãÓ¦¸ÃÉý¼¶rpm°æ±¾µ½¡°rpm-2.4.11-1.i386.rpm¡±ºÍ¡°rpm-devel-2.4.11-1.i386.rpm¡±(»òÒÔºó)¡£
ÄãÄÜ´Ó
ftp://ftp.redhat.com/updates/4.2/i386µÃµ½RedHat 4.2µÄ¿âÎļþÉý¼¶£¬»ò¶ÔÆäËû·Ö·¢
http://www.sunsite.unc.edu/pub/L ... /redhat/code/rpm/¡£
Èç¹ûÄãÕýÔÚÁ´½ÓÄã×Ô¼ºµÄMySQL¿Í»§²¢Çҵõ½´íÎó£º
ld.so.1: ./my: fatal: libmysqlclient.so.4: open failed: No such file or directory
µ±Ö´ÐÐËüÃÇʱ£¬Õâ¸öÎÊÌâ¿ÉÓÃÏÂÁз½·¨Ö®Ò»±ÜÃ⣺
* ÓÃÏÂÁбêÖ¾Á´½Ó¿Í»§(¶ø²»ÊÇ-Lpath)£º -Wl,r/path-libmysqlclient.so¡£
* ¿½±´libmysqclient.soµ½¡°/usr/lib¡±¡£
* ÔÚÔËÐÐÄãµÄ¿Í»§³ÌÐòǰ£¬°Ñlibmysqlclient.soËùÔÚĿ¼µÄ·¾¶Ãû¼Óµ½LD_RUN_PATHµÄ»·¾³±äÁ¿ÖС£
Èç¹ûÄãÕýÔÚʹÓà Fujitsu ±àÒëÆ÷(fcc / FCC)£¬±àÒëMySQLÄ㽫ÓÐһЩÎÊÌ⣬ÒòΪ Linux Í·ÎļþÃæÏògcc¡£
ÏÂÁÐconfigureÐÐÓ¦¸ÃÓëfcc/FCC¹¤×÷£º
CC=fcc CFLAGS="-O -K fast -K lib -K omitfp -Kpreex -D_GNU_SOURCE -DCONST=const \
-DNO_STRTOLL_PROTO" CXX=FCC CXXFLAGS="-O -K fast -K lib -K omitfp \
-K preex --no_exceptions --no_rtti -D_GNU_SOURCE -DCONST=const \
-Dalloca=__builtin_alloca -DNO_STRTOLL_PROTO '-D_EXTERN_INLINE=static __inline'" \
./configure --prefix=/usr/local/mysql --enable-assembler \
--with-mysqld-ldflags=-all-static --disable-shared --with-low-memory
4.11.5.1 Linux-x86 ×¢ÒâÊÂÏî
MySQLÒªÇólibc°æ±¾ 5.4.12 »ò¸üУ¬ÒÑÖª¿É¹¤×÷ÔÚlibc 5.4.46¡£glibc°æ±¾2.0.6ºÍÒÔºó°æ±¾Ó¦¸ÃÒ²¹¤×÷¡£Ê¹ÓÃRedHatµÄglibc RPMÓÐһЩÎÊÌ⣬ËùÒÔÈç¹ûÄãÓÐÎÊÌ⣬¼ì²éÊÇ·ñÓÐÈκθüУ¡glibc2.0.7-19ºÍ2.0.7-29 RPMÒÑÖª¿ÉÒÔ¹¤×÷¡£
ÔÚһЩ¸üÀ쵀 Linux ·Ö·¢ÉÏ£¬configure¿ÉÄܲúÉúÏóÕâÑùµÄÒ»¸ö´íÎó£º
Syntax error in sched.h. Change _P to __P in the /usr/include/sched.h file.
See the Installation chapter in the Reference Manual.
°´ÕÕ´íÎóÏûÏ¢Ëù˵µÄÈ¥×ö£¬²¢ÇÒ¸øÖ»ÓÐÒ»ÌõÏ»®ÏßµÄ_PºêÔö¼ÓÒ»¸ö¶îÍâÏ»®Ïß ('__P'), È»ºóÔÙÊÔÒ»ÊÔ¡£
ÔÚ±àÒëʱ£¬Äã¿ÉÄܵõ½Ò»Ð©¾¯¸æ£»ÏÔʾÔÚÏÂÃæµÄÄÇЩ¿ÉÒÔ±»ºöÂÔ£º
mysqld.cc -o objs-thread/mysqld.o
mysqld.cc: In function `void init_signals()':
mysqld.cc:315: warning: assignment of negative value `-1' to `long unsigned int'
mysqld.cc: In function `void * signal_hand(void *)':
mysqld.cc:346: warning: assignment of negative value `-1' to `long unsigned int'
ÔÚDebian GNU/LinuxÉÏ£¬Èç¹ûÄãÏëÒªÔÚϵͳÆô¶¯Ê±×Ô¶¯Æô¶¯MySQL£¬×öÏÂÁÐÃüÁ
shell> cp support-files/mysql.server /etc/init.d/mysql.server
shell> /usr/sbin/update-rc.d mysql.server defaults 99
mysql.server¿ÉÒÔÔÚMySQL°²×°Ä¿Â¼µÄ¡°share/mysql¡±Ä¿Â¼ÏÂÃæÕÒµ½, »òÔÚMySQLÔ´´úÂëÊ÷µÄ¡°support-files¡±Ä¿Â¼ÏÂÕÒµ½¡£
Èç¹ûmysqldÔÚËüÆô¶¯Ê±×ÜÊǺËÐÄÇãµ¹(core dump), ÎÊÌâ¿ÉÄÜÊÇÄãÓÐÒ»¸öÀϰ汾µÄ¡°/lib/libc.a¡±£¬ÖØÃüÃûËü£¬È»ºóɾ³ý¡°sql/mysqld¡±²¢ÇÒÖØÐÂmake installÔÙÊÔÒ»ÊÔ¡£Õâ¸öÎÊÌâÔÚһЩ Slackware °²×°Éϱ»±¨¸æÁË¡£ÓÐ×îа汾µÄglibcµÄRedHat 5.0Ò²ÓÐһЩÀàËÆµÄÎÊÌâ¡£¼û4.11.5.2 RedHat 5.0 ×¢ÒâÊÂÏî¡£
Èç¹ûÔÙÁ´½Ómysqldʱ£¬ÄãµÃµ½ÏÂÁдíÎó, ËüÒâζ×ÅÄãµÄ¡°libg++.a¡±Ã»ÓÐÕýÈ·°²×°£º
/usr/lib/libc.a(putc.o): In function `_IO_putc':
putc.o(.text+0x0): multiple definition of `_IO_putc'
ÏñÕâÑùÔËÐÐconfigure£¬ÄãÄܱÜÃâʹÓá°libg++.a¡±£º
shell> CXX=gcc ./configure