转自http://www13.atwiki.jp/uhaku/pages/51.html
稍微改动了一下,编译运行mysql5.1代码
1. 安装cygwin和ncurses的库
http://www.cygwin.com/setup.exe
Install from Internet
设置目录和缓冲目录后next下去
Select Packages搜索并安装下列包:make,gcc和ncurses(依赖的会自动选中)
make: The GNU version of the 'make' utility
gcc: C compiler upgrade helper
gcc-core: C compiler
gcc-g++: C++ compiler
libncurses-devel: (devel) libraries for terminal handling
2. 下载mysql5.1的tar源码包
http://dev.mysql.com/downloads/mysql/
选择source code
mysql-5.1.50.tar.gz
3. 编译安装mysql
$ make -v
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for i686-pc-cygwin
$ gcc -v
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: /managed/gcc-build/final-v3-bootstrap/gcc-3.4.4-999/configure -
-verbose --program-suffix=-3 --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc
--libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/s
hare/info --enable-languages=c,ada,c++,d,f77,pascal,java,objc --enable-nls --wit
hout-included-gettext --enable-version-specific-runtime-libs --without-x --enabl
e-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-li
bgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registr
y --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debu
g
Thread model: posix
gcc version 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
$ cd /usr/src
$ explorer .
(拷贝mysql-5.1.50.tar.gz进去C:\cygwin\usr\src)
$ tar zxvf mysql-5.1.50.tar.gz
$ cd mysql-5.1.50
(下面步骤参考自http://www13.atwiki.jp/uhaku/pages/51.html)
$ CFLAGS="-O3 -march=i686" \
CXXFLAGS="-O3 -march=i686 -felide-constructors \
-fno-exceptions -fno-rtti" \
./configure \
--with-innodb \
--enable-local-infile \
--prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
-with-extra-charsets=all \
--with-unix-socket-path=/tmp/mysql.sock
(建议关闭360等杀毒软件,防止一些不必要的麻烦)
(如果configure过程出现cpu持续不降而无法前进,
可以在任务管理器中关闭有问题的gcc-3.exe进程)
$ make
(出现第一个错误:
readline/readline.h:70:29: sys/ttydefaults.h: No such file or directory
用notepad2或者写字板打开
C:\cygwin\usr\src\mysql-5.1.50\cmd-line-utils\libedit\readline\readline.h
把#include <sys/ttydefaults.h>注释掉
)
(出现第二个错误:
vi.c:918:74: macro "__weak_reference" requires 2 arguments, but only 1 given
参考http://www.cygwin.com/ml/cygwin/2010-01/msg01124.html的补丁
用notepad2或者写字板打开
C:\cygwin\usr\src\mysql-5.1.50\cmd-line-utils\libedit\vi.c
在
#if defined(__weak_reference) && !defined(__FreeBSD__)
前面加上
#ifdef __CYGWIN__
#undef __weak_reference
#endif
)
(漫长的编译。。。)
(如果编译过程出现cpu持续不降而无法前进,
可以Ctrl+C中断编译或结束gcc-3.exe进程然后重新执行make)
$ make install
(如果编译过程出现cpu持续不降而无法前进,
可以Ctrl+C中断编译或结束gcc-3.exe进程然后重新执行make install)
(有些步骤耗时会比较长,需要耐心等候:
make[4]: Entering directory `/usr/src/mysql-5.1.50/mysql-test'
没有回显,所以感觉会很长,可以查看任务管理器install.exe的命令行
)
$ ./scripts/mysql_install_db
$ cp support-files/my-medium.cnf /etc/my.cnf
(关闭防火墙和原有mysql服务)
$ /usr/local/mysql/bin/mysqld_safe \
--datadir=/usr/local/mysql/data \
--log-error=/var/log/mysql.log &
$ ps
(正常的话看到mysqld的存在:/usr/local/mysql/libexec/mysqld)
$ /usr/local/mysql/bin/mysqlshow -u root
+--------------------+
| Databases |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
$ /usr/local/mysql/bin/mysql -u root
mysql>status;
mysql>exit;
Bye
$ /usr/local/mysql/bin/mysqladmin -u root shutdown -h 127.0.0.1
$ ps
(现在看不到mysqld了)
4. 后记。
本来想用mingw编译,试了两次都运行时错误,看来要看着代码调试才行。
cygwin版的mysql可以像linux版那样跑起来,暂时看来没问题。
谢谢那位日本大虾的configure和建数据库的命令行参数。
我想我应该改变一下思路,想想别的hack代码的方法。
记录之以防忘记。
本文大部分内容出自http://www13.atwiki.jp/uhaku/pages/51.html
相关推荐
Cygwin是一个在Windows上模拟Linux环境的开源软件集合,它提供了许多Unix命令行工具和开发工具,使得在Windows下编译和运行像Redis这样的开源项目成为可能。在Windows 7.0.7系统中使用Cygwin编译Redis 7.0.7版本,...
5. 编译完成后,运行`make install`将编译好的VLC安装到Cygwin的适当位置。 ### 4. 支持中文文件名 为了在Cygwin中支持中文文件名,你需要修改`.inputc`和`.bash_profile`文件。创建或编辑这两个文件,添加以下内容...
后来结合网上说的让后加上自己摸索,终于可以用eclipse + NDK + Cygwin编译出so文件并且能够直接运行helloJNI程序了,现在把我的经验和大家分享,希望对大家有帮助。(想起来了,我的Cygwin是下载到本地然后安装的,...
在Windows环境下编译FFmpeg,通常会选择使用Cygwin,因为Cygwin提供了一个类Linux的环境,使得可以在Windows上运行许多原本只适用于Linux的工具和软件,包括FFmpeg的编译工具链。以下是详细步骤: 1. **安装Cygwin*...
本文将详细讲解如何在Cygwin环境下交叉编译coturn服务器,并使其在Windows系统下运行。 1. **Cygwin环境搭建** 在开始交叉编译前,你需要安装Cygwin。访问Cygwin官方网站,下载安装程序,运行后选择镜像源并安装所...
在Windows环境下,如果你需要使用Cygwin来编译MySQL客户端,这个过程可能涉及到一些特定的步骤和技巧。Cygwin是一个模拟Linux环境的工具,它允许你在Windows系统中运行类Unix命令行工具。以下是如何使用Cygwin编译...
### Cygwin与DLL编译 #### 一、Cygwin简介 Cygwin是一个在Windows平台上运行的类UNIX环境,它提供了一个强大的工具集,包括shell解释器、开发工具等,使得用户可以在Windows上使用类Unix命令行工具进行开发工作。...
1. **安装 Cygwin**:Cygwin 是一款在 Windows 上模拟 Unix 运行环境的软件,它提供了一个类 Unix 的环境和一系列工具,使得在 Windows 上开发变得更为便捷。请访问 Cygwin 官方网站下载并安装最新版本的 Cygwin,并...
本来想把编译步骤写到描述给想自己动手的人,虽然步骤是后面补的可能有些遗漏,但发现字数太多,描述放不下,只能放附件里面了。积分设置成1分应该不会过分吧,回头有空会过来看看,涨了再调回去。
cygwin mysql 安装包
cygwin下的arm交叉编译工具链,cygwin下的arm交叉编译工具链
标题:“Windows下的Linux编译环境cygwin” 描述:“一个很好用的工具,在windows环境下调试Linux下的程序,Windows下的Linux编译环境cygwin,在程序移植上很有帮助” 标签:“Windows下的Linux编译环境 cygwin” ...
本文将详细讲解如何在Windows操作系统上利用Cygwin环境来编译V8引擎。 首先,Cygwin是一款模拟Linux环境的工具,它提供了一套类UNIX命令行工具,使得开发者可以在Windows系统上进行类似Linux的开发工作。对于编译V8...
### cygwin编译linphone-android的关键步骤与注意事项 #### 一、准备工作 **1. 源代码获取** - 使用`git`从官方网站linphone.org下载完整的源代码,确保使用`--recursive`参数(原文提到的`-reverse`可能是笔误)...
在Cygwin环境下编译Pari2.6.1为静态库,意味着开发者将创建一个包含所有依赖项的单独文件,使得在Windows环境中运行Pari不需要依赖Cygwin环境或其他外部动态库。这对于那些希望在没有完整Cygwin安装的环境中运行Pari...
此版本是HAProxy 1.5.12的Windows移植版,通过Cygwin环境编译完成,使得HAProxy能够在Windows操作系统上运行。 Cygwin是一个在Windows平台上模拟Linux环境的软件集合,它提供了POSIX接口,使得可以在Windows系统上...
本文作者以自身经历为基础,详细记录了整个编译流程中的关键步骤及遇到的问题与解决方法。 #### 二、准备工作 1. **下载源代码**: - 使用Git工具从[linphone.org](https://www.linphone.org/)下载最新的Linphone...
在iperf-2.0.5-cygwin.zip压缩包中,包含了针对Cygwin环境编译的iperf程序,确保了在Windows系统下进行网络性能测试的可能性。 使用iperf,你可以执行以下测试: 1. **TCP带宽测试**:iperf可以测量TCP连接的最大...