结论
如何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 需要freeglut
、glu
以及mesa-libgl
OpenGL 库。
在 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