GNOME Bugzilla – Bug 307038
nautilus fails to build with gcc4
Last modified: 2005-06-10 19:10:31 UTC
nautilus fails to build with gcc4. The exact error: cc1: warnings being treated as errors applier.c: In function 'is_nautilus_running': applier.c:1627: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1627: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness applier.c:1627: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1627: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness applier.c:1627: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness applier.c:1627: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of 'strlen' differ in signedness applier.c:1628: warning: pointer targets in passing argument 1 of '__builtin_strcmp' differ in signedness make[2]: *** [applier.lo] Error 1 make[2]: Leaving directory `/home/louie/cvs/nautilus/libbackground'
Created attachment 47512 [details] [review] patch to get the build going This is not production quality. Posting it here mostly to get luis' tinderbox going again. Comments welcome
I don't apply patches to keep the tinderbox going (except to jhbuild); it has to get committed :)
applier.c actually lives in gnome-control-center, the libbackground dir is just a cvs link into that module. So you have to poke them about this specific error :) Kjartan, thanks for the patch - I went with disabling the pointer signedness warnings to avoid all the casting.
- gboolean cut; + gboolean cut = FALSE; That fix is actually still necessary for fm-directory-view.c and fm-tree-view.c.
I fixed the cut initialization in a slightly different way. The only remaining issue with nautilus compiling on gcc4 is applier.c.
Created attachment 47561 [details] [review] Proposed patch (add initialization to default case)
I commited fixes for this in libbackground now. Please test.
Oh. I didn't see your patch before commiting. Is there any practical difference between doing it at declaration time? GdkRectangle src_geom = { 0, }; etc?
No, no real practical difference. But I think it's cleaner to fix the function which is supposed to initialize the values than patching up the caller. After all the function doesn't live up to its contract and if the function is used from different places, you just need to fix one place, not every caller. And yes, it builds smoothly now - Thanks.