CentOS 8 ARM 源码编译libreoffice并生成rpm包 —— 筑梦之路
2023-09-14 09:15:59 时间
背景说明:
arm架构的操作系统上有很多软件包没有做适配,比如libreoffice,依赖很多,如果想要从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性能。
在执行autogen.sh时,会提示缺少包,可按提示安装。
一定要配置JAVA_HOME环境变量,不然编译无法通过
用非root用户编译,或修改Makefile文件不检测用户权限
编译过程中也碰到过很多,但基本都是缺少包,值得记录的是国产化操作系统,编译无法识别其版本报错:
file libreoffice-7-1/workdir/UnpackedTarball/python3/LO_lib/_sysconfigdata__linux_aarch64-unknown-linux-gnu.py does not exist in the tarball
解决办法把其文件改名即可。
参考资料:
相关文章
- 移动文件到文件夹 linux_centos移动文件
- centos安装教程详解_ensp详细安装步骤
- Centos安装Redis
- 将一个CentOS环境复制到另一个CentOS
- xshell7怎么连接虚拟机_centos ssh
- centos 7 源码安装openssh的方法
- centos与debian网卡详解程序员
- centos 7.5 部署varnish缓存服务器功能
- 查看CentOS版本:Linux解决方案(linux查看centos版本)
- 安装CentOS使用Yum安装Redis(redisyum)
- CentOS Kmods特别兴趣小组已经成立 应对老旧设备支持不善的问题
- CentOS安装Oracle数据库的步骤(centos安装oracle)
- 的关系Centos与Linux的同一路——开放的未来(centos与linux)
- 如何在CentOS 8上使用Easy-RSA 3安装OpenVPN服务器和客户端
- 如何在CentOS 8上安装Ruby on Rails
- 如何使用 yum-cron 自动更新 RHEL/CentOS Linux
- 如何在 CentOS 8/RHEL 8 上安装 Ansible(自动化工具)
- 阿里云发布 Anolis OS,欲替代 CentOS
- CentOS安装MySQL 解决复杂数据库问题(centos安装mysql)
- 如何通过CentOS快速启动MySQL(centos启动mysql)
- 怎么安装CentOS下MySQL的安装教程(centos里mysql)
- CentOS系统如何连接MySQL数据库(centos连mysql)
- Centos下安装MySQL简易指南(centos选mysql)
- CentOS下搭建MySQL环境小贴士(centos下mysql)
- 配置CentOS下MySQL安装与配置指南(centos中mysql)
- ARM平台编译MySQL源码一步一步操作指南(arm源码编译mysql)
- Linux+php+apache+oracle环境搭建之CentOS下源码编译安装PHP