小伙伴們,你們在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了。
你有什么更好的經驗,歡迎一起交流。