Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#33962 closed defect (fixed)

xchat2: Undefined symbols: "__"

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by: afb@…
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: jeremyhu (Jeremy Huddleston Sequoia)
Port: xchat2

Description

Building xchat2 fails for me:

Undefined symbols:
  "__", referenced from:
      _dbus_plugin_init in libxchatcommon.a(dbus-plugin.o)
      _dbus_plugin_init in libxchatcommon.a(dbus-plugin.o)
      _dbus_plugin_init in libxchatcommon.a(dbus-plugin.o)
      _dbus_plugin_init in libxchatcommon.a(dbus-plugin.o)
     (maybe you meant: ___maskrune, ___strcpy_chk , ___stdoutp , ___dso_handle , _dbus_glib_marshal_remote_object_BOOLEAN__STRING_INT_INT_POINTER_POINTER , _dbus_glib_marshal_remote_object_BOOLEAN__UINT_POINTER , _gtk_marshal_VOID__POINTER_POINTER , ___sprintf_chk , ___stack_chk_guard , ___error , _dbus_glib_marshal_remote_object_BOOLEAN__STRING_INT_STRING_INT_POINTER_POINTER , _dbus_glib_marshal_remote_object_BOOLEAN__STRING_POINTER_POINTER , cstring=__ , _dbus_glib_marshal_remote_object_BOOLEAN__STRING_POINTER , _dbus_glib_marshal_remote_object_BOOLEAN__BOXED_INT_UCHAR_UCHAR_POINTER , __exit , __mh_execute_header , _dbus_glib_marshal_remote_object_BOOLEAN__UINT_POINTER_POINTER , ___progname , _g_cclosure_marshal_VOID__VOID , ___strncat_chk , _g_cclosure_marshal_VOID__POINTER , ___memcpy_chk , ___stack_chk_fail , _dbus_glib_marshal_remote_object_BOOLEAN__UINT_STRING_POINTER_POINTER , ___toupper , ___stdinp , ___stderrp , _dbus_glib_marshal_remote_object_BOOLEAN__STRING_STRING_POINTER_POINTER , ___tolower , ___strncpy_chk , ___strcat_chk , _dbus_glib_marshal_remote_object_BOOLEAN__STRING_POINTER_POINTER_POINTER_POINTER , _g_cclosure_user_marshal_VOID__POINTER_POINTER_UINT_UINT , __DefaultRuneLocale , _dbus_glib_marshal_remote_object_VOID__STRING_STRING_STRING_STRING_POINTER , _dbus_glib_marshal_remote_object_BOOLEAN__POINTER_POINTER , _dbus_glib_marshal_remote_object_BOOLEAN__STRING_BOXED_POINTER_POINTER )

Attachments (1)

main.log (171.0 KB) - added by ryandesign (Ryan Carsten Schmidt) 12 years ago.

Download all attachments as: .zip

Change History (5)

Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Attachment: main.log added

comment:1 Changed 12 years ago by afb@…

Version: 2.0.4

That's because someone patched away the inclusion of <glib/gi18n.h>, which defined the gettext function alias called "_".

dbus-plugin.c:897: warning: implicit declaration of function ‘_’
dbus-plugin.c:1059: warning: assignment makes pointer from integer without a cast
dbus-plugin.c:1060: warning: assignment makes pointer from integer without a cast

comment:2 Changed 12 years ago by afb@…

Resolution: fixed
Status: newclosed

Fixed, r91892.

comment:3 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: jeremyhu@… added

How strange. The error message that Jeremy was trying to fix in #33959, and that we've been fixing in many other ports in many other tickets, is:

#error "Only <glib.h> can be included directly."

I guess that error message isn't entirely accurate then: apparently <glib/gi18n.h> can and in some cases should be included directly as well.

comment:4 Changed 12 years ago by afb@…

The error message is real and the patch is needed, just that it's not about everything starting with "glib/*".

The recommended way of using GLib has always been to only include the toplevel headers glib.h, glib-object.h, gio.h. Starting with 2.32, GLib enforces this by generating an error when individual headers are directly included.

Still, there are some exceptions; these headers have to be included separately: gmodule.h, glib-unix.h, glib/gi18n-lib.h or glib/gi18n.h (see the Internationalization section), glib/gprintf.h and glib/gstdio.h (we don't want to pull in all of stdio).

http://developer.gnome.org/glib/2.32/glib-compiling.html

Note: See TracTickets for help on using tickets.