扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
如果你有编译问题并安装了DECCC
和gcc
,尝试这样运行configure
:
shell> CC=cc CFLAGS=-O CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql
如果你得到“c_asm.h”文件的问题,你可以创建并使用一个“哑(dummy)”“c_asm.h”文件:
shell> touch include/c_asm.h shell> CC=gcc CFLAGS=-I./include \ CXX=gcc CXXFLAGS=-O3 \ ./configure --prefix=/usr/local/mysql
在OSF1 V4.0D和编译器"DEC C V5.6-071 on Digital UNIX V4.0 (Rev. 878)" 上,编译器有了一些奇怪的行为(未定义asm
标志)。/bin/ld
好象也被破坏(当链接mysqld
时,发生_exit undefined
问题)。在这个系统上,从OSF 4.0C的版本替换了/bin/ld
后,我们设法用下列configure
命令行编译MySQL,:
shell> CC=gcc CXX=gcc CXXFLAGS=-O3 ./configure --prefix=/usr/local/mysql
用Digital编译器“C++ V6.1-029”,下列命令应该工作:
CC=cc -pthread CFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all -arch host CXX=cxx -pthread CXXFLAGS=-O4 -ansi_alias -ansi_args -fast -inline speed -speculate all -arch host export CC CFLAGS CXX CXXFLAGS ./configure --prefix=/usr/mysql/mysql --with-low-memory --enable-large-files \ --with-mysqld-ldflags=-all-static --disable-shared --with-named-thread-libs="-lmach -lexc -lc"
在OSF1的某些版本中,alloca()
函数被破坏,通过删除定义'HAVE_ALLOCA'
的“config.h”的行更正它。
alloca()
函数也可能在/usr/include/alloca.h
里面有一个不正确的原型,源于此的警告可以忽略。
configure
将自动地使用下列线程库: --with-named-thread-libs="-lpthread -lmach -lexc -lc"
。
当使用gcc
时,你也可以试试这样运行configure
:
shell> CFLAGS=-D_PTHREAD_USE_D4 CXX=gcc CXXFLAGS=-O3 ./configure ……
如果你的信号有问题(MySQL出人意料地在高负载下死掉),你可能找到了一个线程和信号有关的OS错误。在这种情况下,你可以告诉MySQL如下配置以不使用信号:
shell> CFLAGS=-DDONT_USE_THR_ALARM \ CXXFLAGS=-DDONT_USE_THR_ALARM \ ./configure ...
这不影响MySQL性能,但是有负面效应,就是你不能用mysqladmin kill
或mysqladmin shutdown
杀死在一个连接上“睡眠”的客户。相反,当客户发出下一个命令时,它将死掉。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者