如何仅安装 Clang 和 LLVM 的文档和手册页?我根据 LLVM 网站上的源代码从源代码编译了当前版本,它运行良好,但由于它是一个本地自包含存储库(它可以从您的主目录运行,假设您的路径中有它的 bin 子目录),它不会安装手册页或文档。
我卸载了 Clang/LLVM 的 Ubuntu 包以避免任何可能的冲突,但这也删除了 Clang 手册页。我如何只安装手册页和文档。如果手册页从技术上讲来自与安装的编译器相比的几个版本,那么我可以接受(如果需要)。
谢谢。
答案1
- 清理包缓存:
sudo apt-get clean
- 下载 debs:
sudo apt-get install -d clang llvm
- 将 debs 解压到“工作”目录下:
find /var/cache/apt/archives/ -name "*.deb" -exec dpkg-deb -x {} work \;
- 将文档和手册页复制到 /usr/share:
sudo cp -a work/usr/share/{doc,man} /usr/share/
您现在可以删除工作目录:rm -rf work
。
我注意到有很多与 llvm 相关的软件包。将所有需要的软件包添加到步骤 2,特别是 -doc(llvm-2.8-doc、llvm-2.9、llvm-3.0)。
答案2
Debian 软件包不知道软件包中的哪些文件是文档文件。因此,您唯一的办法就是偷懒,手动下载软件包,然后只提取其中的手册页。
下载软件包,但不要立即安装:
这里的挑战是确定哪个包实际上包含您要查找的手册页。例如,clang-3.8 包没有自己的 clang 手册页,您需要安装 clang-3.6...
# apt download clang-3.6 [...] # ls clang*deb clang-3.6_1%3a3.6.2-3ubuntu2_amd64.deb
仅安装手册页
sudo dpkg install --path-exclude=/* --path-include=/usr/share/man \ clang-3.6_1%3a3.6.2-3ubuntu2_amd64.deb
警告:包管理器现在认为您已正确安装了 clang。因此系统可能会出现错误。例如,它 sudo apt install clang-3.6
会告诉您包已安装最新版本,但它不会执行任何操作。您必须sudo apt remove clang-3.6
先执行此操作,然后才能真正安装它。此外,任何包升级都将用包的完整版本覆盖精简的手动安装。
您已收到警告。请自行承担风险。
也就是说,做这样奇怪的事情可能是有价值的,例如在创建超小的docker镜像时。