39. Office Programs
本章是一个用于查看或编辑办公文档的程序集合。有些人专门做一件事(如文字处理或操作电子表格)。LibreOffice是一套程序,可以处理许多不同的格式,包括powerpoint演示文稿。
39.1 AbiWord-3.0.5
简介AbiWord
AbiWord是一款文字处理软件,用于撰写报告、信件和其他格式化文件。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://www.abisource.com/downloads/abiword/3.0.5/source/abiword-3.0.5.tar.gz
-
下载 MD5 校验和: a8f218b711450e4ccae43a0522e0e806
-
下载大小: 11 MB
-
预计磁盘所需空间: 690 MB, 含文档(已安装76 MB)
-
预计构建时间: 2.4 SBU (使用并行数=4, 含文档)
额外下载
-
AbiWord 文档: https://www.abisource.com/downloads/abiword/3.0.2/source/abiword-docs-3.0.2.tar.gz
-
AbiWord 文档 MD5 校验和: c92c0e1e2081db20757231a53d80c338
-
AbiWord 文档尺寸: 1.5 MB
AbiWord 依赖
必要
Boost-1.81.0, cURL-7.88.1, FriBidi-1.0.12, GOffice-0.10.55, 和 wv-1.2.9
推荐
可选
dbus-glib-0.112, evolution-data-server-3.46.4, gobject-introspection-1.74.0, libchamplain-0.12.21, libgcrypt-1.10.1, libical-3.0.16, libsoup-2.74.3, Redland-1.0.17, telepathy-glib-0.24.2, Valgrind-3.20.0. Aiksaurus, GtkMathView, libwmf, libwpd, libwpg, libwps, Link Grammar Parser, Loudmouth, OTS, 和 Psiconv
注意
要启用许多可选依赖项,请查看./configure –help中的信息,了解必须传递给configure脚本的必要开关。
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/abiword
安装AbiWord
运行以下命令安装AbiWord:
sed -e "s/free_suggestions/free_string_list/" \
-e "s/_to_personal//" \
-e "s/in_session/added/" \
-i src/af/xap/xp/enchant_checker.cpp &&
./configure --prefix=/usr &&
make
这个程序没有附带功能测试套件。
现在,作为root用户:
make install
注意
为了安装本地帮助文件,建议使用图形会话。
如果您希望安装本地帮助文件,请先解压缩并构建它们:
注意
文档的当前版本扩展为abiword-docs-3.0.1,而不是预期的abiword-docs-3.0.2。
tar -xf ../abiword-docs-3.0.2.tar.gz &&
cd abiword-docs-3.0.1 &&
./configure --prefix=/usr &&
make
然后,作为root用户:
make install
命令解释
sed …: 此命令更正依赖项enchant-2.3.3中的更改。
--enable-plugins="collab openxml goffice grammar": 构建部分或全部插件。openxml插件使Abiword能够打开一些.docx文件。语法插件需要Link Grammar Parser。
配置 AbiWord
配置文件
~/.AbiSuite/templates/normal.awt
配置信息
从以下命令生成的列表中选择适合您的语言和地区的模板:
ls /usr/share/abiword-3.0/templates
创建文件夹~/.AbiSuite/templates,然后复制你想要的normal.awt进去:
install -v -m750 -d ~/.AbiSuite/templates &&
install -v -m640 /usr/share/abiword-3.0/templates/normal.awt-<lang> \
~/.AbiSuite/templates/normal.awt
使用上述命令更改<lang>,使其适合所需的文件名。
如果您使用多种语言,您可能需要编辑模板以使用具有更大覆盖范围的字体(例如Dejavu fonts),因为Abiword不使用fontconfig,并且只能显示在所选字体中提供的字形。
如果您安装了desktop-file-utils-0.26,您应该运行update-desktop-database命令来更新mimeinfo缓存并允许帮助系统工作。
如果您已经安装了xdg-utils-1.1.3,您应该运行xdg-icon-resource forceupdate –theme hicolor命令,以便安装的图标显示在菜单项中。
内容
安装程序: abiword
安装库: libabiword-3.0.so
安装目录: /usr/include/abiword-3.0, /usr/lib/abiword-3.0, 和 /usr/share/abiword-3.0
简要描述
abiword 是文字处理器,是libabiword-3.0中函数的包装器-它也可以在命令行上使用,参见man 1 abiword。
libabiword-3.0.so 提供访问MS Word文档的功能。
39.2 Gnumeric-1.12.55
简介Gnumeric
Gnumeric包包含一个对数学分析有用的电子表格程序。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
下载 (HTTP): https://download.gnome.org/sources/gnumeric/1.12/gnumeric-1.12.55.tar.xz
-
下载 (FTP): ftp://ftp.acc.umu.se/pub/gnome/sources/gnumeric/1.12/gnumeric-1.12.55.tar.xz
-
下载 MD5 校验和: 76ab216b25c48b4f5fbf05f73e1ca7d9
-
下载大小: 17 MB
-
预计磁盘所需空间: 243 MB (添加4 MB用于测试)
-
预计构建时间: 0.7 SBU (使用并行数=4;添加3.6 SBU用于测试)
Gnumeric 依赖
必要
GOffice-0.10.55 和 itstool-2.0.7
推荐 (运行时)
一个图标主题,如 adwaita-icon-theme-43, oxygen-icons5-5.103.0, 或 gnome-icon-theme-3.12.0, a graphical environment, 和 Yelp-42.2 用于内置帮助功能。
可选
DConf-0.40.0 (以防止一些测试失败), gobject-introspection-1.74.0, PyGObject-3.42.2, Valgrind-3.20.0 (用于一些测试), dblatex (用于 PDF 文档), libgda, Mono, pxlib, 和 Psiconv
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gnumeric
安装Gnumeric
运行以下命令安装Gnumeric:
./configure --prefix=/usr &&
make
这个包必须在测试套件运行之前安装。
现在,作为root用户:
make install
要运行测试,发出make check。测试应该在一个活动的X会话中运行,并且应该安装DConf-0.40.0以防止出现一些故障。已知有三个与valgrind相关的测试失败。
命令解释
--enable-pdfdocs: 如果您安装了dblatex并希望创建PDF文档,请使用此开关。
内容
安装程序: gnumeric (符号链接), gnumeric-1.12.55, ssconvert, ssdiff, ssgrep, 和 ssindex
安装库: libspreadsheet.so
安装目录: /usr/include/libspreadsheet-1.12, /usr/lib/gnumeric, /usr/lib/goffice/0.10/plugins/gnumeric, /usr/share/gnumeric, 和 /usr/share/help/{C,cs,de,es}/gnumeric
简要描述
gnumeric 是指向gnumeric-1.12.55的符号链接。
gnumeric-1.12.55 是GNOME的电子表格应用程序。
ssconvert 是一个命令行实用程序,用于在各种电子表格文件格式之间转换电子表格文件。
ssdiff 是比较两个电子表格的命令行实用程序。
ssgrep 是一个命令行实用程序,用于搜索电子表格中的字符串。
ssindex 是一个命令行实用程序,用于为电子表格文件生成索引数据。
libspreadsheet.so 包含gnumeric API函数。
39.3 LibreOffice-7.5.0
简介LibreOffice
LibreOffice是一个功能齐全的办公套件。它在很大程度上与微软Office兼容,是OpenOffice.org的衍生产品。
已知此包可以使用LFS 11.3平台进行构建并正常工作。
包信息
-
核心下载: https://download.documentfoundation.org/libreoffice/src/7.5.0/libreoffice-7.5.0.3.tar.xz
-
核心下载 MD5 校验和: 3e7066685b3e786af93ec581ca377496
-
核心下载大小: 254 MB
-
预计磁盘所需空间: 7.1 GB,包括在构建期间下载的附加文件(已安装748 MB)。安装整套语言需要超过25 GB(大约安装了3 GB)
-
预计构建时间: 并行数=4,48 SBU(将根据下载时间而变化)
额外下载
注意
在构建过程中,将下载大约80个小型tarball和zip文件。下载时间将随本地网速和服务器负载而变化。在光纤连接下,下载时间大约是3毫秒,在ADSL连接上可能不会超过10毫秒。如果您没有下载以下一个或多个,它们也将在构建期间下载。
-
字典 MD5 校验和: 92eb0d4314f80097bcc9c42cd209c4b7
-
字典大小: 50 MB
-
帮助文件: https://download.documentfoundation.org/libreoffice/src/7.5.0/libreoffice-help-7.5.0.3.tar.xz
-
帮助文件 MD5 校验和: 0a9ecec80eedd5c01c7b92281f4e4f1a
-
帮助文件大小: 159 MB
-
翻译 MD5 校验和: 52cf1d0f987e4a5dd559dd45ac23fb91
-
翻译大小: 195 MB
LibreOffice 依赖
必要
Archive-Zip-1.68, UnZip-6.0, Wget-1.21.3, Which-2.21, 和 Zip-3.0
推荐
注意
推荐使用这些包中的大多数,因为如果没有安装它们,构建过程将编译并安装自己的(通常是较旧的)版本,其副作用是增加构建和安装的磁盘空间和构建时间。
apache-ant-1.10.13, Boost-1.81.0, CLucene-2.3.3.4, Cups-2.4.2, cURL-7.88.1, dbus-glib-0.112, libepoxy-1.5.10, libjpeg-turbo-2.1.5.1, LLVM-15.0.7 (使用skia渲染时首选Clang), GLM-0.9.9.8, GLU-9.0.2, GPGME-1.18.0, Graphite2-1.3.14, gst-plugins-base-1.22.0, GTK+-3.24.36, HarfBuzz-7.0.0, ICU-72.1, libatomic_ops-7.6.14, Little CMS-2.14, librsvg-2.54.5, libtiff-4.5.0, libwebp-1.3.0, libxml2-2.10.3 和 libxslt-1.1.37, lxml-4.9.2, Mesa-22.3.5, nss-3.88.1, OpenLDAP-2.6.4 (如果连接到LDAP服务器), Poppler-23.02.0, PostgreSQL-15.2, Redland-1.0.17, 和 unixODBC-2.3.11
可选
Avahi-0.8, BlueZ-5.66, DConf-0.40.0, desktop-file-utils-0.26, Doxygen-1.9.6 (not relevant if using –disable-odk), evolution-data-server-3.46.4, GDB-13.1, GnuTLS-3.8.0, KDE Frameworks-5.103.0, libpaper-1.1.24+nmu5, MariaDB-10.6.12 或 MySQL, MIT Kerberos V5-1.20.1, NASM-2.16.01, SANE-1.0.32, telepathy-glib-0.24.2, Valgrind-3.20.0, VLC-3.0.18, Apache Commons Codec, Apache Commons HttpClient, Apache Commons Lang, Apache Commons Logging, BeanShell, box2d, CoinMP, Cppunit, Firebird, glyphy, Gnome VFS, hamcrest, Hunspell, Hyphen, iwyu, junit4, libabw, libcdr, libcmis, libebook, libepubgen, libetonyek, libexttextcat, libfreehand, liblangtag, libmspub, libmwaw, libnumbertext, libodfgen, libpagemaker, libqrcodegen, libqxp, librevenge (WordPerfect Document importer), libstaroffice, libvisio, libwpd, libwpg, libwps, libzmf, lp_solve, mdds, MyThes, odfvalidator, officeotron, OpenCOLLADA, Orcus, SystemTap, 和 VIGRA
这里没有列出许多可选的依赖项。它们可以在“download.lst”(源目录)中找到。
用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libreoffice
安装LibreOffice
重要
与其他包不同的是,我们假设您还没有打开这个包。这是因为如果您以root用户解包,则需要使用--no-overwrite-dir开关。
tar -xf libreoffice-7.5.0.3.tar.xz --no-overwrite-dir &&
cd libreoffice-7.5.0.3
如果你已经下载了字典,帮助和翻译tarball,从源目录创建符号链接到它们,这样它们就不会被再次下载:
install -dm755 external/tarballs &&
ln -sv ../../../libreoffice-dictionaries-7.5.0.3.tar.xz external/tarballs/ &&
ln -sv ../../../libreoffice-help-7.5.0.3.tar.xz external/tarballs/ &&
ln -sv ../../../libreoffice-translations-7.5.0.3.tar.xz external/tarballs/
包中的指令将一些tarball解包到以后找不到的位置。创建一些符号链接来帮助:
ln -sv src/libreoffice-help-7.5.0.3/helpcontent2/ &&
ln -sv src/libreoffice-dictionaries-7.5.0.3/dictionaries/ &&
ln -sv src/libreoffice-translations-7.5.0.3/translations/
注意
在构建过程中,如果系统上不存在某些包,则将下载它们(包括推荐的和可选的依赖项)。因此,构建时间与发布时间之间的差异可能比平时更大。
由于软件包的大小,您可能更喜欢将其安装在/opt而不是/usr中。根据您的选择,将<PREFIX>替换为/usr或/opt/libreoffice-7.5.0.3:
export LO_PREFIX=<PREFIX>
区域设置“fr”和“en-GB”,你会在下面发现,只是例子;您应该更改它们以适应您的需要—在继续之前,您可能需要阅读下面的“命令解释”。
注意
如果您将ACLOCAL环境变量设置为支持在/opt中安装Xorg,则需要取消此包的设置。
如果在32位机器上构建,CFLAGS被设置为-Os,这会破坏构建。通过发出以下命令来防止这种情况:
case $(uname -m) in
i?86) sed /-Os/d -i solenv/gbuild/platform/LINUX_INTEL_GCC.mk ;;
esac
最新版本的GPGME由于库更改而破坏了配置。通过设置以下变量来修复它:
export ac_cv_lib_gpgmepp_progress_callback=yes
运行以下命令准备对LibreOffice进行编译:
sed -e "/gzip -f/d" \
-e "s|.1.gz|.1|g" \
-i bin/distro-install-desktop-integration &&
sed -e "/distro-install-file-lists/d" -i Makefile.in &&
./autogen.sh --prefix=$LO_PREFIX \
--sysconfdir=/etc \
--with-vendor=BLFS \
--with-lang='fr en-GB' \
--with-help \
--with-myspell-dicts \
--without-junit \
--without-system-dicts \
--disable-dconf \
--disable-odk \
--enable-release-build=yes \
--enable-python=system \
--with-jdk-home=/opt/jdk \
--with-system-boost \
--with-system-clucene \
--with-system-curl \
--with-system-epoxy \
--with-system-expat \
--with-system-glm \
--with-system-gpgmepp \
--with-system-graphite \
--with-system-harfbuzz \
--with-system-icu \
--with-system-jpeg \
--with-system-lcms2 \
--with-system-libatomic_ops \
--with-system-libpng \
--with-system-libxml \
--with-system-nss \
--with-system-odbc \
--with-system-openldap \
--with-system-openssl \
--with-system-poppler \
--with-system-postgresql \
--with-system-redland \
--with-system-libtiff \
--with-system-libwebp \
--with-system-zlib
构建包:
make build
现在,作为root用户:
make distro-pack-install
如果安装在/opt/libreoffice-7.5.0.3中,则需要执行一些额外的步骤。以root用户发出以下命令:
if [ "$LO_PREFIX" != "/usr" ]; then
# This symlink is necessary for the desktop menu entries
ln -svf $LO_PREFIX/lib/libreoffice/program/soffice /usr/bin/libreoffice &&
# Set up a generic location independent of version number
ln -sfv libreoffice-7.5.0.3 /opt/libreoffice
# Icons
mkdir -vp /usr/share/pixmaps
for i in $LO_PREFIX/share/icons/hicolor/32x32/apps/*; do
ln -svf $i /usr/share/pixmaps
done &&
# Desktop menu entries
for i in $LO_PREFIX/lib/libreoffice/share/xdg/*; do
ln -svf $i /usr/share/applications/libreoffice-$(basename $i)
done &&
# Man pages
for i in $LO_PREFIX/share/man/man1/*; do
ln -svf $i /usr/share/man/man1/
done
unset i
fi
如果你已经安装了desktop-file-utils-0.26,并且你希望更新MIME数据库,issue,作为root用户:
update-desktop-database
套件和主要模块可以从菜单中启动。在终端上,可以分别使用libreoffice命令和libreoffice –<module>命令启动该套件,其中<module>是base、calc、draw、impress、math、web或writer中的一种。如果LO_PREFIX不是/usr,模块不能使用它们的shell启动脚本名称启动(参见下面的”Installed Programs”),除非$LO_PREFIX/bin目录被附加到PATH。
命令解释
sed -e …: 第一个sed防止压缩手册页,第二个sed防止安装失败。
--with-vendor=BLFS: 此开关将BLFS设置为当您从工具栏上的帮助菜单中单击“关于”时提到的供应商。
--with-lang='fr en-GB': 此开关设置要支持的语言。要列出几种语言,请用空格分隔。对于所有语言,使用--with-lang=ALL。请注意,如果只使用en-US作为语言,则不需要下载翻译文件。
注意
有关可用语言的列表,请查看solenv/inc/langlist.mk。
--with-help: 如果没有此开关,则不会构建帮助文件。
--with-jdk-home=/opt/jdk: 该参数将关闭configure脚本试图自动查找JAVA_HOME的警告(即使该警告在环境中传递)。如果禁用了java,则省略此选项。
--with-myspell-dicts: 此开关将myspell字典添加到LibreOffice 安装集 内。
--with-system-boost: 此开关启用使用系统升压。最近的boost版本时不时会破坏libreoffice的构建。在这种情况下,可以通过删除此标志来使用boost的捆绑副本。
--disable-dconf: 此开关禁用编译LibreOffice与GNOME DConf系统支持。
--without-junit: 此开关禁用用Java编写的已弃用HSQLDB驱动程序的测试。
--without-system-dicts: 此开关禁用从系统路径使用字典,以便使用此包安装的字典。
--disable-odk: 此开关禁止安装office开发套件。如果您想开发基于LibreOffice的应用程序,请删除该选项。
--enable-release-build=yes: 此开关启用发布构建。LibreOffice可以构建为发布版本或开发版本,因为它们的默认安装路径和用户配置文件路径是不同的。Developer Build会在几个地方显示“Dev”和“Beta”字样(例如菜单和启动屏幕)。
--enable-python=system: 这个开关告诉LibreOffice使用系统安装的Python 3而不是捆绑的Python 3。
--with-system-*: 这些开关防止LibreOffice尝试编译这些依赖项的自己的版本。如果没有安装某些依赖项,请删除相应的开关。
make distro-pack-install: 这是一个正常的安装,但是如果您添加一个DESTDIR环境变量,它还会在DESTDIR中安装许多(文本)gid_Module_*文件,以帮助那些想要将包分解成部分的发行版。
--with-parallelism=<count>: 这个开关告诉LibreOffice使用
--disable-cups: 如果您不需要打印支持,请使用此开关。
--disable-dbus: 如果没有安装D-Bus-1.8.0或更高版本,请使用此开关。它还禁用蓝牙支持和字体安装通过PackageKit。
--disable-firebird-sdbc: 默认情况下,启用连接firebird数据库的功能。如果您不需要该功能,请添加此开关。
--disable-gstreamer-1-0: 如果您没有安装gst-plugins-base-1.22.0,请使用此开关。
--disable-postgresql-sdbc: 此开关禁用编译LibreOffice连接到PostgreSQL数据库的能力。如果你没有安装PostgreSQL,并且你不希望LibreOffice编译它的捆绑副本,可以使用它。
--disable-skia: 使用Cairo-1.17.6代替skia进行渲染。
--enable-gtk3-kde5: 如果GTK+-3、Qt5和Plasma都可用,则此开关允许使用KF5文件对话框构建负责小部件的Visual Class Library。
--enable-lto: 此开关将启用链接时间优化,这将导致更小的库(大约40 MB)。据说这可以使LibreOffice程序加载得更快(并且可能运行得更快,例如在重新计算电子表格时)。在具有16GB内存的8核机器上,编译时间的差异很小,但是额外的2GB用于工作文件。在处理器较少或内存不足的机器上,编译可能会慢得多。
--without-java: 此开关禁用LibreOffice中的Java支持。已弃用的HSQLDB驱动程序需要Java,该驱动程序允许读取由其他程序或早期版本的libreoffice base创建的数据库。
--without-fonts: LibreOffice包含许多第三方TrueType字体。如果您已经安装了部分或全部相同的字体,您可能更喜欢使用系统版本。
--enable-kf5: 与KDE/Plasma集成的构建。如果Qt-5.15.8和/或KDE Frameworks-5.103.0未安装在/usr中,则包含目录和库目录必须分别在QT5INC, QT5LIB, KF5INC, 和 KF5LIB中指定。
--enable-evolution2: 通过Evolution数据服务器支持Evolution地址簿。注意,必须安装Evolution Data Server才能使用此功能。
内容
安装程序: libreoffice, lobase, localc, lodraw, loffice, lofromtemplate, loimpress, lomath, loweb, lowriter, soffice 和 unopkg; $LO_PREFIX/lib/libreoffice/program下的几个程序
安装库: $LO_PREFIX/lib/libreoffice/program下的几个库
安装目录: $LO_PREFIX/lib/libreoffice
简要描述
libreoffice (or soffice) 是主要的libreoffice套件(符号链接到$LO_PREFIX/lib/libreoffice/program/soffice)。
lobase 是数据库管理器模块shell的启动脚本。
localc 是电子表格模块shell的启动脚本。
lodraw 是矢量图形编辑器和绘图工具模块shell的启动脚本。
loimpress 是(PowerPoint)演示文稿编辑器和显示模块shell启动脚本。
lomath 是数学公式编辑器模块shell的启动脚本。
loweb 是HTML编辑器模块shell启动脚本。
lowriter 是文字处理模块shell的启动脚本。
unopkg 是一个从命令行管理LibreOffice扩展的工具。