gtk-gnutella isn't correctly installed

Bug #12187 reported by jaco on 2005-01-23
6
Affects Status Importance Assigned to Milestone
Ubuntu
Medium
Daniel T Chen

Bug Description

I've installed gtk-gnutella package. The installation seems to be proceed
without problem, but if u try to run gnutella from the menu or from console no
gtk-gnutella o gnutella binary seems to be copied in the system.

http://www.jaco.it: http://www.jaco.it

Daniel T Chen (crimsun) wrote :
Download full text (11.9 KiB)

From my build log:

cc -c -I../../../.. -I../../.. -I../.. -DXTHREADS -I/usr/include/gtk-2.0
-I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0
-I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0
-I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -DGUI_SOURCES
-DCURDIR=src/ui/gtk/gtk2 -O2 -g -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64 downloads.c
In file included from downloads.c:30:
pbarcellrenderer.h:57:1: warning: "GTK_TYPE_CELL_RENDERER_PROGRESS" redefined
In file included from /usr/include/gtk-2.0/gtk/gtk.h:53,
                 from ../../gtk/gui.h:31,
                 from downloads.c:26:
/usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h:34:1: warning: this is the
location of the previous definition
In file included from downloads.c:30:
pbarcellrenderer.h:62: error: redefinition of `GtkCellRendererProgress'
/usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h:41: error:
`GtkCellRendererProgress' previously declared here
pbarcellrenderer.h:63: error: redefinition of `GtkCellRendererProgressClass'
/usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h:42: error:
`GtkCellRendererProgressClass' previously declared here
pbarcellrenderer.h:66: error: redefinition of `struct _GtkCellRendererProgress'
pbarcellrenderer.h:71: error: redefinition of `struct _GtkCellRendererProgressClass'
make[5]: *** [downloads.o] Error 1
make[5]: Leaving directory
`/home/daniel/porting/tmp/gtk-gnutella-0.95/src/ui/gtk/gtk2'
make[4]: *** [gtk2/libgtk2.a] Error 2
make[4]: Leaving directory `/home/daniel/porting/tmp/gtk-gnutella-0.95/src/ui/gtk'
make[3]: *** [ui/gtk/libgtkx.a] Error 2
make[3]: Leaving directory `/home/daniel/porting/tmp/gtk-gnutella-0.95/src'
Installing in pixmaps...
make[3]: Entering directory
`/home/daniel/porting/tmp/gtk-gnutella-0.95/pixmaps'+ test -d
/home/daniel/porting/tmp/gtk-gnutella-0.95/debian/tmp/usr/share/gtk-gnutella/pixmaps
+ /usr/bin/install -d
/home/daniel/porting/tmp/gtk-gnutella-0.95/debian/tmp/usr/share/gtk-gnutella/pixmaps
case '-w' in *[i]*) set +e;; esac; \
(set -x; test -d
/home/daniel/porting/tmp/gtk-gnutella-0.95/debian/tmp/usr/share/gtk-gnutella/pixmaps
|| \
        /usr/bin/install -d
/home/daniel/porting/tmp/gtk-gnutella-0.95/debian/tmp/usr/share/gtk-gnutella/pixmaps);
\
for i in arrow_down.xpm arrow_up.xpm booklib.xpm booksha.xpm bookshav.xpm
clanbomber_red.xpm clanbomber_yellow.xpm download.xpm exit.xpm filter.xpm
firewall.xpm firewall_punchable.xpm firewall_tcp.xpm firewall_udp.xpm
firewall_udp_punchable.xpm freeze.xpm icon.xpm leaf.xpm legacy.xpm
no_firewall.xpm offline.xpm online.xpm save.xpm smallserver.xpm
stock_form-time-field-16.xpm thaw.xpm ultra.xpm upload.xpm warning.xpm; do \
        (set -x; ../install -c -m 444 $i
/home/daniel/porting/tmp/gtk-gnutella-0.95/debian/tmp/usr/share/gtk-gnutella/pixmaps);
\
done
+ test -d
/home/daniel/porting/tmp/gtk-gnutella-0.95/debian/tmp/usr/share/gtk-gnutella/pixmaps
+ ../install -c -m 444 arrow_down.xpm
/home/daniel/porting/tmp/gtk-gnutella-0.95/debian/tmp/usr/share/gtk-gnutella/pixmaps
+ ../install -c -m 444 arrow_up.xpm
/home/daniel/porting/tmp/gtk-gnutella-0.95/debian/tmp/usr/share/gtk-gnu...

Colin Watson (cjwatson) wrote :

It would also be good to make sure that the build process correctly stops on
error rather than trying to carry on. Perhaps it uses a for loop to iterate over
directories and 'set -e' needs to be added, or similar.

Don Scorgie (don-scorgie) wrote :

Created an attachment (id=1261)
Patch to make build work

Hi,

The problem with the build is caused by gtk 2.6 introducing a new progress cell
renderer which is already defined in gtk-gnutella.

This patch removes the offending files (src/ui/gtk/gtk2/pbarcellrenderer.{c,h})
and any mention of them - allowing the gtk progress cell renderer to work
properly.

The patch also converts the progress from [0,1] as used by gtk-gnutella
implementation to [0,100] as used by gtk implementation.

I have tested this as far as I can and it seems to work ok (i.e. it builds, the
progress bars in downloads fill up properly) however, I haven't been able to
test the upload progress bars.

Hope this is ok
Don

John Moser (nigelenki) wrote :

I'll test this if someone builds it o_o

Seriously, I need gtk-gnutella now. I didn't mind a few days ago but now I want
a (presumably CC, as it's a political radio talkshow parody) song o_o

I tend to leave gtk-gnutella up all the time, so I'll catch any abnormal runtime
bugs.

Daniel T Chen (crimsun) wrote :

Thanks for looking into this issue. I've created a preliminary i386 deb based on
patches from upstream cvs. I would appreciate if any of you would test and get
back to me ASAP on success/error.

Binary, source, and diff available at: http://sh.nu/~crimsun/ubuntu-motu/

Daniel T Chen (crimsun) wrote :

gtk-gnutella (0.95-2ubuntu1) hoary; urgency=low

  * Sync with Debian.
  * debian/:
    - control:Build-Depends: remove xlibs-dev since libgtk2.0-dev suffices.
    + patches/:
      . 02_downloads_c
      . 02_pbarcellrenderer_c
      . 02_pbarcellrenderer_h
      . 02_uploads_c
      . 03_uploads_common_c
      . 04_downloads_cb_c
      * grab fixes from upstream cvs to use GTK+-2.6's progress bar cell
        renderer if available [02_ series], to remove failed uploads [03_ ],
        and to prevent a possible NULL pointer dereference [04_ ]. Thanks,
        Don Scorgie. (Closes: Ubuntu#5799)
    - README.Debian: removed due to zero-byte file. Lintian clean-up.

 -- Daniel T. Chen (new) <email address hidden> Mon, 7 Mar 2005 15:04:14 -0500

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.