Dunst: 将通知守护程序 Dunst 从 0.2.0-1 更新到 1.2.0。

创建于 2017-08-18  ·  4评论  ·  资料来源: dunst-project/dunst

将通知守护程序 Dunst 从 0.2.0-1 更新到 1.2.0。

在 Ubuntu 12.10 Quantal 中,我有旧版本的 Dunst - 0.2.0-1。
https://github.com/dunst-project/dunst/archive/v1.2.0.tar.gz下载新的 1.2.0
解压到 ~/src/dunst-1.2.0
键入 make
请参阅在 pkg-config 搜索路径中找不到包“dbus-1”
键入 sudo apt-get install libdbus-1-dev

很好,但接下来是在 pkg-config 搜索路径中找不到包 glib-2.0
sudo apt-cache 搜索 glib
须藤 apt-get 安装 libglib2.0-0 libglib2.0-dev
请求 'glib-2.0 >= 2.36' 但 GLib 的版本是 2.34.1
须藤 apt-get 安装 libpango1.0-0 libpango1.0-dev
好的。

sudo apt-get install gir1.2-gdkpixbuf-2.0 libgdk-pixbuf2.0-0 libgdk-pixbuf2.0-common libgdk-pixbuf2.0-dev libgdkcutter-pixbuf0
sudo apt-get install libgtk2.0-dev libglib2.0-dev - 太好了!
/usr/lib/i386-linux-gnu/pkgconfig/gdk-2.0.pc

制作
请求 'glib-2.0 >= 2.36' 但 GLib 的版本是 2.34.1
config.mk:50: * "pkg-config 失败,请参阅上面的错误"。 停止。

cat /usr/lib/i386-linux-gnu/pkgconfig/glib-2.0.pc
名称:Glib
描述:C 实用程序库
版本:2.34.1

我打开 config.mk 并在 pkg_config_packs 中将 glib-2.0 >= 2.36 更改为 2.34
键入 make 和
cc -o src/x11/screen.o -c src/x11/screen.c -g --std=gnu99 -pedantic -Wall -Wno-overlength-strings -Os -D_DEFAULT_SOURCE -DVERSION=\""1.2.0 ( 2017-07-12)"\" -pthread -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -I/usr/include/glib-2.0 - I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/ include/freetype2 -I/usr/include/libpng12 -I/usr/include/gtk-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix- 2.0/ -I/usr/include/gdk-pixbuf-2.0 -I.
src/x11/screen.c:在函数“randr_update”中:
src/x11/screen.c:102:9: 错误:未知类型名称“XRRMonitorInfo”
src/x11/screen.c:102:9: 警告:函数“XRRGetMonitors”的隐式声明 [-Wimplicit-function-declaration]
src/x11/screen.c:102:29: 警告:初始化使指针从整数而不进行强制转换 [默认启用]
src/x11/screen.c:113:40: 错误:在不是结构或联合的东西中请求成员“x”
src/x11/screen.c:114:40: 错误:在不是结构或联合的东西中请求成员“y”
src/x11/screen.c:115:40: 错误:在不是结构或联合的东西中请求成员“宽度”
src/x11/screen.c:116:40: 错误:在非结构或联合体中请求成员“高度”
src/x11/screen.c:117:42: 错误:在非结构或联合体中请求成员“mheight”
src/x11/screen.c:120:9: 警告:函数“XRRFreeMonitors”的隐式声明 [-Wimplicit-function-declaration]
制作: * [src/x11/screen.o] 错误 1

我下载了https://ftp.gnome.org/pub/gnome/sources/glib/2.36/glib-2.36.4.tar.xz
打开包装并
grep -Ril "XRRMonitorInfo" ./
grep -Ril "XRRGetMonitors" ./
没有。 嗯,这些函数不在 glib 2.36 中!

我发现https://cgit.freedesktop.org/xorg/lib/libXrandr/tree/src/XrrMonitor.c - 有 XRRMonitorInfo、XRRGetMonitors 和 XRRFreeMonitors 代码。
我输入 sudo find / -iname XrrMonitor.c 什么也没有。

我需要更新 libxrandr!
我有什么版本的 libxrandr?

dpkg -L libxrandr-dev
输出是
/.
/usr
/usr/共享
/usr/share/doc
/usr/share/doc/libxrandr-dev
/usr/share/doc/libxrandr-dev/copyright
/usr/共享/人
/usr/share/man/man3
/usr/share/man/man3/Xrandr.3.gz
/usr/lib
/usr/lib/i386-linux-gnu
/usr/lib/i386-linux-gnu/pkgconfig
/usr/lib/i386-linux-gnu/pkgconfig/xrandr.pc
/usr/lib/i386-linux-gnu/libXrandr.a
/usr/包括
/usr/include/X11
/usr/include/X11/extensions
/usr/include/X11/extensions/Xrandr.h
/usr/share/doc/libxrandr-dev/changelog.Debian.gz
/usr/share/man/man3/XRRSelectInput.3.gz
/usr/share/man/man3/XRRGetScreenInfo.3.gz
/usr/share/man/man3/XRRRootToScreen.3.gz
/usr/share/man/man3/XRRFreeScreenConfigInfo.3.gz
/usr/share/man/man3/XRRConfigCurrentConfiguration.3.gz
/usr/share/man/man3/XRRQueryVersion.3.gz
/usr/share/man/man3/XRRConfigSizes.3.gz
/usr/share/man/man3/XRRConfigCurrentRate.3.gz
/usr/share/man/man3/XRRConfigTimes.3.gz
/usr/share/man/man3/XRRSetScreenConfigAndRate.3.gz
/usr/share/man/man3/XRRConfigRotations.3.gz
/usr/share/man/man3/XRRSetScreenConfig.3.gz
/usr/share/man/man3/XRRQueryExtension.3.gz
/usr/share/man/man3/XRRConfigRates.3.gz
/usr/lib/i386-linux-gnu/libXrandr.so

cat /usr/lib/i386-linux-gnu/pkgconfig/xrandr.pc
名称:Xrandr
描述:X RandR 库
版本:1.4.0

https://launchpad.net/ubuntu/+source/libxrandr/+publishinghistory
Ubuntu 12.10 Quantal(版本 2:1.4.0-1ubuntu0.1)软件包 libxrandr 的最后更新时间为 2015-04-24 11:19:49 UTC。

我有 1.4.0 版本的 libxrandr。

我从https://cgit.freedesktop.org/xorg/lib/libXrandr/tree/src下载了所有 *.c 和 *.h 文件并将它们放入 /home/vova/src/dunst-1.2.0/src
使 - 和错误“src/x11/XrrMonitor.c:157:5:错误:未知类型名称'xRRSetMonitorReq'”
我做错了什么,这将是更新 libxrandr 的简便方法。

最好的问候,弗拉基米尔

最有用的评论

您的系统根本就不是受支持的平台。 dunst 有最低要求,没有它们就无法运行。

所有4条评论

在 Ubuntu 12.10 Quantal 中,我有旧版本......

自 2014 年 5 月起,Quantal 已被弃用。已经超过 3 年了!

诚实的问题:您是否希望维护人员帮助您将过时的 dunst 向后移植到您的系统?


编辑:对不起,粗鲁的声音。 作为这个项目的局外人,我没有资格用这种语气说话。 我也不想期待 Nikos 的回答。 但是在您的情况下,我宁愿寻找自己的错误,也不愿要求维护人员支持我过时的系统或帮助我向后移植。

我同意@bebehei你的系统已经过时了,它甚至不是长期使用它的 LTS 版本,我强烈建议更新。

我确实看了一下,看起来XRRMonitorInfo是在 libxrandr 的 1.5 版中添加的。

话虽如此, >= 2.36在 glib 中的块是有原因的,盲目地删除它是一个坏主意。 老实说,我根本不希望 dunst 在这么老的系统上工作。

是的,伙计们,我的系统已经过时了!!!
但是,这个问题没有 Ubuntu,只更新 Dunst。

您的系统根本就不是受支持的平台。 dunst 有最低要求,没有它们就无法运行。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

atomheartother picture atomheartother  ·  6评论

Kaligule picture Kaligule  ·  5评论

patrick-motard picture patrick-motard  ·  6评论

ghost picture ghost  ·  5评论

phuhl picture phuhl  ·  3评论