[Project_owners] XPCOM problem

Zbigniew Sz. zbigniewo at gmail.com
Sat Mar 24 11:24:34 PST 2007


Hello
I'm starting with some more complex extension for Thunderbird and I have 
following problem:

The idea is to extend functionality of built-in component 
(nsBayesianFilter).

I start with simple (almost empty class)

class MyClass : public nsIObserver
{..}

I add everything needed for component to register in XPCOM and try to 
run, so far everything is ok, component registers itself on application 
start.

Now I want my class to extend nsBayesianFilter, so I only change:

class MyClass : public nsIObserver,  public nsBayesianFilter
{
...
}

When I try to run it in Thunderbird I get following message:

nsNativeComponentLoader: SelfRegisterDll(libmylib.so) Load FAILED with 
error: {...}libmylib.so: undefined symbol:
ToLowerCase(nsString&)

Method 'ToLowerCase' is only used in nsBayesianFilter implementation.

When I use this method inside MyClass (anywhere in it's code) this error 
changes to:
undefined symbol: GetMessageServiceFromURI

- this is another method used in nsBayesianFilter

So it looks like some kind of linker problem, maybe that's nothing with 
XPCOM, but I have no idea.
I would be glad if someone could help me.


More information about the Project_owners mailing list