Mozvoikko doesn't build on F12, please help

Jerry James loganjerry at gmail.com
Wed Aug 5 17:04:38 UTC 2009


On Wed, Aug 5, 2009 at 10:26 AM, Ville-Pekka
Vainio<vpivaini at cs.helsinki.fi> wrote:
> `nsISupports::COMTypeInfo<int>::kIID' referenced in section `.data.rel.ro' of /usr/lib64/xulrunner-sdk-1.9.1/lib/libxpcomglue_s.a(nsGenericFactory.o): defined in discarded section `.rodata._ZN11nsISupports11COMTypeInfoIiE4kIIDE[nsISupports::COMTypeInfo<int>::kIID]' of /usr/lib64/xulrunner-sdk-1.9.1/lib/libxpcomglue_s.a(nsGenericFactory.o)
> collect2: ld returned 1 exit status
>
> Any ideas on what might be going wrong here?

In xulrunner-1.9.1.2/mozilla-1.9.1/xpcom/glue/nsID.h, I see this:

------------------------------------------------------------------------------
/**
 * A macro to build the static const IID accessor method. The Dummy
 * template parameter only exists so that the kIID symbol will be linked
 * properly (weak symbol on linux, gnu_linkonce on mac, multiple-definitions
 * merged on windows). Dummy should always be instantiated as "int".
 */

#define NS_DECLARE_STATIC_IID_ACCESSOR(the_iid)                         \
  template <class Dummy>                                                \
  struct COMTypeInfo                                                    \
  {                                                                     \
    static const nsIID kIID NS_HIDDEN;                                  \
  };                                                                    \
  static const nsIID& GetIID() {return COMTypeInfo<int>::kIID;}

#define NS_DEFINE_STATIC_IID_ACCESSOR(the_interface, the_iid)           \
  template <class Dummy>                                                \
  const nsIID the_interface::COMTypeInfo<Dummy>::kIID NS_HIDDEN = the_iid;
------------------------------------------------------------------------------

So it appears that something has gone wrong with making this a weak
symbol.  File a bug against xulrunner and let the maintainers figure
it out.
-- 
Jerry James
http://www.jamezone.org/




More information about the devel mailing list