1

我正在尝试将 conky 配置为与 cairo 一起使用,我在默认 .conkyrc 的顶部添加了“require 'libcairo'”以确保它会加载,但是,当我运行 conky 时,它给了我这个错误:

error loading module 'libcairo' from file './libcairo.so':
./libcairo.so: undefined symbol: luaopen_libcairo

一直在浏览其他相关问题,大部分都提示lua版本和cairo库不匹配。我确保我使用的是 Lua 5.3,并且我从他们下载页面上的 tarball 编译了最新版本的 Cairo(版本 1.17.4)。

我尝试使用 Lua 解释器加载模块并确定实际导致错误的原因,但是当我给出它时

>require 'libcairo'

它返回相同的错误。

清除并重新安装 conky、lua 和 libcairo 后,它仍然无法正常工作。我不知道我哪里出错了,但我很乐意提供读者需要帮助的任何信息。

编辑:我应该补充一点,我正在使用带有 KDE5 的 Arch

4

2 回答 2

0
sudo apt install libcairo2-dev

您可能已经完成了以下这些命令,但不同之处在于 cmake。
只需包含-D您希望使用的标志的名称。

mkdir build  
cd build  
cmake -DBUILD_LUA_CAIRO=true ..  
nice make -j$(nproc)  
sudo make install  

https://github.com/brndnmtthws/conky/blob/master/cmake/ConkyBuildOptions.cmake


开罗可能需要 Pango。我不会说你必须安装它,但如果上面的命令没有让你到达你要去的地方,那么我会将 pango / freetype 库作为可能的来源来解释原因。

sudo apt install libpango1.0-dev
cmake -DBUILD_LUA_CAIRO=true -DBUILD_XFT=true ..
于 2021-01-20T14:41:47.157 回答
0

在 Pop!_OS 21.04(= Ubuntu 20.04 加上一些附加功能)上,我只需安装 conky-all 软件包,它会卸载不适用于 Cairo 的 conky-std。

于 2021-10-17T13:30:02.490 回答