无法构建 poppler 0.62.0,出现以下错误
源代码:https://poppler.freedesktop.org/poppler-0.62.0.tar.xz
-- Package Qt5Core or Qt5Gui or Qt5Xml or Qt5Widgets or Qt5Test not found
-- Checking for module 'gobject-introspection-1.0'
-- No package 'gobject-introspection-1.0' found
-- Checking for modules 'gtk+-3.0>=3.8;gdk-pixbuf-2.0'
--
-- Could NOT find GTK (missing: GTK3_LIBRARIES GTK3_CFLAGS)
-- Checking for module 'libopenjp2'
-- No package 'libopenjp2' found CMake Error at CMakeLists.txt:199 (message): Install libopenjpeg2 before trying to build poppler. You
can also decide to use the internal unmaintained JPX decoder or none
at all.
-- Configuring incomplete, errors occurred! See also "/home/ubuntu/imagemagick_build/poppler-0.62.0/build/CMakeFiles/CMakeOutput.log".
See also
"/home/ubuntu/imagemagick_build/poppler-0.62.0/build/CMakeFiles/CMakeError.log".
我也安装了libopenjp2-tools
,仍然出错
答案1
要在 16.04 LTS 上安装 Poppler,请执行以下操作:
- 启用来自的源包软件与更新。
- 使用以下方式安装构建依赖项
sudo apt-get build-dep libpoppler58
- 使用以下命令安装 cmake
sudo apt-get install cmake
libopenjp2
安装开发包sudo apt-get install libopenjp2-7-dev
- 使用以下方式安装 Gdk-PixBuf
sudo apt-get install libgdk-pixbuf2.0-dev
- 安装 checkinstall 来制作 deb 包
sudo apt-get install checkinstall
下载并运行编译:
cd /tmp wget https://poppler.freedesktop.org/poppler-0.62.0.tar.xz tar -xf poppler-0.62.0.tar.xz cd poppler-0.62.0 mkdir build cd build cmake .. sudo checkinstall make install
在 checkinstall 会话中执行以下操作:
- 为了我应该创建一组默认的包文档吗?回答n。
- 进入libpoppler-0.62.0作为包装描述并按Ctrl+ D;
- 输入 2 并输入利波普勒作为包名称,按Enter;
- 输入 3 并输入0.62.0-本地作为包版本,按Enter;
- 按Enter继续(开始编译和 deb 包构建)
您可以使用以下命令验证软件包的安装
apt-cache policy libpoppler
:
libpoppler:
Installed: 0.62.0-local-1
Candidate: 0.62.0-local-1
Version table:
*** 0.62.0-local-1 100
100 /var/lib/dpkg/status
二进制文件将安装到在/usr/本地/bin(您可以使用 进行检查dpkg -L libpoppler
)。
答案2
(这应该是对 N0rbert 的回答的评论,但我无法评论)
按照 N0rbert 的解决方案,我遇到了几个问题,但我通过以下方法成功解决了这些问题
每次 cmake 或 checkinstall 抱怨缺少文件时,我都会使用
apt-file search name-of-missing-file
(您可能必须通过 安装sudo apt-get install apt-file
)
搜索将返回包含此类文件的包的名称,然后我要做的就是安装 cmake 或 checkinstall 所抱怨的每个包
sudo apt-get install --reinstall name-of-pack-according-to-search
然后再次运行 cmake 或 checkinstall(取决于哪一个抱怨),并搜索文件并安装包,直到它不再抱怨并且安装成功。
就我而言,大多数问题都与 Qt5 有关,我在尝试安装 poppler 时肯定安装了 Qt5。我肯定以某种方式进行了错误的安装,这就是为什么我必须在每个软件包上使用 --reinstall