Mariadb源代码编译过程
从微博上看到有人提及Mariadb,搜索了一下。找到地址https://mariadb.org/,这是mysql的一个分支,由原作者维护。意在与oracle分庭抗礼,避免oracle将来毕源。
眼下版本号Mariadb 10.0.10,我下载了一个。准备编译一个64位版本号,下载地址:
https://downloads.mariadb.org/mariadb/10.0.10/
下载后用cmake编译一下试试。进入cmake图形界面,编译器选择vs12.0 win64
Warning: Bison executable not found in PATH
这是警告未安装Bison。这个软件是unix下的,windows下能够不安装。不理了。
在cmake中generate。生成相关的文件。输出选择了build文件夹:
mariadb\mariadb-10.0.10\BUILD 文件夹下一堆的东西
选all build这个cmake生成的文件试试。
编译错误。。。sql_local.cc编译错误,太常见了,与前期编译mysql官方版本号一样。
处理方式早已驾轻就熟:
1)用word打开sql_local.cc,直接保存就可以,此时文件头部,被加入了不可见字符,标示utf8编码文件;
2)改动mysql.cc文件,找到test_lc_time_sz()函数。凝视掉语句 DBUG_ASSERT(0);
这两个改动完毕后,编译成功。
编译后能够输出到install文件夹。直接运行install失败,须要一些技巧处理install
打开installproject,里面事实上是一个命令行脚本。直接copy出来做完doinstall.bat
setlocal
"C:\Program Files (x86)\CMake 2.8\bin\cmake.exe" -DBUILD_TYPE=$(Configuration) -P cmake_install.cmake
if %errorlevel% neq 0 goto :cmEnd
:cmEnd
endlocal & call :cmErrorLevel %errorlevel% & goto :cmDone
:cmErrorLevel
exit /b %1
:cmDone
if %errorlevel% neq 0 goto :VCEnd
原来是运行cmake_install.cmake
改动里面的输出文件夹为:F:\Program Files\MySQL(确实是C:\Program Files\MySQL。在C盘不太好)
直接命令行运行,发现有个宏未定义。添加:
添加了一行:
SET(CMAKE_INSTALL_CONFIG_NAME "Debug")
还有若干pdb须要手工copy,然后就install成功了。
执行试试:
F:\Program Files\MySQL\bin
mysqld --console
F:\Program Files\MySQL\bin
mysql -u root -p
已经能够创建数据库和表了。
退出。
mysqladmin -u root shutdown
好。一切正常,后面就能够继续研究MySQL了。总之。MariaDB与mysql同源,编译方法类似。没有区别。
Mariadb源代码编译过程的更多相关文章
- 3DSlicer源代码编译过程vs2008+windows xp [转]
一 下载QT源代码编译 1. 简述 在 Windows2000/xp/vista 下,安装 VS2008, QT 4.7.2 :并在 VS2008上建立 QT 的集成开发环境,利用 VS2008 ...
- Android源代码编译过程及指令
编译Android源代码分为两种情况: 1. 完整编译源码: ./mk_aliphone.sh --> 完整编译脚本 --> 6735 输入对应的编号 --> userdebug ...
- OpenSift源代码编译过程记录
本文记录了在CentOS6.5上编译Sift的开源实现OpenSift的编译过程,同一时候记录了编译过程中的几个问题. sift的理论已经有非常多了,以下会给出链接: 1.Requirements a ...
- Java源代码编译过程
编译其本质是将一种语言规范转换成另一种语言规范,即将Java语言规范转换为JVM虚拟机语言规范.结果就是.java文件到.class文件. 对于C/C++编译直接将高级语言转换为机器语言,Java ...
- Linux1.0源代码编译过程
根据源代码包中的readme文件及http://chfj007.blog.163.com/blog/static/173145044201191195856806/?suggestedreading& ...
- GCC编译过程
以下是C程序一般的编译过程: gcc的编译流程分为四个步骤,分别为:· 预处理(Pre-Processing) 对C语言进行预处理,生成*.i文件.· 编译(Compiling) 将上一步生成的*.i ...
- gcc编译过程简述
在linux系统上,从源文件到目标文件的转化是由编译器完成的.以hello.c程序的编译为例,如下: dfcao@linux: gcc -o hello hello.c 在这里,gcc编译器读取源文件 ...
- C语言的编译过程、安装gcc编译器以及设置环境变量
以我对C语言编译过程的了解,我用了一点时间画了一个图,提供给大家参考一下,希望有些能对您的问题提上帮助. 前几天刚初步学习了C语言的编译过程,感触挺深的.在C语言中头文件其实起了一个很大的作用. 1. ...
- 关于一个程序的编译过程 zkjg面试
http://blog.csdn.net/gengyichao/article/details/6544266 一 以下是C程序一般的编译过程: 从图中看到: 将编写的一个c程序(源代码 )转换成可以 ...
随机推荐
- python实现的、带GUI界面电影票房数据可视化程序
代码地址如下:http://www.demodashi.com/demo/14588.html 详细说明: Tushare是一个免费.开源的python财经数据接口包.主要实现对股票等金融数据从数据采 ...
- php替换str_replace的使用方法,支持多个替换
废话不多说,直接上代码: str_replace(['a','b','c'],'a',$str);//a或b或c都替换成a str_replace(['a','b','c'],['d','e','f' ...
- Hibernate学习备忘
1.关于Hibernate异常: org.hibernate.service.jndi.JndiException: Error parsing JNDI name 刚接触Hibernate,调试 ...
- 【LeetCode】9. Palindrome Number (2 solutions)
Palindrome Number Determine whether an integer is a palindrome. Do this without extra space. click t ...
- editplus发布3.01 Build 446 Final版(附下载及中文版)
http://www.cnblogs.com/JustinYoung/archive/2008/04/14/editplus-301.html没有什么好说的,我个人最喜欢的编辑器.除了windows和 ...
- C# 打开钱箱支持北洋、佳博、爱普生
/// <summary> /// 执行开钱箱操作 /// 没钱箱或打印机原功能都可以正常使用 /// </summary> public void ExecuteOpenCa ...
- Linux内存初始化(一)
一.前言 一直以来,我都非常着迷于两种电影拍摄手法:一种是慢镜头,将每一个细节全方位的展现给观众.另外一种就是快镜头,多半是反应一个时代的变迁,从非常长的时间段中,截取几个典型的snapshot,合成 ...
- Python log() 函数
描述 log() 方法返回x的自然对数,x > 0. 语法 以下是 log() 方法的语法: import math math.log( x ) 注意:log()是不能直接访问的,需要导入 ma ...
- HttpClient详解,Java发送Http的post、get方式请求 --待整理
http://www.cnblogs.com/loveyakamoz/archive/2011/07/21/2112804.html http://blog.csdn.net/wangpeng047/ ...
- 解决电脑需要切换IP带来的MySQL连接问题
直接上代码: import socket #获取本机电脑名 myname = socket.getfqdn(socket.gethostname( )) #获取本机ip myip = socket.g ...