Arch Linux 安装 openpose 踩坑记录
Arch Linux 安装 openpose 踩坑记录
尝试在 Arch Linux 上安装 CMU-Perceptual-Computing-Lab/openpose
- 使用
yay -S openpose
安装遇到错误:
在 AUR 的 openpose软件包 评论下找到可能的解决办法:
没有找到 yay 安装时的具体错误位置,错误似乎相似,开始尝试:
没有找的这个文件,并且在 AUR 中的多个 caffe 都安装失败,也没有找到 abseillts 这个软件包。
- 尝试从源代码构建
根据教程走,遇到问题
缺少 atlas-lapack 包,使用 yay 安装,遇到问题
在 AUR 的 atlas-lapack 软件包评论下找到解决方案:
参照解决办法注释警告行:
重新安装,报新的错误(部分节选):
根据最后的大段提示,其中部分提到
CPU Throttling apparently enabled!
It appears you have cpu throttling enabled, which makes timings
unreliable and an ATLAS install nonsensical.If your machine has OS throttling enabled, it is critical that you disable
it (with something like cpufreq-set).如果您的机器启用了操作系统节流,则必须禁用它(使用类似 cpufreq-set 的命令)。有关详细信息,请参阅 INSTALL.txt。
翻译:
CPU 节流显然已启用!
看来您已启用 CPU 节流,这会使计时不可靠,ATLAS 安装毫无意义。如果您的机器启用了操作系统节流,则必须禁用它(使用类似 cpufreq-set 的命令)。有关详细信息,请参阅 INSTALL.txt。
应该是指定评论提到的问题(我在解决上一个问题之前已经按照上面的做法做了,但是仍然报这个错误。再做一遍):
编辑:/etc/default/grub
中的内容,修改以下行:
1 | GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable" |
评论是这么写的,但是我仅仅是把intel_pstate=disable
添加到了末尾。
更新 grub :
1 | grub-mkconfig -o /boot/grub/grub.cfg |
启用 acpi-cpufreq 模块
1 | su root # 切换到 root 用户 |
找到问题所在了,原评论中写:
And then enable acpi-cpufreq module: su root echo “acpi-cpufreq” > /etc/modules-load.d/acpi-cpufreq.conf restart.
他把所有命令都写在了一行,我在终端执行的命令为:
1 | echo "acpi-cpufreq" > /etc/modules-load.d/acpi-cpufreq.conf restart |
我查看 /etc/modules-load.d/acpi-cpufreq.conf
发现其中内容是 acpi-cpufreq restart
,所以评论者的意思应该是把acpi-cpufreq
写入,然后重启系统的意思。
现在cpupower可以正确设置频率了。禁用 throtling:
1 | sudo pacman -S cpupower |
这里应该就是应用于所有核心了。完成
但问题还是没有解决,给的教程是基于 intel cpu 的 ,前面编辑/etc/default/grub
禁用的是 intel_pstate
,而我使用的是 AMD。
多方查找无果,放弃。
总结一下问题:
yay 安装 openpose 出错,需要两个包,其中一个是 caffe ,尝试使用 yay 安装 caffe
1 | yay -S caffe-cuda # 使用GPU加速版本 |
报错:和 glog 有关,查了一下可能是版本问题,使用 downgrade 降级 glog:
1 | sudo downgrade google-glog |
从 0.7.0 降级到 0.6.0 ,重新安装,原本错误不再报。新错误找不到头文件 <opencv2/core/core.hpp>
,查了一下,头文件实际位于:/usr/include/opencv4/opencv2/core/core.hpp
,把/usr/include/opencv4/
添加到 g++ 编译器的头文件搜索路径中:
1 | vim ~/.zshrc # 使用 bash 就是~/.bashrc |