小伙伴们,你们在linux系统安装软件,是怎么解决依赖问题的呢,今天安装suitecrm,一起来看一看吧!
suitecrm是一个php开发的客户管理软件,在安装suitecrm前,需要配置php开发环境,安装时发现需要几个扩展,fileinfo、intl、imap,前面两个安装很顺利,imap安装的时候就出错了,
Linux
标准编译流程
先说一下环境 ubuntu16 php7.2.9 安装imap扩展
1. phpize
2. ./configure = --with-php-config=/usr/local/php7/bin/php-config
3. 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. 错误提示信息,根据提示一般就可以找到我们缺少什么
2. 多使用搜索引擎,也许很多坑别人已经踩过了
3. 平时注意积累,因为语言问题,我们接触的很多是二手信息,各大网站相互抄袭严重,有价值的不多,找来找去就那么一篇文章,
这时候就需要到国外的一些网站去寻宝了,如stackoverflow.com .
4.一旦你熟悉了其中的原理,你会发现Linux下安装比window更容易,因为window下一旦安装出了问题,基本就gg了。
你有什么更好的经验,欢迎一起交流。