如何Oracle Linux 9.x编译安装uw-imap?

编译安装

1 前言

一个问题,一篇文章,一出故事。
本章由于需要在Oracle Linux 9.x中编译PHP imap library而整理。
由于RedHat或oracle官方不再提供uw-imap-devel或uw-imap-static,因此如果需要在Oracle Linux 9.x编译该模块则需要自行编译w-imap。
因此,本章的安装不一定完美,对于uw-imap并没有完整测试,而是只解决了PHP imap library安装所需的依赖关系,类似代替如下指令,

dnf install -y uw-imap-devel
dnf install -y uw-imap-static

或者说,解决Oracle Linux 9.x环境中编译PHP imap library的如下错误提示,

configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.
configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.

2 最佳实践

2.1 安装前的准备

2.1.1 准备编译环境

dnf -y install gcc gcc-c++ make expat-devel libtool

2.1.2 下载软件包

cd ~
wget -O imap-master.zip https://codeload.github.com/uw-imap/imap/zip/refs/heads/master

2.1.3 解压安装包

unzip imap-master.zip

2.2 编译安装

2.2.1 编译软件包

cd ~/imap-master/
make lnp

如果遇到如下错误,

osdep.c:90:10: fatal error: security/pam_appl.h: No such file or directory

你需要使用如下命令解决依赖关系,

dnf install -y pam-devel

如果遇到如下错误,

osdep.c:267:10: fatal error: x509v3.h: No such file or directory

你需要使用如下命令解决依赖关系,

dnf install -y openssl-devel

如果已经编译还是有错误提示,你需要细看编译提示,按照提示尝试如下命令协助编译找到SSL的真实路径,

ln -s /usr /usr/local/ssl

2.2.2 安装软件包

cd ~/imap-master/
make install

如果遇到如下错误提示,

make: *** No rule to make target 'install'.  Stop.

这可能是源码没有定义编译后安装的规则,你可以尝试使用如下命令安装,

mkdir /usr/include/imap
find imapd -name *.h -exec cp {}  /usr/include/imap/ \;
find c-client -name *.h -exec cp {}  /usr/include/imap/ \;
cp c-client/c-client.a /usr/lib64/libc-client.a
ln -s /usr/lib64/libc-client.a /usr/lib/
#cp imapd/imapd /usr/local/sbin/
#cp ipopd/ipop2d /usr/local/sbin/
#cp ipopd/ipop3d /usr/local/sbin/

参阅文档
====================
github
———-
https://github.com/uw-imap/imap

wiki
———-
https://en.wikipedia.org/wiki/UW_IMAP

没有评论

发表回复

Debian-Like
如何编译安装LibreDWG?

1 前言 一个问题,一篇文章,一出故事。 由于freeCAD需要依赖LibreDWG转换数据格式,于 …

PHP
如何编译安装php-fpm的模块?

1 前言 一个问题,一篇文章,一出故事。 笔者最新部署了一个PHP-FPM的环境,本章将整理如何部署 …

PHP
如何基于Oracle Linux 9.x编译安装PHP-FPM 8.x?

1 前言 一个问题,一篇文章,一出故事。 PHP-FPM可以跟Nginx配合使Nginx环境具备运行 …