背景說明:
arm架構的操作系統上有很多軟件包沒有做適配,比如,依賴很多,如果想要從yum源里面安裝沒有符合安裝資格的軟件包,版本太低,不滿足環境要求沒有符合安裝資格的軟件包,這里介紹從源碼編譯生成rpm包的方法。
安裝編譯所需依賴包:
dnf install epel-release
dnf install cups cups-devel gperf gperf-devel java-11-openjdk libxslt libxslt-devel libICE-devel libSM-devel libXt-devel gtk3-devel gstreamer* fontconfig-devel gtk2 gtk2-devel gtk2-devel-docs gtk3 gtk3-devel
準備編譯所需源碼包:
wget https://ftp.kaist.ac.kr/tdf/libreoffice/src/7.5.0/libreoffice-7.5.0.1.tar.xz
wget https://ftp.kaist.ac.kr/tdf/libreoffice/src/7.5.0/libreoffice-translations-7.5.0.1.tar.xz
xz -d libreoffice-7.5.0.1.tar.xz
xz -d libreoffice-translations-7.5.0.1.tar.xz
tar -xf libreoffice-7.5.0.1.tar
tar -xf libreoffice-translations-7.5.0.1.tar
編寫配置編譯選項輸入文件:
在源代碼目錄下建立 autogen.input 文件, 在執行autogen.sh會自動加載input文件,內容如下
#安裝路徑
--prefix=/opt/libreoffice
#禁用幫助
--without-help
--without-helppack-integration
#啟用簡體中文用戶界面
--with-lang=zh-CN
#在線更新及崩潰報告功能禁用
--disable-online-update--disable-breakpad
#禁用與JUnit有關的測試
--without-junit
#啟用libreoffice內置的字體

--with-fonts
#禁用Office Development Kit。若啟用ODK,則額外需要doxygen依賴項。
--disable-odk--without-doxygen
#若編譯好之后您需要rpm (或deb)包,則需要啟用下列兩項,默認不啟用:
--enable-epm
--with-package-format=rpm
#編譯之間共享external_tarballs第三方源代碼包,為加快編譯速度,可以預先在國內鏡像下載(https://go.suokunlong.cn:88/dl/libreoffice/external_tarballs/)。
#設置--with-external-tar選項指定第三方源代碼包路徑:
--with-external-tar=
#禁用自帶java
--without-java
#需要用到firebird數據庫則要啟用,默認不啟用
--enable-firebird-sdbc
--without-system-firebird
--enable-python=internal
開始編譯:
autogen.sh && make && make install
tips:
編譯大概需要1個小時左右,取決于機器的cpu性能。
在執行.sh時,會提示缺少包,可按提示安裝。
一定要配置環境變量,不然編譯無法通過
用非root用戶編譯,或修改文件不檢測用戶權限
編譯過程中也碰到過很多,但基本都是缺少包,值得記錄的是國產化操作系統,編譯無法識別其版本報錯:
?file -7-1/////--linux-gnu.py does not exist in the
解決辦法把其文件改名即可。
參考資料:
7.2.2編譯安裝博客安裝教程