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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • excel怎么赋值0和1_如何用excel自动赋值

    excel怎么赋值0和1_如何用excel自动赋值getCell 获取列 需要用 createCell获取即可。导出报表时,明明是有数据的可就是报空指针异常。排查后发下报表表格没内容时不能用。

    2022年8月19日
    6
  • 各大OJ刷题平台汇总

    前言想成为一名高级工程师,算法还是要有的,至少在入门编程和进入公司之前都是必备的。刷题也可以很好的锻炼动手能力和逻辑思维,今天就给大家介绍一些知名的在线刷题平台,都是干货哦!力扣(leetcode)江湖人尽皆知的站点,全球知名的编程平台!总部在美国旧金山的硅谷,创办与2011年,2018年进入中国,并推出付费服务,19年推出力扣App。力扣为全球程序员提供了专业的IT技术职业化提升平台,有效帮助程序员实现快速进步和长期成长(度说)。特点:支持c++,c,java,python,Rust,kot

    2022年4月4日
    1.0K
  • 大唐电信提交两项大数据与云计算标准在ITU-T获立项

    大唐电信提交两项大数据与云计算标准在ITU-T获立项

    2022年4月2日
    39
  • 年度总结与来年计划_2016年一2021的工作总结

    年度总结与来年计划_2016年一2021的工作总结  光阴似箭,日月如梭!眨眼间已到年底,今年感慨颇丰,获益良多。因为我认为努力了就肯定会有收获,哪怕是收获那一滴滴辛勤的汗水。  我在公司任务轻松时,加了些前端群(重点推荐豪情群),在群里分享技术以及生活的点滴,同时认识了一些志同道合的朋友。有大牛建议我体验一番分享的乐趣,于是我下下半年开始写博。虽质量不高,但其中的乐趣博友们应该都能感受到。写完每篇博文后,我都能体会到了在这个浮躁的时代我平静…

    2022年9月3日
    1
  • PyCharm 教程(五)断点 调试[通俗易懂]

    PyCharm 教程(五)断点 调试[通俗易懂]PyCharm作为IDE,断点调试是必须有的功能。否则,我们还真不如用纯编辑器写的快。【运行】和【调试】前的设置,详见前面的文章,helloword。1,设置断点在代码前面,行号的后面,鼠标单击,就可以设置断点。如下:2,调试断点点击那个绿色的甲虫图标(似乎甲虫已经成为debug专用图标了),进行断点调试。点击后,会运行到第一个断

    2022年5月21日
    27
  • Eclipse plugin插件开发 NoClassDefFoundError

    Eclipse plugin插件开发 NoClassDefFoundError

    2021年9月3日
    69

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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