如何在本地编译安装minicom?编译阶段常见报错排查方案
编译报错根因
configure阶段的三处报错均为缺失构建依赖导致,和源码本身无关:
PKG_PROG_PKG_CONFIG: command not found是系统未安装pkg-config/pkgconf工具,该工具是autotools构建体系检测依赖库的核心组件,缺失会直接导致后续依赖检测逻辑失效- 后续
PKG_CHECK_MODULES(LOCKDEV, lockdev,相关语法错误,是pkg-config缺失引发的连锁报错,同时系统也未安装lockdev的开发头文件包 - 执行make提示找不到Makefile,是因为configure运行失败,根本没有生成对应的编译配置文件,自然无法执行编译流程
完整编译操作步骤
1. 先装全所有编译依赖
根据你用的发行版执行对应命令安装依赖:
- Debian/Ubuntu 系:
sudo apt install build-essential autoconf automake libtool pkg-config liblockdev-dev gettext
- Fedora/RHEL/CentOS 系:
sudo dnf install @development-tools autoconf automake libtool pkgconf lockdev-devel gettext
- Arch Linux 系:
sudo pacman -S base-devel autoconf automake libtool pkgconf lockdev gettext
如果你的发行版源里找不到lockdev开发包(比如部分高版本Ubuntu),后续configure阶段加
--disable-lockdev参数跳过该依赖即可,不会影响minicom核心的串口通信功能。
2. 清理之前失败的构建缓存
进入拉取的minicom源码根目录,执行以下命令清理之前生成的残次构建文件,避免缓存干扰后续流程:
make distclean || true ./autogen.sh clean || true
3. 重新生成构建配置
首先重新执行autogen.sh生成全新的configure脚本:
./autogen.sh
脚本执行无报错后,运行configure生成Makefile:
- 已安装lockdev开发包的情况:
./configure --prefix=/usr/local
- 未安装lockdev开发包的情况:
./configure --prefix=/usr/local --disable-lockdev
--prefix=/usr/local是指定安装路径,该路径是Linux系统默认的用户自编译软件存放路径,不会和包管理器安装的系统文件产生冲突
configure执行到最后会输出配置总结,确认没有报错、lockdev等功能状态和你预期一致再进行下一步,正常的总结输出类似:
minicom configuration: version: 2.8 prefix: /usr/local compiler: gcc lockdev support: yes nls support: yes
4. 编译并安装
执行编译命令,-j$(nproc)参数会自动匹配CPU核心数并行编译,大幅加快编译速度:
make -j$(nproc)
编译无报错后,执行安装命令将编译好的二进制、配置文件、man手册复制到之前指定的安装路径:
sudo make install
5. 安装验证
执行以下命令验证安装结果:
minicom --version
如果正常输出版本号就说明安装成功,首次使用可以执行sudo minicom -s进入配置菜单,设置串口波特率、流控、端口号等参数。
常见问题处理
- 运行minicom时提示串口无访问权限:执行
sudo usermod -aG dialout 你的当前用户名,注销重新登录后即可生效,不需要每次用sudo启动minicom - 如果之前通过系统包管理器装过旧版本minicom,先执行对应发行版的卸载命令删掉旧版本,避免路径优先级问题导致启动的是旧版本程序
- 后续需要卸载自编译的minicom时,只需要回到源码目录执行
sudo make uninstall即可
内容的提问来源于stack exchange,提问作者Lysapala
相关产品推荐
相关产品推荐

