Opened 9 years ago

Closed 9 years ago

Last modified 4 years ago

#48986 closed defect (fixed)

libbonoboui @2.24.5; error: control may reach end of non-void function

Reported by: rlgarris@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.3.3
Keywords: Cc: Bachsau (Bachsau), MarcusCalhoun-Lopez (Marcus Calhoun-Lopez), cooljeanius (Eric Gallager)
Port: libbonoboui

Description

See attached log

Attachments (2)

main.log (142.7 KB) - added by rlgarris@… 9 years ago.
patch-bonobo-bonobo-control-frame.c (509 bytes) - added by matt@… 9 years ago.
fixes the compilation issue but doesn't address quartz functionality

Download all attachments as: .zip

Change History (16)

Changed 9 years ago by rlgarris@…

Attachment: main.log added

comment:1 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Port: libbonoboui added
Summary: Unable to Compile libbonobouilibbonoboui @2.24.5; error: control may reach end of non-void function

The log says the error is:

:info:build bonobo-control-frame.c:137:1: error: control may reach end of non-void function [-Werror,-Wreturn-type]
:info:build }
:info:build ^

comment:2 Changed 9 years ago by rlgarris@…

Yes.

It looks like this line in the code is failing:

#if defined (GDK_WINDOWING_X11)
		id = bonobo_control_window_id_from_x11 (
			GDK_WINDOW_XWINDOW (toplev->window));
#elif defined (GDK_WINDOWING_WIN32)
		id = bonobo_control_window_id_from_x11 (
			(guint32) GDK_WINDOW_HWND (toplev->window));
#endif

comment:3 Changed 9 years ago by rlgarris@…

I am on MacOSX Yosemite.

comment:4 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Do you perhaps have the gtk2 port installed with the +quartz variant? It builds fine for me with gtk2 installed with the +x11 variant, but that block of code you posted shows that id is only being set in X11 and 32-bit Windows windowing environments (i.e. it is not being set when using the Quartz windowing environment). Also, are you using the +x11 variant of the libbonoboui port -- which is enabled by default -- or are you disabling it?

comment:5 Changed 9 years ago by rlgarris@…

Yes I am using the +quartz variant. My goal is to install Gnucash with Quartz.

comment:6 Changed 9 years ago by ryandesign (Ryan Carsten Schmidt)

Well it sounds like libbonoboui is not compatible with gtk's quartz mode. You should report that to the developers of libbonoboui so that they can fix it, however there has not been a new release of libbonoboui in over four years, suggesting that the project may be dead and this may never be fixed.

comment:7 Changed 9 years ago by matt@…

I ran into the same issue. The compilation failure happens if both of these macros are disabled. Since there's no block after the else, it thinks the "return id" is the else's statement. I'm not sure if it's functionally correct, but syntactically, the patch I attached addresses the compilation issue. I imagine there's a missing branch for the Quartz case.

Changed 9 years ago by matt@…

fixes the compilation issue but doesn't address quartz functionality

comment:8 Changed 9 years ago by mf2k (Frank Schima)

Cc: web@… added

Cc reporter of duplicate #50848.

comment:9 Changed 9 years ago by mf2k (Frank Schima)

This may be a duplicate of #41562.

comment:10 in reply to:  9 Changed 9 years ago by dbevans (David B. Evans)

Replying to mf2k@…:

This may be a duplicate of #41562.

Doesn't look like it. The previous report had to do with format string security and has been fixed for some time although the ticket was not closed. Is now. This one appears to need additional braces in the +quartz case (not X11 and not Windows) to be syntactically correct. See attached patch. However, as mentioned above, the lack of a +quartz #ifdef in this construction is indicative that the upstream developers never really considered the +quartz case.

comment:11 Changed 9 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Cc: mcalhoun@… added

Cc Me!

comment:12 Changed 9 years ago by MarcusCalhoun-Lopez (Marcus Calhoun-Lopez)

Resolution: fixed
Status: newclosed

Since LibBonoboUI is heading towards planned deprecation, it seems doubtful this problem will be worked on upstream.
If that is the case, r148009 may be the closest thing we can get to a fix.

comment:13 in reply to:  12 Changed 4 years ago by cooljeanius (Eric Gallager)

Replying to MarcusCalhoun-Lopez:

Since LibBonoboUI is heading towards planned deprecation, it seems doubtful this problem will be worked on upstream.
If that is the case, r148009 may be the closest thing we can get to a fix.

Does that mean that the things that depend upon libbonoboui (libgnomeui, the p5*-gnome2 ports) are headed for deprecation as well?

comment:14 Changed 4 years ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added
Note: See TracTickets for help on using tickets.