`

cygwin编译运行mysql记录

阅读更多

转自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

 

分享到:
评论

相关推荐

    redis for Windows 7.0.7 使用cygwin编译

    Cygwin是一个在Windows上模拟Linux环境的开源软件集合,它提供了许多Unix命令行工具和开发工具,使得在Windows下编译和运行像Redis这样的开源项目成为可能。在Windows 7.0.7系统中使用Cygwin编译Redis 7.0.7版本,...

    Cygwin 编译 VLC 指南.doc

    5. 编译完成后,运行`make install`将编译好的VLC安装到Cygwin的适当位置。 ### 4. 支持中文文件名 为了在Cygwin中支持中文文件名,你需要修改`.inputc`和`.bash_profile`文件。创建或编辑这两个文件,添加以下内容...

    android eclipse+NDK+Cygwin编译JNI 教程

    后来结合网上说的让后加上自己摸索,终于可以用eclipse + NDK + Cygwin编译出so文件并且能够直接运行helloJNI程序了,现在把我的经验和大家分享,希望对大家有帮助。(想起来了,我的Cygwin是下载到本地然后安装的,...

    使用Cygwin编译ffmpeg.doc

    在Windows环境下编译FFmpeg,通常会选择使用Cygwin,因为Cygwin提供了一个类Linux的环境,使得可以在Windows上运行许多原本只适用于Linux的工具和软件,包括FFmpeg的编译工具链。以下是详细步骤: 1. **安装Cygwin*...

    cygwin 交叉编译的 coturn 服务器可以在windows 下运行

    本文将详细讲解如何在Cygwin环境下交叉编译coturn服务器,并使其在Windows系统下运行。 1. **Cygwin环境搭建** 在开始交叉编译前,你需要安装Cygwin。访问Cygwin官方网站,下载安装程序,运行后选择镜像源并安装所...

    Windows下使用Cygwin编译MySQL客户端

    在Windows环境下,如果你需要使用Cygwin来编译MySQL客户端,这个过程可能涉及到一些特定的步骤和技巧。Cygwin是一个模拟Linux环境的工具,它允许你在Windows系统中运行类Unix命令行工具。以下是如何使用Cygwin编译...

    cygwin可以编译生成windows下供调用的dll

    ### Cygwin与DLL编译 #### 一、Cygwin简介 Cygwin是一个在Windows平台上运行的类UNIX环境,它提供了一个强大的工具集,包括shell解释器、开发工具等,使得用户可以在Windows上使用类Unix命令行工具进行开发工作。...

    windows下eclipse集成cygwin编译android_NDK

    1. **安装 Cygwin**:Cygwin 是一款在 Windows 上模拟 Unix 运行环境的软件,它提供了一个类 Unix 的环境和一系列工具,使得在 Windows 上开发变得更为便捷。请访问 Cygwin 官方网站下载并安装最新版本的 Cygwin,并...

    haproxy2.3.2 基于cygwin编译的window 64位版本

    本来想把编译步骤写到描述给想自己动手的人,虽然步骤是后面补的可能有些遗漏,但发现字数太多,描述放不下,只能放附件里面了。积分设置成1分应该不会过分吧,回头有空会过来看看,涨了再调回去。

    cygwin-mysql-part1(3 parts total)

    cygwin mysql 安装包

    cygwin下的arm交叉编译工具链

    cygwin下的arm交叉编译工具链,cygwin下的arm交叉编译工具链

    Windows下的Linux编译环境cygwin

    标题:“Windows下的Linux编译环境cygwin” 描述:“一个很好用的工具,在windows环境下调试Linux下的程序,Windows下的Linux编译环境cygwin,在程序移植上很有帮助” 标签:“Windows下的Linux编译环境 cygwin” ...

    配套“编译v8引擎”文章使用 cygwin

    本文将详细讲解如何在Windows操作系统上利用Cygwin环境来编译V8引擎。 首先,Cygwin是一款模拟Linux环境的工具,它提供了一套类UNIX命令行工具,使得开发者可以在Windows系统上进行类似Linux的开发工作。对于编译V8...

    cygwin编译linphone-android

    ### cygwin编译linphone-android的关键步骤与注意事项 #### 一、准备工作 **1. 源代码获取** - 使用`git`从官方网站linphone.org下载完整的源代码,确保使用`--recursive`参数(原文提到的`-reverse`可能是笔误)...

    计算代数库Pari2.6.1, Cygwin编译静态库

    在Cygwin环境下编译Pari2.6.1为静态库,意味着开发者将创建一个包含所有依赖项的单独文件,使得在Windows环境中运行Pari不需要依赖Cygwin环境或其他外部动态库。这对于那些希望在没有完整Cygwin安装的环境中运行Pari...

    HAProxy 1.5.12 windows版(通过cygwin编译)

    此版本是HAProxy 1.5.12的Windows移植版,通过Cygwin环境编译完成,使得HAProxy能够在Windows操作系统上运行。 Cygwin是一个在Windows平台上模拟Linux环境的软件集合,它提供了POSIX接口,使得可以在Windows系统上...

    linphone-android 在cygwin下的编译

    本文作者以自身经历为基础,详细记录了整个编译流程中的关键步骤及遇到的问题与解决方法。 #### 二、准备工作 1. **下载源代码**: - 使用Git工具从[linphone.org](https://www.linphone.org/)下载最新的Linphone...

    iperf-2.0.5-cygwin.zip

    在iperf-2.0.5-cygwin.zip压缩包中,包含了针对Cygwin环境编译的iperf程序,确保了在Windows系统下进行网络性能测试的可能性。 使用iperf,你可以执行以下测试: 1. **TCP带宽测试**:iperf可以测量TCP连接的最大...

Global site tag (gtag.js) - Google Analytics