Bug #461
Audacious does not compile with GLIB < 2.36
100%
Description
After some time, I did a checkout of the latest sources of Audacious and I tried to build them.
During the process, it stopped with an error into src/audacious/main.cc, saying that g_type_init() was undeclared in the current context. In that source, I fixed the trouble by adding:
#if ! GLIB_CHECK_VERSION (2, 36, 0)
#include <glib-object.h>
#endif
immediately after the inclusion of glib.h, since the main() function handled it in a similar way.
The compilation completed successfully, but later it halted again during the link because the symbol _g_type_init was not found.
I was able to overcome it by temporally hacking the Makefile, by adding "-lgobject-2.0" to the libs.
Probably, the configure script has to query the presence of the gobject module with pkgconfig and add its cflags and libs.
Only the stuff inside src/audacious required this fix.
History
#1 Updated by Ariadne Conill over 10 years ago
We are aiming to remove the stuff that depends on gobject from audacious core. Can you clarify whether this is a problem that exists in the gtk+ support library (libaudgui) or core?
Thanks.
#2 Updated by Ariadne Conill over 10 years ago
Oh, I see. This will be resolved soon with the gobject removal.
#3 Updated by John Lindgren about 10 years ago
- Status changed from New to Closed
- Target version set to 3.6
- % Done changed from 0 to 100
Well, we cannot get rid of GObject completely in core since the D-Bus support needs it. But we don't build against GObject if --disable-dbus is used, so we shouldn't be calling g_type_init() in that case either.
https://github.com/audacious-media-player/audacious/commit/6dfb6b6a4ec60cd75923374cc0b9b4e71d2a93dc
https://github.com/audacious-media-player/audacious-plugins/commit/615702dc47b33a694963939d3cb7b4f361475609