Mariadb源代码编译过程

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同源,编译方法类似。没有区别。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108247.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 汇编指令(四)移位指令

    汇编指令(四)移位指令学习概要格式移位指令主要分四种一、逻辑移位指令1.逻辑左移指令SHL2.逻辑右移指令SHR3.逻辑移位指令的功能二、算术移位指令1.算术左移指令SAL2.算术右移指令SAR最高位不变的意思就是,最高位原来是1(0),右移过后最高位就补1(0)。3.算术移位指令的功能三、循环移位指令1.循环左移指令ROL2.循环右移指令ROR四、带进位的循环移位指令1.带进位的循环左移指令RCL2.带进位的循环右移指令移位指令对标志位的影响1

  • java判断字符串是否为空的方法总结

    方法一:本人推荐的方法,开发中最常用的方法,看起来也比较高大上:  if(StringUtils.isNotBlank(str))//判断字符串不为空  或if(StringUtils.isBlank(str))//判断字符串为空12方法二:比价简单直接的方法  if(s==null||"".equals(s));1方法三:比较字符串长度,效率高,比较绕:…

  • net 开源「建议收藏」

    net 开源「建议收藏」开源GIS项目NASAWorldWindNASAWorldWind是使用.NET开发的一个Windows窗体系统,以地球外观看得角度提供全球定位功能,类似于GoogleEarth。它结合了美国国家航空航天局(NASA)从卫星拍摄的图像,这些图像应用于BlueMarble,Landsat7,SRTM,MODIS以及其它更多的地方。链接:http://www.worldw

  • 短信验证

    短信验证

  • 正确的-配置Tomcat环境变量

    正确的-配置Tomcat环境变量跟着配就完事,超级正确

  • 中国十佳IT外包企业排行榜「建议收藏」

    中国十佳IT外包企业排行榜「建议收藏」“东软”集团股份有限公司在众多外包厂商还在为利润率达到15%而挣扎时,东软早已轻松迈上了20%的利润率大关。从甲方转向乙方的背景,A股的融资渠道,多年的本土运营关系,都成为助推东软快速成长的有力因素。东软是中国最大的离岸软件外包提供商。作为一家以软件技术为核心的公司,东软通过开放式创新、卓越运营管理、人力资源发展等战略的实施,全面构造公司的核心竞争力,创造客户和社会的价值,从而实现技术的价值。东软…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号