完善资料让更多小伙伴认识你,还能领取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甚至无法编译成功...在编译途中就卡死,编译进程直接闪退。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
【米尔-瑞米派兼容树莓派扩展模块-试用体验】基于ROS系统的三麦轮小车自主导航
353 浏览 0 评论
329 浏览 0 评论
【米尔-芯驰D9360商显板试用评测】使用ffmpeg实现远程视频监控
828 浏览 0 评论
754 浏览 0 评论
【米尔-芯驰D9360商显板试用评测】成功解决QCamera的模块调用,并编写简单的查找摄像头程序
712 浏览 0 评论
【米尔MYD-YT507开发板试用体验】+5.外接电视,汽车仪表盘演示
25225浏览 2评论
【米尔-芯驰D9开发板- 国产平台试用】- 03- 外设接口测试-U盘、485总线
6278浏览 1评论
19934浏览 1评论
【米尔MYD-YT507开发板试用体验】米尔MYD-YT507开发板初体验
19710浏览 1评论
【米尔MYD-YT507开发板试用体验】Ubuntu的xfce桌面环境建立及远程穿透访问家中米尔MYD-YT507开发板
21134浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-19 15:53 , Processed in 0.629867 second(s), Total 59, Slave 48 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号