Skip to the content.

上一页      主目录      下一页

10. Graphics and Font Libraries


根据您的系统的用途,您可能需要也可能不需要图形和字体库。大多数桌面机器都希望它们与图形应用程序一起使用。另一方面,大多数服务器不需要它们。

10.1 AAlib-1.4rc5


简介AAlib

AAlib是一个将任何图形渲染成ASCII艺术的库。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

AAlib 依赖

可选

Xorg Libraries, Xorg Legacy Fonts (运行时), slang-2.3.3, 和 GPM-1.20.7

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/aalib

安装AAlib

修复包含的m4文件的一个小问题:

sed -i -e '/AM_PATH_AALIB,/s/AM_PATH_AALIB/[&]/' aalib.m4

运行以下命令安装AAlib:

./configure --prefix=/usr             \
            --infodir=/usr/share/info \
            --mandir=/usr/share/man   \
            --with-ncurses=/usr       \
            --disable-static          &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

内容

安装程序: aafire, aainfo, aalib-config, aasavefont, 和 aatest

安装库: libaa.so

安装目录: None

简短描述

aafire 是一个演示的AAlib的demo,渲染animated fire在ASCII艺术。

aainfo 提供与AAlib相关的当前设置的信息。

aalib-config 提供AAlib的配置信息。

aasavefont 将字体保存到文件中。

aatest 在一个小测试中显示了AAlib的能力。

libaa.so 是将任何图形输入以可移植格式呈现为ASCII艺术的例程集合。它可以通过许多程序使用,并且有一个非常好的API文档,因此您可以轻松地将它放入自己的程序中。

10.2 babl-0.1.98


简介Babl

Babl包是一个动态的、任意到任意的像素格式翻译库。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Babl 依赖

推荐

gobject-introspection-1.74.0librsvg-2.54.5

可选

Little CMS-2.14w3m

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/babl

安装Babl

运行以下命令安装Babl:

mkdir bld &&
cd    bld &&

meson --prefix=/usr --buildtype=release .. &&
ninja 

要测试结果,执行: ninja test.

现在,作为root用户:

ninja install &&

install -v -m755 -d                         /usr/share/gtk-doc/html/babl/graphics &&
install -v -m644 docs/*.{css,html}          /usr/share/gtk-doc/html/babl          &&
install -v -m644 docs/graphics/*.{html,svg} /usr/share/gtk-doc/html/babl/graphics

命令解释

install -v -m755 -d /usr/share/gtk-doc/html/babl/graphics: 这个和后续的命令将库html文档安装在/usr/share/gtk-doc/html下,其他gtk包将面向程序员的文档放在这里。

内容

安装程序: None

安装库: libbabl-0.1.so 和 /usr/lib/babl-0.1 中的库

安装目录: /usr/{include,lib}/babl-0.1 和 /usr/share/gtk-doc/html/babl

简短描述

libbabl-0.1.so 包含访问BablFishes以在格式之间进行转换的函数。

10.3 Exiv2-0.27.6


简介Exiv2

Exiv2是一个C++库和命令行实用程序,用于管理图像和视频元数据。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Exiv2 依赖

必要

CMake-3.25.2

推荐

cURL-7.88.1

可选

libssh

可选文档

Doxygen-1.9.6, Graphviz-7.1.0, 和 libxslt-1.1.37

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/exiv2

安装Exiv2

运行以下命令安装Exiv2:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr  \
      -DCMAKE_BUILD_TYPE=Release   \
      -DEXIV2_ENABLE_VIDEO=yes     \
      -DEXIV2_ENABLE_WEBREADY=yes  \
      -DEXIV2_ENABLE_CURL=yes      \
      -DEXIV2_BUILD_SAMPLES=no     \
      -G "Unix Makefiles" .. &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

命令解释

-DEXIV2_ENABLE_VIDEO=yes: 该开关用于视频元数据管理。

-DEXIV2_ENABLE_WEBREADY=yes: 此开关可用于管理web图像元数据。

-DEXIV2_BUILD_SAMPLES=no: 此开关对于抑制构建和安装示例程序是必要的。如果构建了示例程序,将在/usr/bin中安装34个附加程序。

-DEXIV2_ENABLE_CURL=yes: 此开关是启用network/http功能所必需的。

内容

安装程序: exiv2

安装库: libexiv2.so 和 libexiv2-xmp.a

安装目录: /usr/include/exiv2

简短描述

exiv2 是一个用于转储Exif数据的实用程序。

10.4 FreeType-2.13.0


简介FreeType2

FreeType2包包含一个库,允许应用程序正确渲染TrueType字体。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

额外下载

额外文档

FreeType2 依赖

推荐

HarfBuzz-7.0.0 (第一,无它安装,安装好后重新安装 FreeType-2.13.0), libpng-1.6.39, 和 Which-2.21

可选

Brotli-1.0.9librsvg-2.54.5

可选 (用于文档)

docwriter

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/freetype2

安装FreeType2

如果您下载了额外的文档,请使用以下命令将其解压缩到源代码树中:

tar -xf ../freetype-doc-2.13.0.tar.xz --strip-components=2 -C docs

运行以下命令安装FreeType2:

sed -ri "s:.*(AUX_MODULES.*valid):\1:" modules.cfg &&

sed -r "s:.*(#.*SUBPIXEL_RENDERING) .*:\1:" \
    -i include/freetype/config/ftoption.h  &&

./configure --prefix=/usr --enable-freetype-config --disable-static &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

如果你下载了可选的文档,以root用户安装它:

install -v -m755 -d /usr/share/doc/freetype-2.13.0 &&
cp -v -R docs/*     /usr/share/doc/freetype-2.13.0 &&
rm -v /usr/share/doc/freetype-2.13.0/freetype-config.1

命令解释

sed -ri …: 第一个命令启用GX/AAT和OpenType表验证,第二个命令启用Subpixel渲染。注意,Subpixel渲染可能有专利问题。在启用此选项之前,请务必阅读https://freetype.org/patents.html'Other patent issues'部分。

--enable-freetype-config: 此开关确保安装了freetype-config的手册页。

--without-harfbuzz: 如果harfbuzz是在freetype之前安装的,没有freetype支持,请使用此开关以避免构建失败。

--disable-static: 此开关防止安装库的静态版本。

内容

安装程序: freetype-config

安装库: libfreetype.so

安装目录: /usr/include/freetype2 和 /usr/share/doc/freetype-2.13.0

简短描述

freetype-config 是用来获取FreeType编译和链接信息的。

libfreetype.so 包含用于呈现各种字体类型的函数,例如TrueType和Type1。

10.5 Fontconfig-2.14.2


简介Fontconfig

Fontconfig包包含一个库和支持程序,用于配置和自定义字体访问。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Fontconfig 依赖

必要

FreeType-2.13.0

可选

cURL-7.88.1 and UnZip-6.0 (它们都被一些测试用于下载和提取测试文件), JSON-C-0.16, DocBook-utils-0.6.14libxml2-2.10.3, texlive-20220321 (或 install-tl-unx)

注意

如果您已经安装了DocBook Utils,并且从下面的configure命令中删除了--disable-docs参数,则必须安装SGMLSpm-1.1texlive-20220321,否则Fontconfig构建将失败。

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/Fontconfig

安装Fontconfig

运行以下命令安装Fontconfig:

./configure --prefix=/usr        \
            --sysconfdir=/etc    \
            --localstatedir=/var \
            --disable-docs       \
            --docdir=/usr/share/doc/fontconfig-2.14.2 &&
make

要测试结果,执行: make check. 如果内核不支持用户名称空间,一个测试就会失败。一些测试将通过互联网下载一些字体文件。

现在,作为root用户:

make install

如果你没有从configure命令中删除--disable-docs参数,你可以使用以下命令作为root用户安装预生成的文档:

install -v -dm755 \
        /usr/share/{man/man{1,3,5},doc/fontconfig-2.14.2/fontconfig-devel} &&
install -v -m644 fc-*/*.1         /usr/share/man/man1 &&
install -v -m644 doc/*.3          /usr/share/man/man3 &&
install -v -m644 doc/fonts-conf.5 /usr/share/man/man5 &&
install -v -m644 doc/fontconfig-devel/* \
                                  /usr/share/doc/fontconfig-2.14.2/fontconfig-devel &&
install -v -m644 doc/*.{pdf,sgml,txt,html} \
                                  /usr/share/doc/fontconfig-2.14.2

命令解释

--disable-docs: 这种切换避免了构建文档(发布tarball包含预先生成的文档)。

配置 Fontconfig

配置文件

/etc/fonts/*, /etc/fonts/conf.d/* 和 /usr/share/fontconfig/conf.avail/*

配置信息

Fontconfig的主要配置文件是/etc/fonts/fonts.conf。通常您不希望编辑此文件。它还将读取/etc/fonts/local.conf/etc/fonts/conf.d中的任何文件。要在配置中添加一个新的字体目录,用你的本地信息创建(或更新)/etc/fonts/local.conf文件,或者在/etc/fonts/conf.d中添加一个新文件。字体在Fontconfig中的默认位置是:

Fontconfig还在/usr/share/fontconfig/conf.avail目录下附带了许多示例配置文件。将特定文件符号链接到/etc/fonts/conf.d将启用它们。默认设置通常对大多数用户来说已经足够好了。请参阅/etc/fonts/conf.d/README查看配置文件的描述。

关于配置Fontconfig的更多信息可以在用户手册中找到 file:///usr/share/doc/fontconfig-2.14.2/fontconfig-user.html.

内容

安装程序: fc-cache, fc-cat, fc-conflist, fc-list, fc-match, fc-pattern, fc-query, fc-scan, 和 fc-validate

安装库: libfontconfig.so

安装目录: /etc/fonts, /usr/include/fontconfig, /usr/share/doc/fontconfig-2.14.2, /usr/share/fontconfig, /usr/share/xml/fontconfig, 和 /var/cache/fontconfig

简短描述

fc-cache 用于创建字体信息缓存。

fc-cat 用于读取字体信息缓存。

fc-conflist 显示系统上的规则集文件信息。

fc-list 用于创建字体列表。

fc-match 用于匹配可用字体,或查找与给定模式匹配的字体。

fc-pattern 用于解析模式(默认为空模式)并显示解析结果。

fc-query 用于查询字体文件并打印生成的图案。

fc-scan 用于扫描字体文件和目录,并打印生成的图案。

fc-validate 用于验证字体文件。

libfontconfig.so 包含Fontconfig程序和其他程序使用的函数,用于配置或自定义字体访问。

10.6 FriBidi-1.0.12


简介FriBidi

FriBidi包是Unicode Bidirectional Algorithm (BIDI)的实现。这对于在其他包中支持阿拉伯语和希伯来语字母很有用。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

FriBidi 依赖

可选

c2man (to build man pages)

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/fribidi

安装FriBidi

运行以下命令安装FriBidi:

mkdir build &&
cd    build &&

meson --prefix=/usr --buildtype=release .. &&
ninja

要测试结果,执行: ninja test.

现在,作为root用户:

ninja install

命令解释

--buildtype=release: 指定适合于包的稳定版本的构建类型,因为默认值可能会产生未优化的二进制文件。

内容

安装程序: fribidi

安装库: libfribidi.so

安装目录: /usr/include/fribidi

简短描述

fribidilibfribidi库的命令行接口,可用于将逻辑字符串转换为可视输出。

libfribidi.so 包含用于实现 Unicode Bidirectional Algorithm的函数。

10.7 gegl-0.4.40


简介gegl

这个包提供了通用图形库,这是一种基于图形的图像处理格式。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

gegl 依赖

必要

babl-0.1.98, JSON-GLib-1.6.6, libjpeg-turbo-2.1.5.1, 和 libpng-1.6.39

推荐

gobject-introspection-1.74.0, Graphviz-7.1.0, Pygments-2.14.0, 和 PyGObject-3.42.2

可选

asciidoc-10.2.0, Cairo-1.17.6, Exiv2-0.27.6, FFmpeg-5.1.2, gdk-pixbuf-2.42.10, gexiv2-0.14.0, GTK-Doc-1.33.2, JasPer-4.0.0, Little CMS-2.14, libraw-0.21.1, librsvg-2.54.5, libtiff-4.5.0, libwebp-1.3.0, Pango-1.50.12, Poppler-23.02.0, Ruby-3.2.1, SDL2-2.26.3, v4l-utils-1.22.1, Vala-0.56.4, libspiro-20220722, lensfun, libumfpack, LuaJIT, OpenCL (用于测试), MRG, 和 OpenEXR

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/gegl

安装gegl

如果在以前版本的gegl上安装,则需要删除一个模块。作为root用户,运行:

rm -f /usr/lib/gegl-0.4/vector-fill.so

如果安装了LibRaw-0.21.0或更高版本,则由于ABI的更改而导致构建失败。通过执行:

sed -e '/shot_select/s/params/raw&/' \
    -i operations/external/raw-load.c

运行以下命令安装gegl:

mkdir build &&
cd    build &&

meson --prefix=/usr --buildtype=release .. &&
ninja

要运行测试,请执行: ninja test. 这应该表明没有失败,但将跳过许多测试,具体取决于系统上安装的可选依赖项。

现在,作为root用户:

ninja install

命令解释

-Ddocs=true: 构建和安装文档 (需要 GTK-Doc-1.33.2,).

内容

安装程序: gegl 和 gegl-imgcmp

安装库: libgegl-0.4.so, libgegl-npd-0.4.so, libgegl-sc-0.4.so, 和 /usr/lib/gegl-0.4 中的模块

安装目录: /usr/lib/gegl-0.4 和 /usr/include/gegl-0.4

简短描述

gegl 是一个用于处理XML数据模型的命令行工具。

gegl-imgcmp 是一个简单的图像差异检测工具,用于回归测试。

libgegl-0.4.so 提供基础设施,在大于RAM的缓冲区上进行基于需求的缓存无损图像编辑。

libgegl-npd-0.4.so 为GEGL N-point图像变形库。

libgegl-sc-0.4.so 是GEGL无缝克隆库。

10.8 giflib-5.2.1


简介giflib

giflib包包含用于读取和写入GIF的库以及用于转换和处理GIF文件的程序。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

giflib 依赖

必要

xmlto-0.0.28

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/giflib

安装giflib

运行以下命令安装giflib:

make

这个包没有附带测试套件。

现在,作为root用户:

make PREFIX=/usr install &&

rm -fv /usr/lib/libgif.a &&

find doc \( -name Makefile\* -o -name \*.1 \
         -o -name \*.xml \) -exec rm -v {} \; &&

install -v -dm755 /usr/share/doc/giflib-5.2.1 &&
cp -v -R doc/* /usr/share/doc/giflib-5.2.1

命令解释

rm -fv /usr/lib/libgif.a: 这个命令删除一个没有被任何BLFS包使用的静态库。

find doc … -exec rm -v {} \;: 该命令从文档目录中删除Makefiles、man和xml文件,否则这些文件将由后面的命令安装。

内容

安装程序: gif2rgb, gifbuild, gifclrmp, giffix, giftext, 和 giftool

安装库: libgif.so

安装目录: /usr/share/doc/giflib-5.2.1

简短描述

gif2rgb 将保存为GIF的图像转换为24位RGB图像。

gifbuild 将GIF数据转储为文本格式,或将其转储为GIF。

gifclrmp 修改GIF图像的颜色映射。

giffix 笨拙地尝试修复截断的GIF图像。

giftext 打印(仅文本)关于GIF文件的一般信息。

giftool 是一个GIF转换工具。

libgif.so 包含giflib程序和任何其他需要库功能来读取,写入和操作GIF图像的程序所需的API函数。

10.9 GLM-0.9.9.8


简介GLM

OpenGL Mathematics (GLM)是基于OpenGL Shading Language (GLSL)规范的图形软件的仅头文件的C++数学库。扩展系统提供扩展功能,如矩阵变换和四元数。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/GLM

安装GLM

注意

这个包是不寻常的,因为它在头文件中包含了它的功能。我们只是把它们复制到合适的位置。

作为root用户:

cp -r glm /usr/include/ &&
cp -r doc /usr/share/doc/glm-0.9.9.8

内容

安装程序: None

安装库: None

安装目录: /usr/include/glm

10.10 Graphite2-1.3.14


简介Graphite2

Graphite2是石墨字体的渲染引擎。这些是TrueType字体,带有包含智能呈现信息的附加表,最初是为了支持复杂的非罗马书写系统而开发的。它们可能包含连接、字形替换、字距、对齐等规则,这使得它们甚至可以用于用罗马书写系统(如英语)编写的文本。注意,firefox在默认情况下提供了一个石墨引擎的内部副本,并且不能使用系统版本(尽管它现在可以打补丁来使用它),但是它也应该从石墨字体的可用性中受益。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Graphite2 依赖

必要

CMake-3.25.2

可选

FreeType-2.13.0, silgraphite构建comparerender测试和基准测试工具,如果存在,HarfBuzz-7.0.0为其添加更多功能(这是一个循环依赖,您需要首先构建graphite2而不使用harfbuzz)。

构建文档:asciidoc-10.2.0, Doxygen-1.9.6, texlive-20220321(或install-tl-unx)和dblatex(用于PDF文档)。

要执行测试套件,您将需要FontTools (Python 3模块),否则,“cmp”测试将失败。

可选 (在运行时)

您至少需要一个合适的graphite font才能使包有用。

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/graphite2

安装Graphite2

如果未安装FontTools (Python 3模块),则某些测试会失败。这些测试可以通过以下方式删除:

sed -i '/cmptest/d' tests/CMakeLists.txt

运行以下命令安装Graphite2:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr .. &&
make

如果您希望构建文档,请执行:

make docs

要测试结果,执行: make test.

现在,作为root用户:

make install

如果您构建了文档,作为root用户,请安装:

install -v -d -m755 /usr/share/doc/graphite2-1.3.14 &&

cp      -v -f    doc/{GTF,manual}.html \
                    /usr/share/doc/graphite2-1.3.14 &&
cp      -v -f    doc/{GTF,manual}.pdf \
                    /usr/share/doc/graphite2-1.3.14

命令解释

-DCMAKE_VERBOSE_MAKEFILE=ON: 此开关打开构建详细模式。

内容

安装程序: gr2fonttest, 和可选的 comparerender

安装库: libgraphite2.so

安装目录: /usr/{include,share}/graphite2 和可选的 /usr/share/doc/graphite2-1.3.14

简短描述

comparerender 是一个测试和基准测试工具。

gr2fonttest 是graphite字体的诊断控制台工具。

libgraphite2.so 是graphite字体的渲染引擎。

10.11 HarfBuzz-7.0.0


简介Harfbuzz

HarfBuzz包包含一个OpenType文本整形引擎。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

HarfBuzz 依赖

推荐

gobject-introspection-1.74.0 (如果构建GNOME是必需的), GLib-2.74.5 (Pango所需), Graphite2-1.3.14 (building所需 texlive-20220321LibreOffice-7.5.0.3 于系统 harfbuzz), ICU-72.1, 和 FreeType-2.13.0 (在 HarfBuzz-7.0.0 安装后,重新安装 FreeType-2.13.0)

可选

Cairo-1.17.6 (circular:首先构建Cairo及其所有推荐的依赖项,包括harfbuzz,然后在需要Cairo后端时重新构建harfbuzz), git-2.39.2, GTK-Doc-1.33.2, FontTools (Python 3模块,用于测试套件), and ragel

警告

构建包并不严格要求推荐的依赖项。但是,如果不安装它们,在运行时可能得不到预期的结果。如果您没有安装推荐的依赖项,请不要报告此包的错误。

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/harfbuzz

安装HarfBuzz

运行以下命令安装HarfBuzz:

mkdir build &&
cd    build &&

meson --prefix=/usr        \
      --buildtype=release  \
      -Dgraphite2=enabled  &&
ninja

要测试结果,执行: ninja test.

现在,作为root用户:

ninja install

命令解释

--buildtype=release: 指定适合于包的稳定版本的构建类型,因为默认值可能会产生未优化的二进制文件。

-Dgraphite2=enabled: 此开关启用Graphite2支持,这是使用system harfbuzz构建texlive-20220321LibreOffice-7.5.0.3所必需的。

-Ddocs=disabled: 如果安装了GTK-Doc-1.33.2,则会构建并安装文档。这个开关可以防止这种情况。

内容

安装程序: hb-info, hb-ot-shape-closure, hb-shape, hb-subset, 和 hb-view (除非安装了Cairo)

安装库: libharfbuzz.so, libharfbuzz-cairo.so (除非安装了Cairo), libharfbuzz-gobject.so, libharfbuzz-icu.so, 和 libharfbuzz-subset.so

安装目录: /usr/include/harbuzz, /usr/lib/cmake/harfbuzz, 和 /usr/share/gtk-doc/html/harfbuzz (可选)

简短描述

hb-info 用于收集有关系统上安装的字体的信息。

hb-ot-shape-closure 给出字符串中包含的字符集,表示为单个字符和/或单个字符名称。例如:hb-ot-shape-closure /usr/share/fonts/dejavu/DejaVuSans.ttf “Hello World.”

hb-shape 用于将文本字符串转换为定位的字形。

hb-subset 用于创建字体子集,并使用它们显示文本。

hb-view 使用特定字体作为一组字形显示字符串形状的图形视图。输出格式由文件扩展名自动定义,支持的是ansi/png/svg/pdf/ps/eps。例如: hb-view –output-file=hello.png /usr/share/fonts/dejavu/DejaVuSans.ttf “Hello World.”.

libharfbuzz.so 是HarfBuzz文本shaping库。

libharfbuzz-cairo.so 为Harfbuzz文本shaping库提供了Cairo集成。

libharfbuzz-gobject.so为HarfBuzz文本shaping库提供GObject集成。

libharfbuzz-icu.so 为HarfBuzz文本shaping库提供ICU集成。

libharfbuzz-subset.so 提供对字体文件执行子集操作的API函数。

10.12 JasPer-4.0.0


简介JasPer

JasPer项目是一个开源项目,提供基于免费软件的JPEG-2000编解码器参考实现。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

JasPer 依赖

必要

CMake-3.25.2

推荐

libjpeg-turbo-2.1.5.1

可选

Freeglut-3.4.0 (jiv需要), Doxygen-1.9.6 (生成HTML文档所需), 和 texlive-20220321 (需要重新生成PDF文档)

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/jasper

安装JasPer

注意

压缩包jasper-4.0.0.tar.gz将被解压为jasper-version-4.0.0。

运行以下命令安装JasPer:

mkdir BUILD &&
cd    BUILD &&

cmake -DCMAKE_INSTALL_PREFIX=/usr    \
      -DCMAKE_BUILD_TYPE=Release     \
      -DCMAKE_SKIP_INSTALL_RPATH=YES \
      -DJAS_ENABLE_DOC=NO            \
      -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/jasper-4.0.0 \
      ..  &&
make

要测试结果,执行: make test.

现在,作为root用户:

make install

命令解释

-DCMAKE_SKIP_INSTALL_RPATH=YES: 此选项删除嵌入式的库搜索路径。

-DJAS_ENABLE_DOC=NO: 如果安装了texlive-20220321,此选项将禁用重建pdf文档。

内容

安装程序: imgcmp, imginfo, jasper, 和 jiv

安装库: libjasper.so

安装目录: /usr/include/jasper 和 /usr/share/doc/jasper-4.0.0

简短描述

imgcmp 比较相同几何形状的两个图像。

imginfo 显示图像的相关信息。

jasper 在不同格式之间转换图像 (BMP, JPS, JPC, JPG, PGX, PNM, MIF, and RAS)。

jiv 显示图像。

libjasper.so 是程序用于读写JPEG2000格式文件的库。

10.13 Little CMS-1.19


简介Little CMS

其他程序使用Little CMS库来提供颜色管理功能。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

额外下载

Little CMS 依赖

可选

libtiff-4.5.0, libjpeg-turbo-2.1.5.1, 和 Python-2.7.18 (与 SWIG-4.1.1 也)

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/lcms

安装Little CMS

运行以下命令安装Little CMS:

patch -Np1 -i ../lcms-1.19-cve_2013_4276-1.patch &&

./configure --prefix=/usr --disable-static       &&
make

要测试结果,执行: make check.

现在,作为root用户:

make install &&
install -v -m755 -d /usr/share/doc/lcms-1.19 &&
install -v -m644    README.1ST doc/* \
                    /usr/share/doc/lcms-1.19

命令解释

--disable-static: 此开关防止安装库的静态版本。

--with-python: 如果安装了Python和SWIG,则使用此参数。

内容

安装程序: icc2ps, icclink, icctrans, wtpt and optionally, jpegicc, tiffdiff 和 tifficc

安装库: liblcms.so 以及可选的 _lcms.so Python模块

安装目录: /usr/share/doc/lcms-1.19

简短描述

icc2ps 从ICC配置文件生成PostScript CRD或CSA。

icclink 将两个或多个配置文件链接到单个设备链路配置文件中。

icctrans 是一个色彩空间转换计算器。

jpegicc 是用于JPEG文件的ICC配置文件应用程序。

tifficc 是TIFF文件的ICC配置文件应用程序。

tiffdiff 是一个TIFF比较工具。

wtpt 显示媒体白色的轮廓,识别黑体轨迹。

liblcms.so 被LCMS程序以及其他程序用来提供色彩管理设施。

10.14 Little CMS-2.14


简介Little CMS2

Little Color管理系统是一个small-footprint色彩管理引擎,特别注重准确性和性能。它采用国际色彩联盟标准(ICC),这是色彩管理的现代标准。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Little CMS2 依赖

可选

libjpeg-turbo-2.1.5.1libtiff-4.5.0

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/lcms2

安装Little CMS2

应用上游修复的问题打破颜色:

sed '/BufferSize < TagSize/,+1 s/goto Error/TagSize = BufferSize/' \
    -i src/cmsio0.c

运行以下命令安装Little CMS2:

./configure --prefix=/usr --disable-static &&
make

要测试结果,执行: make check.

现在,作为root用户:

make install

命令解释

--disable-static: 此开关防止安装库的静态版本。

内容

安装程序: jpgicc, linkicc, psicc, tificc, 和 transicc

安装库: liblcms2.so

安装目录: None

简短描述

jpgicc 是用于JPEG的小CMS ICC配置文件应用程序。

linkicc 是小CMS ICC设备链接生成器。

psicc 是小CMS ICC PostScript生成器。

tificc 是小CMS ICC tiff生成器。

transicc 是小CMS颜色空间转换计算器。

liblcms2.so 包含实现lcms2 API的函数。

10.15 libexif-0.6.24


简介libexif

libexif包包含一个库,用于解析、编辑和保存EXIF数据。大多数数码相机生成EXIF文件,这是带有额外标签的JPEG文件,其中包含有关图像的信息。支持EXIF标准2.1中描述的所有EXIF标记。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

libexif 依赖

可选 (构建文档)

Doxygen-1.9.6Graphviz-7.1.0

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libexif

安装libexif

运行以下命令安装libexif:

./configure --prefix=/usr    \
            --disable-static \
            --with-doc-dir=/usr/share/doc/libexif-0.6.24 &&
make

要测试结果,执行: make check.

现在,作为root用户:

make install

如果您安装了上面所示的依赖项,则构建并安装了文档。如果你没有安装依赖,在源代码树的doc目录下有一个压缩的tarball,可以解压缩到/usr/share/doc/libexif-0.6.24。

命令解释

--disable-static: 此开关防止安装库的静态版本。

内容

安装程序: None

安装库: libexif.so

安装目录: /usr/include/libexif 和 /usr/share/doc/libexif-0.6.24

简短描述

libexif.so 包含用于解析、编辑和保存EXIF数据的函数。

10.16 Libgxps-0.3.2


简介libgxps

libgxps包提供了操作XPS文档的接口。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Libgxps 依赖

必要

GTK+-3.24.36, Little CMS-2.14, libarchive-3.6.2, libjpeg-turbo-2.1.5.1, libtiff-4.5.0, 和 libxslt-1.1.37

可选

git-2.39.2GTK-Doc-1.33.2

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libgxps

安装Libgxps

运行以下命令安装Libgxps:

mkdir build &&
cd    build &&

meson --prefix=/usr --buildtype=release .. &&
ninja

这个包没有附带测试套件。

现在,作为root用户:

ninja install

命令解释

--buildtype=release: 指定适合于包的稳定版本的构建类型,因为默认值可能会产生未优化的二进制文件。

内容

安装程序: xpstojpeg, xpstopdf, xpstopng, xpstops, 和 xpstosvg

安装库: libgxps.so

安装目录: /usr/include/libgxps

简短描述

xpstojpeg 将XPS文档转换为JPEG图像。

xpstopdf 将XPS文档转换为PDF格式。

xpstopng 将XPS文档转换为PNG图像。

xpstops 将XPS文档转换为PostScript。

xpstosvg 将XPS文档转换为SVG图像。

libgxps.so 包含用于操作XPS文档的API函数。

10.17 libjpeg-turbo-2.1.5.1


简介libjpeg-turbo

libjpeg-turbo是原始IJG libjpeg的一个分支,它使用SIMD来加速基线JPEG压缩和解压缩。libjpeg是一个实现JPEG图像编码、解码和转码的库。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

libjpeg-turbo 依赖

必要

CMake-3.25.2

推荐

NASM-2.16.01yasm-1.3.0 (用于用优化的汇编例程构建包)

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libjpeg-turbo

安装libjpeg-turbo

运行以下命令安装libjpeg-turbo:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=RELEASE  \
      -DENABLE_STATIC=FALSE       \
      -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libjpeg-turbo-2.1.5.1 \
      -DCMAKE_INSTALL_DEFAULT_LIBDIR=lib  \
      .. &&
make

要测试结果,执行: make test.

现在,作为root用户:

make install

命令解释

-DWITH_JPEG8=ON: 此开关启用与libjpeg version 8的兼容性。

内容

安装程序: cjpeg, djpeg, jpegtran, rdjpgcom, tjbench, 和 wrjpgcom

安装库: libjpeg.so 和 libturbojpeg.so

安装目录: /usr/share/doc/libjpeg-turbo-2.1.5.1

简短描述

cjpeg 压缩图像文件,在标准输出上生成JPEG/JFIF文件。目前支持的输入文件格式有:PPM (PBMPLUS彩色格式)、PGM (PBMPLUS灰度格式)、BMP和Targa。

djpeg 将图像文件从JPEG/JFIF格式解压为PPM (PBMPLUS彩色格式),PGM (PBMPLUS灰度格式),BMP或Targa格式。

jpegtran 用于JPEG文件的无损转换。

rdjpgcom 显示JPEG文件中的文本注释。

tjbench 用于基准测试libjpeg-turbo的性能。

wrjpgcom 将文本注释插入到JPEG文件中。

libjpeg.so 包含用于读写JPEG图像的函数。

10.18 libmng-2.0.3


简介libmng

libmng库用于希望读取和写入多图像网络图形(MNG,Multiple-image Network Graphics)文件的程序,这些文件相当于PNG文件的动画。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

libmng 依赖

必要

libjpeg-turbo-2.1.5.1Little CMS-2.14

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libmng

安装libmng

运行以下命令安装libmng:

./configure --prefix=/usr --disable-static &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install &&

install -v -m755 -d        /usr/share/doc/libmng-2.0.3 &&
install -v -m644 doc/*.txt /usr/share/doc/libmng-2.0.3

命令解释

--disable-static: 此开关防止安装库的静态版本。

内容

安装程序: None

安装库: libmng.so

安装目录: /usr/share/doc/libmng-2.0.3

简短描述

libmng.so 为希望读取和写入MNG文件的程序提供功能,这些文件是动画文件,没有与某些其他格式相关的专利问题。

10.19 libmypaint-1.6.1


简介libmypaint

libmypaint包,也就是。“brushlib”是一个用于制作笔触的库,它被MyPaint和其他项目使用。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

libmypaint 依赖

必要

JSON-C-0.16

推荐

GLib-2.74.5gobject-introspection-1.74.0

可选

Doxygen-1.9.6 (创建XML文档), gegl (0.3 versions only)gperftools

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libmypaint

安装libmypaint

运行以下命令安装libmypaint:

./configure --prefix=/usr &&
make

要测试结果,执行: make check.

现在,作为root用户:

make install

内容

安装程序: None.

安装库: libmypaint.so (还有可选的libmypaint-gegl.so,这本书中没有使用任何包).

安装目录: /usr/include/libmypaint

简短描述

libmypaint.so 包含制作笔画的函数。

10.20 libpng-1.6.39


简介libpng

libpng包包含其他程序用于读取和写入PNG文件的库。PNG格式被设计为GIF的替代品,以及较小程度上TIFF的替代品,具有许多改进和扩展,并且没有专利问题。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

额外下载

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libpng

安装libpng

如果你想修补libpng以支持apng文件,在这里应用它:

gzip -cd ../libpng-1.6.39-apng.patch.gz | patch -p1

运行以下命令安装libpng:

./configure --prefix=/usr --disable-static &&
make

要测试结果,执行: make check.

现在,作为root用户:

make install &&
mkdir -v /usr/share/doc/libpng-1.6.39 &&
cp -v README libpng-manual.txt /usr/share/doc/libpng-1.6.39

命令解释

--disable-static: 此开关防止安装库的静态版本。

内容

安装程序: libpng-config (符号链接), libpng16-config, pngfix 和 png-fix-itxt

安装库: libpng.so

安装目录: /usr/include/libpng16 和 /usr/share/doc/libpng-1.6.39

简短描述

pngfix 测试、优化和可选地修复PNG文件中的zlib头文件。可选地,在修复时,从文件中剥离辅助块。

png-fix-itxt 修复了在iTXt块中具有不正确长度字段的PNG文件。

libpng-config 是一个shell脚本,为想要使用libpng的应用程序提供配置信息。

libpng.so 包含用于创建和操作PNG格式图形文件的例程。

10.21 libraw-0.21.1


简介libraw

Libraw是一个用于读取从数码相机(CRW/CR2, NEF, RAF, DNG等)获得的RAW文件的库。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

libraw 依赖

推荐

libjpeg-turbo-2.1.5.1, JasPer-4.0.0, 和 Little CMS-2.14

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libraw

安装libraw

运行以下命令安装libraw:

autoreconf -fiv              &&
./configure --prefix=/usr    \
            --enable-jpeg    \
            --enable-jasper  \
            --enable-lcms    \
            --disable-static \
            --docdir=/usr/share/doc/libraw-0.21.1 &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

命令解释

--enable-jpeg: 此开关启用对jpeg的支持。如果没有安装libjpeg-turbo-2.1.5.1,请删除。

--enable-jasper: 这个开关启用了对jasper的支持。如果没有安装JasPer-4.0.0请删除。

--enable-lcms: 此开关启用对Little CMS2的支持。如果没有安装Little CMS-2.14请删除。

--disable-static: 此开关防止安装库的静态版本。

内容

注意

所有安装的程序都是使用libraw的示例。

安装程序: 4channels, dcraw_emu, dcraw_half, half_mt, mem_image, multirender_test, postprocessing_benchmark, raw-identify, simple_dcraw, 和 unprocessed_raw

安装库: libraw.so 和 libraw_r.so

安装目录: /usr/include/libraw 和 /usr/share/doc/libraw-0.21.1

简短描述

4channels 从RAW数据生成四个TIFF文件,每个通道一个文件。

dcraw_half 模拟“dcraw -h”(参见DCRAW manpage)。

mem_image 模拟“dcraw [-4] [-6] [-e]”(参见DCRAW manpage)。

postprocessing_benchmark 从一个源文件创建八个不同的渲染。第一个和第四个应该是一样的。

simple_dcraw 模拟 “dcraw [-D] [-T] [-v] [-e] [-4]” (参见 DCRAW manpage)。

dcraw_emu 是一个几乎完整的绘图仿真器 (参见 DCRAW manpage)。

half_mt 模拟 “dcraw -h [-w] [-a] [-v]” (参见 DCRAW manpage)。

multirender_test 从一个源文件创建八个不同的渲染。第一个和第四个应该是一样的。

raw-identify 模拟 “dcraw -i [-v]” (参见 DCRAW manpage)。

unprocessed_raw 生成未经处理的原始图像:与蒙面像素和没有黑色减法。

10.22 librsvg-2.54.5


简介librsvg

librsvg包包含一个库和用于操作、转换和查看可缩放矢量图形(SVG)图像的工具。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

librsvg 依赖

必要

Cairo-1.17.6, gdk-pixbuf-2.42.10, Pango-1.50.12, 和 rustc-1.67.1

推荐

gobject-introspection-1.74.0Vala-0.56.4

可选

docutils-0.19 (用于手册页), Gi-DocGen-2023.1 (用于文档), 和 Xorg Fonts (用于测试)

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/librsvg

安装librsvg

运行以下命令安装librsvg:

./configure --prefix=/usr    \
            --enable-vala    \
            --disable-static \
            --docdir=/usr/share/doc/librsvg-2.54.5 &&
make

要测试结果,执行: make -k check. 在测试期间,一些二进制文件是用不同的调试级别重新构建的,因此您应该在测试完成后再次运行make,以确保一切都准备好安装。

现在,作为root用户:

make install

注意

如果您使用“DESTDIR”方法将软件包安装到系统上,则没有安装一个重要的文件,应该复制和/或生成该文件。以root用户使用以下命令生成:

gdk-pixbuf-query-loaders --update-cache

命令解释

--enable-vala: 此开关支持构建Vala绑定。如果你没有安装Vala-0.56.4,请移除此开关。

--disable-static: 此开关防止安装库的静态版本。

--disable-introspection: 如果没有安装Gobject Introspection,请使用此开关。

--disable-gtk-doc: 此开关阻止构建API文档,即使Gi-DocGen-2023.1(尽管该选项的名称)可用。

内容

安装程序: rsvg-convert

安装库: librsvg-2.so

安装目录: /usr/include/librsvg-2.0 和 /usr/share/doc/librsvg-2.54.5

简短描述

rsvg-convert 用于将图像转换为PNG, PDF, PS, SVG等格式。

librsvg-2.so 提供了渲染可缩放矢量图形的功能。

libpixbufloader-svg.so是Gdk Pixbuf插件,允许GTK+应用程序渲染可缩放矢量图形图像。

10.23 Libspiro-20220722


简介libspiro

Libspiro将采用一系列spiro控制点并将其转换为一系列bezier splines,然后可以以无数种方式使用bezier。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libspiro

安装libspiro

运行以下命令安装libspiro:

./configure --prefix=/usr --disable-static &&
make

要测试结果,执行: make check.

现在,作为root用户:

make install

命令解释

--disable-static: 此开关防止安装库的静态版本。

内容

安装程序: None

安装库: libspiro.so

安装目录: None

简短描述

libspiro.so 是一个可共享的库,程序可以使用它来为您执行Spiro计算。

10.24 libtiff-4.5.0


简介libtiff

libtiff包包含TIFF库和相关实用程序。许多程序都使用这些库来读写TIFF文件,而这些实用程序则用于处理TIFF文件的一般工作。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

libtiff 依赖

推荐

CMake-3.25.2

可选

Freeglut-3.4.0 (需要 tiffgt), libjpeg-turbo-2.1.5.1, sphinx-6.1.3, libwebp-1.3.0, JBIG-KIT, 和 LERC

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libtiff

安装libtiff

运行以下命令安装libtiff:

mkdir -p libtiff-build &&
cd       libtiff-build &&

cmake -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/libtiff-4.5.0 \
      -DCMAKE_INSTALL_PREFIX=/usr -G Ninja .. &&
ninja

要测试结果,执行: ninja test.

现在,作为root用户:

ninja install

内容

安装程序: fax2ps, fax2tiff, pal2rgb, ppm2tiff, raw2tiff, tiff2bw, tiff2pdf, tiff2ps, tiff2rgba, tiffcmp, tiffcp, tiffcrop, tiffdither, tiffdump, tiffgt, tiffinfo, tiffmedian, tiffset 和 tiffsplit

安装库: libtiff.so 和 libtiffxx.so

安装目录: /usr/share/doc/tiff-4.5.0

简短描述

fax2ps 将TIFF传真转换为压缩的PostScript文件。

fax2tiff 从原始传真数据创建TIFF F类传真文件。

pal2rgb 将调色板颜色TIFF图像转换为全彩色图像。

ppm2tiff 从PPM图像文件创建TIFF文件。

raw2tiff 将原始字节序列转换为TIFF。

tiff2bw 将彩色TIFF图像转换为灰度图像。

tiff2pdf 将TIFF图像转换为PDF文档。

tiff2ps 将TIFF图像转换为PostScript文件。

tiff2rgba 将各种TIFF图像转换为RGBA TIFF图像。

tiffcmp 比较两个TIFF文件。

tiffcp 复制(并可能转换)TIFF文件。

tiffcrop 选择、复制、裁剪、转换、提取和/或处理一个或多个TIFF文件。

tiffdither 使用抖动将灰度图像转换为双电平。

tiffdump 打印有关TIFF文件的逐字信息。

tiffgt 显示存储在TIFF文件中的图像。

tiffinfo 打印有关TIFF文件的信息。

tiffmedian 将中位数切割算法应用于TIFF文件中的数据。

tiffset 将TIFF标头的值设置为指定值。

tiffsplit 将多图像TIFF拆分为单图像TIFF文件。

libtiff.so 包含libtiff程序以及其他程序用于读写TIFF文件的API函数。

libtiffxx.so 包含程序用来读写TIFF文件的C++ API函数。

10.25 libwebp-1.3.0


简介libwebp

libwebp包包含一个库和支持程序来编码和解码WebP格式的图像。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

libwebp 依赖

推荐

libjpeg-turbo-2.1.5.1, libpng-1.6.39, libtiff-4.5.0, 和 SDL-1.2.15 (for improved 3D Acceleration)

可选

Freeglut-3.4.0giflib-5.2.1

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/libwebp

安装libwebp

运行以下命令安装libwebp:

./configure --prefix=/usr           \
            --enable-libwebpmux     \
            --enable-libwebpdemux   \
            --enable-libwebpdecoder \
            --enable-libwebpextras  \
            --enable-swap-16bit-csp \
            --disable-static        &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

命令解释

--enable-swap-16bit-csp: 该开关支持16位色彩空间的字节交换。

--disable-static: 此开关防止安装库的静态版本。

内容

安装程序: cwebp, dwebp, gif2webp, img2webp, vwebp, webpinfo, 和 webpmux

安装库: libsharpyuv.so, libwebpdecoder.so, libwebpdemux.so, libwebpmux.so, 和 libwebp.so

安装目录: /usr/include/webp

简短描述

cwebp 使用WebP格式压缩图像。

dwebp 解压WebP文件为PNG, PAM, PPM或PGM图像。

gif2webp 将GIF图像转换为WebP图像。

img2webp 从一系列输入图像创建一个动画WebP文件。

vwebp 解压WebP文件并将其显示在窗口中。

webpinfo 打印出WebP文件的阻塞级结构,并执行基本的完整性检查。

webpmux 从非动画WebP图像创建动画WebP文件,从动画WebP图像提取帧,并管理XMP/EXIF元数据和ICC配置文件。

libwebp.so 包含WebP编码和解码的API函数。

10.26 mypaint-brushes-1.3.1


简介mypaint-brushes

mypaint-brushes包包含使用libmypaint的包使用的画笔。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

mypaint-brushes 依赖

运行时要求

libmypaint-1.6.1

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/mypaint-brushes

安装mypaint-brushes

运行以下命令安装mypaint-brushes:

./configure --prefix=/usr &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

内容

安装程序: None.

安装库: None.

安装目录: /usr/share/mypaint-data.

10.27 newt-0.52.23


简介newt

Newt是一个用于彩色文本模式、基于小部件的用户界面的编程库。它可以用来添加堆叠窗口,入口小部件,复选框,单选按钮,标签,纯文本字段,滚动条等,文本模式的用户界面。Newt基于S-Lang库。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Newt 依赖

必要

popt-1.19slang-2.3.3

推荐

GPM-1.20.7 (运行时)

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/newt

安装newt

运行如下命令安装newt:

sed -e '/install -m 644 $(LIBNEWT)/ s/^/#/' \
    -e '/$(LIBNEWT):/,/rv/ s/^/#/'          \
    -e 's/$(LIBNEWT)/$(LIBNEWTSH)/g'        \
    -i Makefile.in                          &&

./configure --prefix=/usr           \
            --with-gpm-support      \
            --with-python=python3.11 &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

命令解释

sed -e … -i Makefile.in: 禁用静态库的安装。

--with-gpm-support: 该开关通过GPM使鼠标支持newt应用程序。

--with-python=python3.11: 通过显式给出python模块所在目录的名称,此开关可以防止构建python2模块。

内容

安装程序: whiptail

安装库: libnewt.so, whiptcl.so, 和 /usr/lib/python3.11/site-packages/_snack.so

安装目录: None

简短描述

whiptail 显示shell脚本中的对话框。

libnewt.so 是用于彩色文本模式、基于小部件的用户界面的库。

10.28 opencv-4.7.0


简介opencv

opencv包包含主要针对实时计算机视觉的图形库。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

额外下载

注意

另外一个以“ippicv”(集成性能原语)开头的文件将在构建过程的cmake部分自动下载。此下载特定于系统架构。

opencv 依赖

必要

CMake-3.25.2UnZip-6.0

推荐

FFmpeg-5.1.2, gst-plugins-base-1.22.0, GTK+-3.24.36, JasPer-4.0.0, libexif-0.6.24, libjpeg-turbo-2.1.5.1, libpng-1.6.39, libtiff-4.5.0, libwebp-1.3.0, v4l-utils-1.22.1, 和 xine-lib-1.2.13

可选

apache-ant-1.10.13, Doxygen-1.9.6, Java-19.0.2, Python-2.7.18, blas, Cuda, Eigen, OpenEXR, GDAL, lapack, libdc1394, NumPy, Threading Building Blocks (TBB), 和 VTK - The Visualization Toolkit,

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/opencv

安装opencv

如果你下载了可选模块,现在解压缩它们:

tar -xf ../opencv_contrib-4.7.0.tar.gz

运行以下命令安装opencv:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr      \
      -DCMAKE_BUILD_TYPE=Release       \
      -DENABLE_CXX11=ON                \
      -DBUILD_PERF_TESTS=OFF           \
      -DWITH_XINE=ON                   \
      -DBUILD_TESTS=OFF                \
      -DENABLE_PRECOMPILED_HEADERS=OFF \
      -DCMAKE_SKIP_RPATH=ON            \
      -DBUILD_WITH_DEBUG_INFO=OFF      \
      -Wno-dev  ..                     &&
make

该软件包没有附带测试套件。

现在,作为root用户:

make install

命令解释

-DWITH_XINE=ON: 这个选项指示make过程使用xine-lib-1.2.13。.

-DENABLE_PRECOMPILED_HEADERS=OFF: 为了与gcc-6.1及更高版本兼容,需要此选项。

-DOPENCV_EXTRA_MODULES_PATH=../opencv_contrib-4.7.0/modules: 指示构建系统构建其他模块。

内容

安装程序: opencv_annotation, opencv_interactive-calibration, opencv_model_diagnostics, opencv_version, opencv_visualisation, 和 setup_vars_opencv4.sh

安装库: libopencv_calib3d.so, libopencv_core.so, libopencv_dnn.so, libopencv_features2d.so, libopencv_flann.so, libopencv_gapi.so, libopencv_highgui.so, libopencv_imgcodecs.so, libopencv_imgproc.so, libopencv_ml.so, libopencv_objdetect.so, libopencv_photo.so, libopencv_stitching.so, libopencv_video.so, 和 libopencv_videoio.so

安装目录: /usr/include/opencv4, /usr/lib/cmake/opencv4, /usr/lib/python3.11/site-packages/cv2, /usr/share/licenses/opencv4, /usr/share/opencv4, 和 /usr/share/java/opencv4.

10.29 OpenJPEG-2.5.0


简介OpenJPEG

OpenJPEG是JPEG-2000标准的开源实现。OpenJPEG完全尊重JPEG-2000规范,可以对16位无损图像进行压缩/解压缩。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

OpenJPEG 依赖

必要

CMake-3.25.2

可选

Little CMS-2.14, libpng-1.6.39, libtiff-4.5.0, 和 Doxygen-1.9.6 (来构建API文档)

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/openjpeg2

安装OpenJPEG

运行以下命令安装OpenJPEG:

mkdir -v build &&
cd       build &&

cmake -DCMAKE_BUILD_TYPE=Release \
      -DCMAKE_INSTALL_PREFIX=/usr \
      -DBUILD_STATIC_LIBS=OFF .. &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install &&

pushd ../doc &&
  for man in man/man?/* ; do
      install -v -D -m 644 $man /usr/share/$man
  done
popd

内容

安装程序: opj_compress, opj_decompress, 和 opj_dump

安装库: libopenjp2.so

安装目录: /usr/include/openjpeg-2.5 和 /usr/lib/openjpeg-2.5

简短描述

opj_compress 将各种图像格式转换为jpeg2000格式。

opj_decompress 将jpeg2000图像转换为其他图像类型。

opj_dump 读取jpeg2000图像并将内容转储到标准输出。

10.30 Pixman-0.42.2


简介Pixman

Pixman包包含一个库,提供低级像素操作功能,如图像合成和梯形光栅化。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Pixman 依赖

可选

GTK+-2.24.33libpng-1.6.39 (用于测试和demo)

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/pixman

安装Pixman

运行以下命令安装Pixman:

mkdir build &&
cd    build &&

meson --prefix=/usr --buildtype=release &&
ninja

要测试结果,执行: ninja test.

现在,作为root用户:

ninja install

命令解释

--buildtype=release: 指定适合于包的稳定版本的构建类型,因为默认值可能会产生未优化的二进制文件。

内容

安装程序: None

安装库: libpixman-1.so

安装目录: /usr/include/pixman-1

简短描述

libpixman-1.so 包含提供低级像素操作功能的函数。

10.31 Poppler-23.02.0


简介Poppler

Poppler包包含一个PDF渲染库和用于操作PDF文件的命令行工具。这对于作为共享库提供PDF呈现功能非常有用。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

额外下载

Poppler编码数据

附加包由用于Poppler的编码文件组成。编码文件是可选的,如果它们存在,Poppler将自动读取它们。安装后,它们使Poppler能够正确渲染CJK和Cyrillic。

Poppler 依赖

必要

CMake-3.25.2, Fontconfig-2.14.2, 和 gobject-introspection-1.74.0

推荐

Boost-1.81.0, Cairo-1.17.6, Little CMS-2.14, libjpeg-turbo-2.1.5.1, libpng-1.6.39, nss-3.88.1, 和 OpenJPEG-2.5.0

可选

cURL-7.88.1, gdk-pixbuf-2.42.10, git-2.39.2 (下载测试文件), GTK-Doc-1.33.2, GTK+-3.24.36, libtiff-4.5.0, Qt-5.15.8 (Okular-22.12.2 中PDF支持的要求), 和 Qt-6.1 or later.

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/poppler

安装Poppler

运行以下命令安装Poppler:

mkdir build                         &&
cd    build                         &&

cmake  -DCMAKE_BUILD_TYPE=Release   \
       -DCMAKE_INSTALL_PREFIX=/usr  \
       -DTESTDATADIR=$PWD/testfiles \
       -DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
       ..                           &&
make

为了运行测试套件,需要一些测试用例,并且只能从git存储库中获得。下载它们的命令是: git clone –depth 1 https://gitlab.freedesktop.org/poppler/test.git testfiles. 之后执行: LC_ALL=en_US.UTF-8 make test.

现在,作为root用户:

make install

要安装文档,以root身份运行以下命令:

install -v -m755 -d           /usr/share/doc/poppler-23.02.0 &&
cp -vr ../glib/reference/html /usr/share/doc/poppler-23.02.0

Poppler 数据

如果您下载了额外的编码数据包,请通过发出以下命令安装它:

tar -xf ../../poppler-data-0.4.12.tar.gz &&
cd poppler-data-0.4.12

现在,作为root用户:

make prefix=/usr install

命令解释

-DCMAKE_BUILD_TYPE=Release: 此开关用于应用更高级别的编译器优化。

-DTESTDATADIR=$PWD/testfiles: 告诉测试程序辅助文件的位置。

-DENABLE_UNSTABLE_API_ABI_HEADERS=ON: 安装某些程序所需的旧Xpdf头文件。

-DENABLE_GTK_DOC=ON: 如果安装了GTK-Doc,并且希望重新构建和安装API文档,则使用此参数。

-DENABLE_BOOST=OFF: 如果没有安装boost,请使用此参数(Qt5的Splash后端建议使用boost)。

LC_ALL=en_US.UTF-8 make test: 运行测试套件。环境变量LC_ALL=en_US.UTF-8仅在默认语言环境不包括UTF-8时才需要。

内容

安装程序: pdfattach, pdfdetach, pdffonts, pdfimages, pdfinfo, pdfseparate, pdfsig, pdftocairo, pdftohtml, pdftoppm, pdftops, pdftotext, 和 pdfunite

安装库: libpoppler.so, libpoppler-cpp.so, libpoppler-glib.so, 和 libpoppler-qt5.so

安装目录: /usr/include/poppler, /usr/share/poppler, 和 /usr/share/doc/poppler-23.02.0

简短描述

pdfattach 将新的嵌入式文件添加到现有的PDF文件。

pdfdetach 列出或从PDF文件中提取嵌入式文件。

pdffonts 列出PDF文件中使用的字体以及每种字体的各种信息。

pdfimages 将PDF文件中的图像保存为PPM、PBM或JPEG文件。

pdfinfo 从PDF文件中打印“信息”字典的内容(加上一些其他有用的信息)。

pdfseparate 从PDF文件中提取单个页面。

pdfsig 验证PDF文档中的数字签名。

pdftocairo 使用poppler库的cairo输出设备将PDF文件转换为几种格式(PNG, JPEG, PDF, PS, EPS, SVG)之一。

pdftohtml 将PDF文件转换为HTML。

pdftoppm 将PDF文件转换为PBM, PGM和PPM格式。

pdftops 将PDF文件转换为Postscript格式。

pdftotext 将PDF文件转换为纯文本。

pdfunite 将多个PDF文件(按照它们在命令行中出现的顺序)合并为一个PDF输出文件。

libpoppler.so 包含呈现PDF文件的API函数。

libpoppler-cpp.so 是一个用于呈现PDF文件的C++后端。

libpoppler-glib.so 是一个包装器库,用于将PDF呈现函数与GTK+连接起来。

libpoppler-qt5.so 是一个包装器库,用于将PDF呈现函数与Qt5连接起来。

10.32 Potrace-1.16


简介Potrace

Potrace是一个将位图(PBM、PGM、PPM或BMP格式)转换为几种矢量文件格式之一的工具。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Potrace 依赖

推荐

LLVM-15.0.7 (包括 clang)

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/potrace

安装Potrace

运行以下命令安装Potrace:

./configure --prefix=/usr                        \
            --disable-static                     \
            --docdir=/usr/share/doc/potrace-1.16 \
            --enable-a4                          \
            --enable-metric                      \
            --with-libpotrace                    &&
make

要运行测试套件,执行: make check.

现在,作为root用户:

make install

命令解释

--enable-a4: 使用A4作为默认纸张尺寸。

--enable-metric: 默认使用公制单位(厘米)。

--disable-static: 此开关防止安装库的静态版本。

--with-libpotrace: 安装库和头文件。

内容

安装程序: mkbitmap, potrace

安装库: libpotrace.so

安装目录: /usr/share/doc/potrace-1.16

简短描述

mkbitmap 通过缩放和过滤将图像转换为位图。

potrace 将位图转换为矢量图形。

libpotrace.so 是一个用于将位图转换为矢量图形的库。

10.33 Qpdf-11.2.0


简介Qpdf

Qpdf包包含命令行程序和一个库,用于对PDF文件进行结构化的、保留内容的转换。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Qpdf 依赖

必要

libjpeg-turbo-2.1.5.1

可选

fop-2.8, GnuTLS-3.8.0, 和 sphinx-6.1.3

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/qpdf

安装Qpdf

运行以下命令安装Qpdf:

mkdir build &&
cd    build &&

cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release  \
      -DBUILD_STATIC_LIBS=OFF     \
      -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/qpdf-11.2.0 \
      .. &&
make

要测试结果,执行: ctest.

现在,作为root用户:

make install

内容

安装程序: fix-qdf, qpdf, 和 zlib-flate

安装库: libqpdf.so

安装目录: /usr/lib/cmake/qpdf, /usr/include/qpdf, 和 /usr/share/doc/qpdf-11.2.0

简短描述

fix-qdf 用于在编辑后修复QDF格式的PDF文件。

qpdf 用于将一个PDF文件转换为另一个等效的PDF文件。

zlib-flate 是原始的zlib压缩程序。

libqpdf.so 包含Qpdf API函数。

10.34 qrencode-4.1.1


简介qrencode

Qrencode是一个快速而紧凑的库,用于将数据编码为QR码符号,QR码符号是一种二维符号,可以通过手持终端(如带有CCD传感器的手机)扫描。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

Qrencode 依赖

推荐

libpng-1.6.39

可选

Doxygen-1.9.6 用于生成文档,以及 SDL2-2.26.3 用于测试

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/qrencode

安装qrencode

运行以下命令安装libqrencode:

./configure --prefix=/usr &&
make

如果你已经安装了Doxygen-1.9.6,你可以通过以下命令来构建文档:

doxygen

测试必须在安装包之后运行。

现在,作为root用户:

make install

如果你已经构建了可选的文档,以root用户安装:

install -vdm 755 /usr/share/doc/qrencode-4.1.1 &&
mv html/* /usr/share/doc/qrencode-4.1.1

为了测试结果,如果你已经通过了--with-tests选项来configure,执行:make check

命令解释

--with-tests: 这个选项允许构建测试程序。它需要 SDL2-2.26.3

--without-tools: 此选项阻止构建qrencode可执行文件,从而消除了对 libpng-1.6.39的需求。

内容

安装程序: qrencode

安装库: libqrencode.so

安装目录: /usr/share/doc/qrencode-4.1.1 (可选)

简短描述

qrencode 将输入数据编码为QR码,并将其保存为PNG或EPS图像。

libqrencode.so 包含在QR码符号中编码数据的函数。

10.35 sassc-3.6.2


简介sassc

SassC是libsass的包装,libsass是一种CSS预处理器语言。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

额外下载

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/sassc

安装sassc

首先,构建库:

tar -xf ../libsass-3.6.5.tar.gz &&
pushd libsass-3.6.5 &&

autoreconf -fi &&

./configure --prefix=/usr --disable-static &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

构建命令行包装器:

popd &&
autoreconf -fi &&

./configure --prefix=/usr &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

内容

安装程序: sassc

安装库: libsass.so

安装目录: /usr/include/sass

简短描述

sassc 提供libsass库的命令行接口。

10.36 woff2-1.0.2


简介WOFF2

WOFF2是一个将字体从TTF格式转换为woff2.0格式的库。它还允许从WOFF 2.0解压到TTF。WOFF 2.0格式使用Brotli压缩算法压缩适合在CSS @font-face规则中下载的字体。

已知此包可以使用LFS 11.3平台进行构建并正常工作。

包信息

WOFF2 依赖

必要

Brotli-1.0.9CMake-3.25.2

用户笔记: https://wiki.linuxfromscratch.org/blfs/wiki/woff2

安装WOFF2

运行以下命令安装WOFF2:

mkdir out                           &&
cd    out                           &&
cmake -DCMAKE_INSTALL_PREFIX=/usr \
      -DCMAKE_BUILD_TYPE=Release .. &&
make

这个包没有附带测试套件。

现在,作为root用户:

make install

内容

安装程序: None

安装库: libwoff2common.so, libwoff2dec.so 和 libwoff2enc.so

安装目录: /usr/include/woff2

简短描述

libwoff2common.so 提供libwoff2dec和libwoff2enc库使用的共享数据。

libwoff2dec.so 是WOFF2解码器库。

libwoff2enc.so 是WOFF2编码器库。

上一页      主目录      下一页