it does not work on debian 7

Asked by bugreporter on 2013-11-30

fail to work on debian 7 ,can it support debian.i try the gtk version for debian-xfce,it shows the icon on panel,but it seems that it does not colletct any notifications

Question information

Language:
English Edit question
Status:
Solved
For:
recent-notifications Edit question
Assignee:
No assignee Edit question
Solved by:
bugreporter
Solved:
2013-12-01
Last query:
2013-12-01
Last reply:
2013-11-30
Jason Conti (jconti) said : #1

Recent versions of dbus require enabling eavesdropping. This is fixed in the gtk3 version but not in the gtk2 because nobody has asked me to build a version for recent ubuntus.

If you are building this from source, you can make the change and it will probably work. On line 34 of src/dbus-spy.c we have:

#define MATCH_STRING "type='method_call',interface='org.freedesktop.Notifications',member='Notify'"

which needs to be changed to:

#define MATCH_STRING "eavesdrop=true,type='method_call',interface='org.freedesktop.Notifications',member='Notify'"

bugreporter (opensoul) said : #2

could you please make a build? i failed to build

bugreporter (opensoul) said : #3

>>>>>>>>>>>>>>>>>>$: ./configure INDICATOR_CFLAGS=4.0 INDICATOR_LIBS=2.0
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... gcc3
checking for library containing strerror... none required
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) gcc3
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert i686-pc-linux-gnu file names to i686-pc-linux-gnu format... func_convert_file_noop
checking how to convert i686-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether NLS is requested... yes
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.18.1
checking for XML::Parser... ok
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.16... yes
checking for INDICATOR... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating data/Makefile
config.status: creating data/icons/Makefile
config.status: creating po/Makefile.in
config.status: creating tests/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands
config.status: executing po/stamp-it commands
configure:

Recent Notifications Indicator Configuration:

 Prefix: /usr/local
 Indicator Dir:
>>>>>>>>>:~/Downloads/indicator-notifications-gtk2-0.2.4.1$ make
make all-recursive
make[1]: Entering directory `/home/iii/Downloads/indicator-notifications-gtk2-0.2.4.1'
Making all in src
make[2]: Entering directory `/home/iii/Downloads/indicator-notifications-gtk2-0.2.4.1/src'
  CC libnotifications_la-dbus-spy.lo
gcc: error: 4.0: No such file or directory
make[2]: *** [libnotifications_la-dbus-spy.lo] Error 1
make[2]: Leaving directory `/home/iii/Downloads/indicator-notifications-gtk2-0.2.4.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/iii/Downloads/indicator-notifications-gtk2-0.2.4.1'
make: *** [all] Error 2
>>>>>>>>>>>>>>>>>>

Jason Conti (jconti) said : #4

I can build the package, but I'm not sure where I would put it. Were you using one of the packages from the PPA before? I was just about to patch the indicator-notifications-gtk2 package, but discovered I had already done it from the quantal version. If you were using the ppa, were you using the precise version? If so try the quantal version.

If not let me know, I can upload builds for raring and saucy to the ppa, which might work. Otherwise I can walk you through building the package on debian.

bugreporter (opensoul) said : #5

thanks ,the quantal version does work,but i first install the non-gtk version to solver the denpendency problem ,then install the gtk-version .
if you are available and convenient,tell me how to make a successful build from the source

Jason Conti (jconti) said : #6

Sure. If you want to build the package I think the easiest way is from bzr:

apt-get install bzr bzr-builddeb
bzr branch lp:~jconti/recent-notifications/ppa-indicator-gtk2
cd ppa-indicator-gtk2
apt-get install debhelper pkg-config intltool libindicator-dev libindicator3-dev libglib2.0-dev
libgdk-pixbuf2.0-dev libgtk2.0-dev
bzr bd -- -uc -us

That will install the packages you need and build a package without signing it, grabbing it from the bzr packaging branch.

Otherwise you could just get the normal branch and do the configure/make/make install, as long as you've installed the required packages above, plus one more I'll list below:

bzr branch lp:~jconti/recent-notifications/indicator-gtk2
cd indicator-gtk2
apt-get install gnome-common
./autogen.sh --prefix=/usr
make
make install

Basically the only change to the normal process is you need to set --prefix=/usr so it doesn't install to /usr/local, otherwise the indicator-applet can't find it. Hope that helps.

Jason Conti (jconti) said : #7

Note that if building the package you might want to update debian/rules to delete the lines that delete the icons from the package. The reason is that both indicator-notifications and the -gtk2 version use the same icons, so I only put the icons in one of the packages, otherwise there will be conflicts.