码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Ubuntu源码编译Mysql常见的错误


    Ubuntu源码编译Mysql常见的错误

      • Ubuntu的包管理工具
      • Ubuntu源码编译安装Mysql
      • 预编译错误
      • Unable to locate package
      • Please install the appropriate openssl developer package
      • Curses library not found. Please install appropriate package
      • Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)
      • 预编译成功
      • 补充

    由于我昨天装的版本没有debug,所以今天又卸载重装来尝试debug版本,同时也遇到了一些错误,但好在都解决了。

    下面一起来看一下这些错误吧。

    Ubuntu的包管理工具

    Ubuntu/Debian使用deb软件包来管理软件,apt-get是Ubuntu/Debian的deb软件包管理工具,它的最底层调用dpkg包管理程序,通过apt-get工具可使我们很好地解决软件包的依赖关系,apt-get会从该软件库安装各种软件包,apt-get update 更新软件包信息库。

    可能会有一个疑惑,我们不仅看到了apt-get,我们也看到了apt了,这是怎么回事呢?

    最常用的 Linux 包管理命令都被分散在了 apt-get、apt-cache 和 apt-config 这三条命令当中。

    apt命令的引入就是为了解决命令过于分散的问题,在使用 apt 命令时,用户不必再由 apt-get 转到 apt-cache 或 apt-config,而且 apt 更加结构化,并为用户提供了管理软件包所需的必要选项。

    可以简单理解为,apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。

    Centos使用的就是rpm或者yum包管理工具了,使用都大同小异,我们有时候按照别人的教程解决问题,但是我们的环境不一样,那么可以根据大方向思路来进行灵活处理。

    Ubuntu源码编译安装Mysql

    Ubuntu如何源码编译mysql请见我的上一篇文章:https://blog.csdn.net/qq_43779149/article/details/127653658?spm=1001.2014.3001.5501

    按照上述流程编译安装mysql是没有问题的,只不过预编译中间可能会存在一些包依赖的问题,所以可能又要重新去安装一下包,但有一个问题是,可能表面上说是缺少这一个包,但是实际上是缺少对应的依赖,所以就会存在一系列“我到底应该安装哪个包”的问题。

    预编译错误

    一开始预编译错误,然后才发现是缺少相应的包。

    在这里插入图片描述

    Unable to locate package

    • 首先更新软件包信息库
    sudo apt-get update
    
    • 1
    • 然后再去下载对应的包
    sudo apt install 你自己想要安装的包
    
    • 1

    如果上述不行,比如提示你缺少A,你按照上述更新后安装A仍然不行,那么可能原因是你应该安装A对应的依赖B,这就需要你花时间去找了。

    Please install the appropriate openssl developer package

    • 安装libssl-dev
    sudo apt-get install libssl-dev
    
    • 1

    在这里插入图片描述

    Curses library not found. Please install appropriate package

    • 安装libncurses-dev
    sudo apt-get install libncurses-dev
    
    • 1

    在这里插入图片描述

    Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE)

    • 安装pkg-config
    sudo apt-get install pkg-config
    
    • 1

    在这里插入图片描述

    预编译成功

    这样后再去cmake就可以啦!

    在这里插入图片描述
    接下来就去正式编译啦!

    补充

    今天试的时候,发现了确实是上次不是debug版本,蛛丝马迹如下:

    这是第一次安装的:

    在这里插入图片描述

    这是今天安装的:

    在这里插入图片描述
    所以说啊,cmake中的-DWITH_DEBUG=1是最关键的,它的作用是开启DBUG,如果忘记了就是使用的默认的,那就不能debug,那么就不能使用gdb调试呜呜呜!

    还有就是,执行cmake后看一下相应的信息,学会排查错误!!

    安装了几个小时终于好啦!!!

    • 查看mysql版本
    select version();
    
    • 1

    在这里插入图片描述

  • 相关阅读:
    使用 K3d 在 Docker 中运行 Kubernetes 集群
    界面组件DevExpress ASP.NET Core v23.1 - 进一步升级UI组件
    LeetCode每日一题(2226. Maximum Candies Allocated to K Children)
    Kubernetes CKA 模拟题解析【2022最新版】(连载001)
    Canal
    基于Python+DenseNet121算法模型实现一个图像分类识别系统案例
    论文阅读[51]通过深度学习快速识别荧光组分
    第三节课,后端登录【1】--本人
    【数据结构基础_树】Leetcode 230.二叉搜索树中第k小的元素
    MVVM项目开发(商品管理系统三)
  • 原文地址:https://blog.csdn.net/qq_43779149/article/details/127666045
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号