小伙伴们,你们在linux系统安装软件,是怎么解决依赖问题的呢,今天安装suitecrm,一起来看一看吧!
suitecrm是一个php开发的客户管理软件,在安装suitecrm前,需要配置php开发环境,安装时发现需要几个扩展,fileinfo、intl、imap,前面两个安装很顺利,imap安装的时候就出错了,
文章插图
Linux
标准编译流程
先说一下环境 ubuntu16 php7.2.9 安装imap扩展
1. phpize2. ./configure = --with-php-config=/usr/local/php7/bin/php-config3. make && make install
修改php.ini文件,增加extension=imap下面记录一下错误信息:
错误1:
configure --with-php-config=/usr/local/php7/bin/php-config
错误信息configure: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not hAppen. Check config.log for additional information.
经过查资料,是缺少libc-client-devel模块,如果是centos,直接运行 yum -y install libc-client-devel就可以了Ubuntu下使用下面的方法安装:
apt-get install libc-client2007e-dev
install
错误2:
再次编译
configure: error: This c-client library is built with Kerberos support ,if no path is given, searches in /usr/kerberos, /usr/local and /usr .Add --with-kerberos to your configure line. Check config.log for details../configure --with-php-config=/usr/local/php7/bin/php-config --with-kerberos=/usr/kerberos
但看提示是加的选项没有作用,因为默认的路径里找不到Kerberos libraries,此原因是因为没有安装Kerberos libraries安装 apt-get install libkrb5-dev
错误3:
提示需要增加--with-imap-ssl
./configure --with-php-config=/usr/local/php7/bin/php-config --with-kerberos=/usr/kerberos --with-imap-ssl
终于成功了make && make install 安装完成
总结:
在Linux系统下,编译安装软件,解决依赖问题是程序猿面临的最大挑战,遇到问题千万不要怕,
在大部分时候,我们使用yum或apt这种系统工具,就可以解决问题,工具会给我们解决软件包依赖问题,
但少数情况,我们需要一些定制化的东西,需要自己解决依赖,自己查找和安装软件,这才是考验我们实力的时候 。
update
掌握几个原则,问题总能解决 。
1. 错误提示信息,根据提示一般就可以找到我们缺少什么
【Linux,软件安装依赖该怎么解决?】2. 多使用搜索引擎,也许很多坑别人已经踩过了
3. 平时注意积累,因为语言问题,我们接触的很多是二手信息,各大网站相互抄袭严重,有价值的不多,找来找去就那么一篇文章,
这时候就需要到国外的一些网站去寻宝了,如stackoverflow.com .
4.一旦你熟悉了其中的原理,你会发现Linux下安装比window更容易,因为window下一旦安装出了问题,基本就gg了 。
你有什么更好的经验,欢迎一起交流 。
推荐阅读
- 软件架构设计分层模型和构图思考
- CentOS7安装最新版Redis6.0.9
- 详解 Linux 虚拟机的网络通信原理
- 10 个命令快速定位 Linux 性能问题
- 使用命令行浏览器在 Linux 终端上网浏览
- 细数软件架构中的解耦
- 盘点可安装插件的路由器,实用还是噱头?
- 如何在 Linux 上检查可用的磁盘空间
- 统一操作系统UOS个人版安装体验
- 关于Linux TCP接收缓存以及接收窗口的一个细节解析