完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
因为在Ubuntu20.04中直接使用apt安装mysql-server失败,所以想尝试使用源码编译一下,在mysql官网找源码包进行编译:
我这边选取的是8.0.30版本,boost版本为1.77,注意最好是带boost后缀的,因为boost后缀是mysql必备编译模块。 编译mysql之前需要下载两个必要的软件openssl和ncurses,我用的是openssl-1.1.1q和ncurses6.4,也是下载然后放到开发板目录下:
编译openssl和ncurses的指令非常简单,但是需要指定编译器,默认直接使用板上gcc编译器即可,将openssl的编译生成文件放到/home/openssl-1.1.1q/build/目录下:
能看到生成文件即为成功:
ncurses软件也是类似的配置,将ncurses的编译生成文件放到/home/ncurses-6.4/build/目录下:
这里需要注意,mysql-server-8.0需要同时引用ncurses库的头文件和静态链接库,所以include目录和lib目录都必须保证生成无错误:
所有前置工作完成后,真正的煎熬开始,编译mysql源码是一个冗长,令人烦躁的过程,其中不乏Cmakefiles和源代码的各种报错,但为了演示编译,还是硬着头皮上,首先是在mysql目录下mkdir生成build文件夹,然后在build文件夹内执行cmake配置操作:
执行cmake配置的过程中还有可能会遇到各种cmake内部提示的报错,都需要一一解决,像这种带IF()和ENDIF()开头的判断语句,哪里报错就屏蔽哪里:
使用arm64的编译链编译源码时,还出现了一个致命错误,arm64 GCC_LIB2.7不支持dlopen() dlsys() dlclose()三个用于加载动态链接库的函数,只要出现立马报error,在makefile立马加入-ldl进行外部库引用也不行,这个问题我至今都还解决不了,只能将dlopen() dlsys() dlclose()三个函数出现的一个文件的相应位置屏蔽,编译可以跳过报错了,但是这样子编译生成的库很有可能会出现严重错误,所以在此帖着重说明,也跟论坛的大佬们求助该问题的解决方案。 最后,受限于米尔MYD-JX8MMA7开发板的内存配置,mysql甚至无法编译成功...在编译途中就卡死,编译进程直接闪退。
|
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
基于米尔安路飞龙派FPGA FPSoC+baremetal硬核开发
708 浏览 0 评论
【米尔RK3506国产开发板评测】3、实时补丁以及EtherCAT IGH移植
1271 浏览 0 评论
10307 浏览 0 评论
36794 浏览 0 评论
【米尔NXP i.MX 91开发板评测】基于RS485接口实现modbus从机
1729 浏览 0 评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】基于ROS系统的三麦轮小车自主导航
4558浏览 2评论
【米尔NXP i.MX 93开发板试用评测】5、安装Debian和排除启动故障
1488浏览 2评论
【米尔NXP i.MX 93开发板试用评测】2、异构通信环境搭建和源码编译
1689浏览 2评论
【米尔-瑞米派兼容树莓派扩展模块-试用体验】Free RTOS应用开发环境部署
2123浏览 1评论
【米尔-Xilinx XC7A100T FPGA开发板试用】+03.SFP光口测试(zmj)
2215浏览 1评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-10 02:58 , Processed in 0.448518 second(s), Total 35, Slave 26 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1089
