從原始碼安裝perl竟然會影響後續其他軟體和依賴項的安裝?
阿新 • • 發佈:2021-02-08
安裝程式或者依賴項報錯描述與分析
1.錯誤描述
筆者準備在ubantu14.04虛擬機器上安裝opencv,輸入如下程式碼安裝opencv依賴時報錯。
sudo apt-get install build-essential libgtk2.0-dev libgtk-3-dev libavcodec-dev libavformat-dev libjpeg-dev libswscale-dev libtiff5-dev
錯誤如下: 正在處理用於 doc-base (0.10.5) 的觸發器 ... Can't locate Debian/DocBase/Common.pm in @INC (you may need to install the Debian::DocBase::Common module) (@INC contains: /usr/lib/perl5/site_perl/5.32.1/x86_64-linux /usr/lib/perl5/site_perl/5.32.1 /usr/lib/perl5/5.32.1/x86_64-linux /usr/lib/perl5/5.32.1) at /usr/sbin/install-docs line 8. BEGIN failed--compilation aborted at /usr/sbin/install-docs line 8. dpkg: 處理軟體包 doc-base (--unpack)時出錯: 子程序 已安裝 post-installation 指令碼 返回了錯誤號 2 正在處理用於 man-db (2.6.7.1-1ubuntu1) 的觸發器 ... 正在處理用於 libglib2.0-0:amd64 (2.40.2-0ubuntu1.1) 的觸發器 ... 在處理時有錯誤發生: doc-base E: Sub-process /usr/bin/dpkg returned an error code (1)
2.問題分析與解決
原因是前段時間自己安裝了新版本的perl。將perl改回原版本就沒有錯誤了!下圖是/usr/bin/中更改後的perl。更改之前perl和perl5.32.1(自己裝的新版本)是一樣的,更改之後perl和perl5.18.2(系統軟體庫中的版本)一樣。
雖治標不治本,但還算是繞過問題將安裝opencv依賴的目的達到了。希望能夠幫助遇到同樣問題的朋友們。