总结

总结

结论

如何mupdf-gl在 Ubuntu 18.04 上安装(最好不从源代码构建)?


我最近开始使用 MuPDF。我尝试在装有 Ubuntu 18.04.3 的台式机上安装它。但是,我只能获得它的 X11 版本。我更喜欢使用 OpenGL 渲染的版本;这是我在笔记本电脑上一直使用的版本。我更喜欢它,但此时此刻,我只想知道我做错了什么,并学会做对 :)

我做了什么

我首先使用 终端安装了 MuPDF sudo apt install mupdf。非常简单。但这并不是我所期望的:我立即注意到按键绑定不同。

我检查了版本。它是 MuPDF 1.12。最新版本是 1.16。我想可能是这个版本,于是我开始寻找如何安装更新的版本。

我发现这篇 UbuntuHandbook 文章关于安装版本 1.13。我清除了我的安装,添加了他们的 PPA,更新并重新安装,这样我得到了版本 1.14。然而,仍然没有运气。当我运行时,mupdf它仍然表现相同。

mupdf-gl在研究我的问题时,我看到了一些对和命令的引用mupdf-x11。所以我在我的文件中挖掘了一下。我发现/usr/bin/mupdf运行/usr/lib/mupdf/mupdf-x11。但找不到mupdf-gl

此时,我意识到我的问题与版本无关。查看 MuPDF 的发布历史我看到 OpenGL 查看器已推出 1.8 版本。

我还没试过从源代码构建库。据我所知,其他人似乎没有遇到通过存储库安装的相同问题。我甚至发现了这个Gentoo 论坛帖子有人无意中使用了 OpenGL 查看器并抱怨旧的键绑定不起作用。

如果相关的话,glxinfo | grep "OpenGL version"在我的终端运行会产生结果OpenGL version string: 3.3 (Compatibility Profile) Mesa 19.2.8

这是我在 Stack Exchange 上的第一篇文章,因此,对于我的格式的任何反馈都将非常感谢。

答案1

总结

这是 Ubuntu 打包的一个错误,已经向 launchpad 报告了 bug 1740105

从源代码编译或安装

你需要什么

分析ArchLinux 中的 PKGBUILD 文件表明 muPDF 需要freeglutglu以及mesa-libglOpenGL 库。

在 Ubuntu 上,构建依赖项的模拟(通过apt-get build-dep使用-s标志运行)会安装许多与 OpenGL 相关的软件包(包括前面提到的):

$ sudo apt-get build-dep mupdf -s | grep Inst.*gl
Inst freeglut3 (2.8.1-3 Ubuntu:18.04/bionic [amd64])
Inst libglvnd-core-dev (1.0.0-2ubuntu2.3 Ubuntu:18.04/bionic-updates [amd64])
Inst libgles1 (1.0.0-2ubuntu2.3 Ubuntu:18.04/bionic-updates [amd64])
Inst libopengl0 (1.0.0-2ubuntu2.3 Ubuntu:18.04/bionic-updates [amd64])
Inst libglvnd-dev (1.0.0-2ubuntu2.3 Ubuntu:18.04/bionic-updates [amd64])
Inst libxcb-glx0-dev (1.13-2~ubuntu18.04 Ubuntu:18.04/bionic-updates [amd64])
Inst libgl1-mesa-dev (19.2.8-0ubuntu0~18.04.1 Ubuntu:18.04/bionic-updates [amd64])
Inst libglu1-mesa-dev (9.0.0-2.1build1 Ubuntu:18.04/bionic [amd64])
Inst freeglut3-dev (2.8.1-3 Ubuntu:18.04/bionic [amd64])

而 muPDF 的默认安装提供了以下库依赖项:

$ ls /usr/lib/mupdf/mupdf* -1
/usr/lib/mupdf/mupdf-x11

$ ldd /usr/lib/mupdf/mupdf-x11 | grep -i gl
    libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f55297f6000)

所以我们没有前面列表中显示的 OpenGL 库。

在 18.04 LTS 上该做什么

为了获得 OpenGL 支持,我们确实需要

  • (a)使用构建依赖项重新编译包。因此运行:

    sudo apt-get build-dep mupdf mupdf-tools
    
    cd ~/Downloads
    apt-get source mupdf
    
    cd mupdf-1.12.0+ds1
    make
    sudo make install
    

    您将被mupdf-gl编译并安装到/usr/local/bin/mupdf-gl

  • (b)使用来自的预构建包电力购买协议,因此您可以从那里安装 mupdf:

    sudo add-apt-repository ppa:cges30901/app
    sudo apt-get update
    sudo apt-get install mupdf
    

    并将mupdf-gl可用。

在 Ubuntu 20.04 LTS 上该做什么

这里存在电力购买协议,因此您可以从那里安装 mupdf:

sudo add-apt-repository ppa:cges30901/app
sudo apt-get update
sudo apt-get install mupdf

并将mupdf-gl可用。

22.04 LTS 发布后该怎么办

没什么,只需从存储库安装官方软件包即可,舰船mupdf-gl

答案2

在 20.04 中这仍然是一个问题。要构建最新版本,请转到https://www.mupdf.com/downloads/index.html找到最新的源。目前是 1.18.0。然后

wget https://www.mupdf.com/downloads/archive/mupdf-1.18.0-source.tar.xz
tar xf mupdf-1.18.0-source.tar.xz
cd mupdf-1.18.0-source
sudo apt install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev \
  xorg-dev libxcursor-dev libxrandr-dev libxinerama-dev freeglut3-dev
make
sudo make prefix=/usr/local install

相关内容