After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 620199 - fails to build: "pause" already used by eglibc <unistd.h>
fails to build: "pause" already used by eglibc <unistd.h>
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: Programmatic interfaces
0.12.x
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-06-01 00:22 UTC by Arand
Modified: 2010-07-08 17:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rename "pause" -> "rb_pause" in remote/dbus/rb_client.c (1.68 KB, patch)
2010-06-01 00:59 UTC, Arand
none Details | Review

Description Arand 2010-06-01 00:22:53 UTC
Original bug reported against ubuntu 10.10 (devel) on Launchpad:

https://bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/588076

Rhythmbox fails to build with this ending:

make[4]: Entering directory `/tmp/buildd/rhythmbox-0.12.8/remote/dbus'
\
# source='rb-client.c' object='rb-client.o' libtool=no
gcc -DHAVE_CONFIG_H -I. -I../.. -DGNOMELOCALEDIR=\""/usr/share/locale"\" -DG_LOG_DOMAIN=\"Rhythmbox\" -I../.. -I../../lib -I../../shell -I../../shell -DPIXMAP_DIR=\""/usr/share/pixmaps"\" -DSHARE_DIR=\"/usr/share/rhythmbox\" -DDATADIR=\""/usr/share"\" -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -DDBUS_API_SUBJECT_TO_CHANGE -D_XOPEN_SOURCE -D__EXTENSIONS__ -D_BSD_SOURCE -g -O2 -g -Wall -O2 -c rb-client.c
rb-client.c:57: error: 'pause' redeclared as different kind of symbol
//usr/include/unistd.h:466: note: previous declaration of 'pause' was here
make[4]: *** [rb-client.o] Error 1


pause is defined in /usr/include/unistd.h as such:

extern int pause (void);


Simply renaming "pause" -> "rb_pasue" in rhythmbox remote/dbus/rb_client.c confirmed to work, builds and runs seemingly fine.
Comment 1 Arand 2010-06-01 00:51:02 UTC
This was using the deb package source 0.12.8+0ubuntu5, and pbuilder to build.
gcc 4.4.4-3ubuntu3
eglibc 2.11.1-0ubuntu8
Comment 2 Jonathan Matthew 2010-06-01 00:59:16 UTC
fixed in commit bd389d8
Comment 3 Arand 2010-06-01 00:59:23 UTC
Created attachment 162415 [details] [review]
rename "pause" -> "rb_pause" in remote/dbus/rb_client.c

This works, is it sane?
Comment 4 Arand 2010-06-01 01:24:49 UTC
Ah, I'm too slow...

Just a question, is the first "pause" unrelated to this in:
- { "pause", 0, 0, G_OPTION_ARG_NONE, &pause, N_("Pause playback if currently playing"), NULL },
+ { "pause", 0, 0, G_OPTION_ARG_NONE, &do_pause, N_("Pause playback if currently playing"), NULL },

Since my (unqualified) guess was that it was to be changed likewise?

It seems to build and work fine though, so I might very well be wrong
Comment 5 Jonathan Matthew 2010-06-01 01:26:53 UTC
The first 'pause' there is the name of the command line argument, so there is no need to change it.
Comment 6 Arun Raghavan 2010-07-08 17:32:57 UTC
Might be nice to just prefix all the variables with an _rb_ or such to prevent such namespace collisions.