Mozilla2Seamonkey/Problem Log/Windows

From Apache OpenOffice Wiki
Jump to: navigation, search

The following problems appeared while building the Seamonkey sources on Windows, after the great preliminary work done by Pierre Pasteau.

Building with Microsoft Visual Studio 2005

msvcp.dll not found
problem
Configure fails with a complaint that msvcp.dll is not found in C:\Program Files\Microsoft Visual Studio 8\VC\..\SDK\v2.0\bin. Well, that's true, it's in %SRC_ROOT\external\msvcp80 - actually, that's a pre-requisite. Submitted as Issue 95642
workaround
copy all the files from %SRC_ROOT\external\msvcp80 to the location where configure expects them
cairo not found during configure
problem
the configure step for Mozilla fails, with a "package cairo was not found ..." message.
solution
Fixed in makefile.mk (use --enable-system-cairo on non-Windows platforms only)
strange error message in .../ldap/include
problem
Building Mozilla in directory/c-sdk/ldap/include fails with an error message
 Makefile:89: *** target pattern contains no `%'.  Stop.

Huh?

solution
Aunt Google says: make 1.81, as currently part of cygwin, does not support Windows paths anymore. So, targets, and target dependencies, in the makefile need to be converted to cygwin notation.

(source)

Fixed in seamonkey-source-1.1.12.patch.

compiling IDLs fails
problem
during compilation of some IDL files, message boxes pop up saying something about runtime libraries used in an invalid way
cause
The vc71*.zip archives to be put into the download folder contain DLLs which are not compatible with the 2005 compiler.
solution
Committed. configure now checks for vc8-moztools.zip being present, and building in moz extracts and sets up this file, instead of the previous wintools.zip and vc71*.zip.

As a consequence, building Mozilla with vc7 is not supported anymore - however, it's highly unlikely building a recent OOo would work with this old compiler, anyway.

configure now also breaks with an error, if --enable-mozilla is given but OOo is compiled with a MSVC other than VC8. For other Windows builds (mingwin/gcc), a warning is emitted if --enable-mozilla is given, saying that the build will probably fail.

building mozilla/xpcom/base fails

problem

build fails in mozilla/xpcom/base without a meaningful error message

cause

That seems to be a problem with manifest files - the xpidl.exe and xpt_link.exe used during the build need a manifest file.

solution

Embed manifest files into the .dll resp. .exe. Fortunately, there is a patch for this already in Bugzilla, which with slight adjustments also solved our problem.

Fix is committed to moz/patches/embed_manifest.patch and moz/seamonkey-source-1.1.12.patch.

building mozilla/security/coreconf fails

problem

builds fails in mozilla/security/coreconf with

 ../coreconf/rules.mk:383: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:430: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:431: warning: overriding commands for target `g'
 ../coreconf/rules.mk:384: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:461: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:462: warning: overriding commands for target `g'
 ../coreconf/rules.mk:431: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:469: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:470: warning: overriding commands for target `g'
 ../coreconf/rules.mk:462: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:473: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:474: warning: overriding commands for target `g'
 ../coreconf/rules.mk:470: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:488: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:489: warning: overriding commands for target `g'
 ../coreconf/rules.mk:474: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:492: target `g' doesn't match the target pattern
 ../coreconf/rules.mk:493: warning: overriding commands for target `g'
 ../coreconf/rules.mk:489: warning: ignoring old commands for target `g'
 ../coreconf/rules.mk:990: *** multiple target patterns.  Stop.

workaround

Use a cygwin-make version other than 3.81, which is simply broken. 3.82 is said to have this bug fixed, but does not exist, yet. 3.80 is available from here. If this doesn't exist anymore, google for make-3.80-1.tar.bz2, some sites might still have this archive.

solution

None yet. I am not even sure that it is worth investing time here. Finally, that's a bug in cygwin's make, and compiling SeaMonkey during an OOo build eats enough of my time to workaround cygwin bugs :).

Bug 345482 describes a fix, but it consists of a patch to SeaMonkey, plus a patch to cygwin's make. I failed with the latter, but didn't really spend much time on it.

build fails in security/nss/cmd/shlibsign

problem

build fails with the following log:

 sh /cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla/./build/cygwin-wrapper ./sign.sh  \
  WIN95 \
 /cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla/security/nss/cmd/shlibsign/sign.sh: line 43: cd: WIN95/lib: No such file or directory
 /shlibsign -v -i
 /cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla/security/nss/cmd/shlibsign/sign.sh: line 56: /shlibsign: No such file or directory
 make[3]: *** [g:/src/moz/wntmsci11.pro/misc/build/mozilla/dist/lib/softokn3.chk] Error 127
 make[3]: Leaving directory `/cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla/security/nss/cmd/shlibsign'
 make[2]: *** [libs] Error 2
 make[2]: Leaving directory `/cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla/security/manager'
 make[1]: *** [tier_50] Error 2
 make[1]: Leaving directory `/cygdrive/g/src/moz/wntmsci11.pro/misc/build/mozilla'
 make: *** [default] Error 2
 dmake:  Error code 2, while making './wntmsci11.pro/misc/build/so_built_ooo_mozab'
 ERROR: Error 65280 occurred while making /cygdrive/g/src/moz

solution

Like on the other platforms, it seems the $(call core_abspath,...) directive in the security/nss/cmd/shlibsign/Makefile does not work - it resolves to an empty string, no matter what. Like for the other platforms, this can be worked around by creating a platform-specific branch in the makefile, which does not use core_abspath. In the case of Windows, I replaced core_abspath with the usage of $(shell cygpath -d -a ...).

build fails in ...

problem

Uhm, sorry, I forgot to copy the error before I fixed it :-\ Effectively, it was Bug 324842 which I encountered.

solution

Apply the patch attached to Bug 324842, tweak it to include not only mozilla/configure.in, but also mozilla/configure.

Patches committed as revisions 263540 and 263541.

build fails during component registration

problem

 cd ./wntmsci11.pro/misc/WNTMSCIruntime && ./regxpcom.exe
 Can not initialize XPCOM Glue
 Can not aquire component registrar
 dmake:  Error code 255, while making './wntmsci11.pro/misc/build/so_moz_runtime_files'
 ERROR: Error 65280 occurred while making /cygdrive/g/src/moz

solution

Just disable the regxpcom call when building on Windows. According to some forum entry, regxpcom is deprecated, and components should be registered automatically when the application is started. Seems to work fine. Committed as revision 265391.

Building the mozab driver fails

problem

Building connectivity fails in source/drivers/mozab/mozillasrc and source/drivers/mozab/bootstrap, with a complaint from some Mozilla header file that MOZILLA_INTERNAL_API is not defined.

This was already encountered for the other platforms (issue 94957).

solution

Fixed by adding

 CDEFS += -DMOZILLA_INTERNAL_API

to the makefiles in both mentioned folders.

Linking the mozab driver fails

problem

    Creating library ../../../wntmsci11.pro/lib/imozabdrv.lib and object ../../../wntmsci11.pro/lib/imozabdrv.exp
 MNSProfileDirServiceProvider.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteACString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteACString@@2PBXB)
 MTypeConverter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteACString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteACString@@2PBXB)
 MNSMozabProxy.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteACString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteACString@@2PBXB) referenced in function __unwindfunclet$??0nsCSubstring@@QAE@PADII@Z$0
 MNSProfileDiscover.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteACString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteACString@@2PBXB)
 MNSProfile.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteACString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteACString@@2PBXB)
 MNSInit.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteACString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteACString@@2PBXB)
 MQueryHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteACString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteACString@@2PBXB)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteACString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteACString@@2PBXB)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteACString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteACString@@2PBXB)
 MNSProfileDirServiceProvider.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsACString_internal::~nsACString_internal(void)" (__imp_??1nsACString_internal@@QAE@XZ)
 MTypeConverter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsACString_internal::~nsACString_internal(void)" (__imp_??1nsACString_internal@@QAE@XZ)
 MNSMozabProxy.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall nsACString_internal::~nsACString_internal(void)" (__imp_??1nsACString_internal@@QAE@XZ) referenced in function "public: __thiscall nsCSubstring::nsCSubstring(char *,unsigned int,unsigned int)" (??0nsCSubstring@@QAE@PADII@Z)
 MNSProfileDiscover.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsACString_internal::~nsACString_internal(void)" (__imp_??1nsACString_internal@@QAE@XZ)
 MNSProfile.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsACString_internal::~nsACString_internal(void)" (__imp_??1nsACString_internal@@QAE@XZ)
 MNSInit.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsACString_internal::~nsACString_internal(void)" (__imp_??1nsACString_internal@@QAE@XZ)
 MQueryHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsACString_internal::~nsACString_internal(void)" (__imp_??1nsACString_internal@@QAE@XZ)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsACString_internal::~nsACString_internal(void)" (__imp_??1nsACString_internal@@QAE@XZ)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsACString_internal::~nsACString_internal(void)" (__imp_??1nsACString_internal@@QAE@XZ)
 MNSProfile.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (__imp_??1nsCOMPtr_base@@QAE@XZ)
 MNSProfileDirServiceProvider.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (__imp_??1nsCOMPtr_base@@QAE@XZ)
 MNameMapper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (__imp_??1nsCOMPtr_base@@QAE@XZ)
 MNSMozabProxy.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (__imp_??1nsCOMPtr_base@@QAE@XZ)
 MNSProfileDiscover.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (__imp_??1nsCOMPtr_base@@QAE@XZ)
 MNSProfileManager.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (__imp_??1nsCOMPtr_base@@QAE@XZ)
 MNSInit.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (__imp_??1nsCOMPtr_base@@QAE@XZ) referenced in function "public: __thiscall nsCOMPtr<class nsILocalFile>::~nsCOMPtr<class nsILocalFile>(void)" (??1?$nsCOMPtr@VnsILocalFile@@@@QAE@XZ)
 MQueryHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (__imp_??1nsCOMPtr_base@@QAE@XZ)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (__imp_??1nsCOMPtr_base@@QAE@XZ)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (__imp_??1nsCOMPtr_base@@QAE@XZ)
 MNSProfile.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_gs_contractid_with_error(class nsGetServiceByContractIDWithError const &,struct nsID const &)" (__imp_?assign_from_gs_contractid_with_error@nsCOMPtr_base@@QAEXABVnsGetServiceByContractIDWithError@@ABUnsID@@@Z)
 MNSProfileDirServiceProvider.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_gs_contractid_with_error(class nsGetServiceByContractIDWithError const &,struct nsID const &)" (__imp_?assign_from_gs_contractid_with_error@nsCOMPtr_base@@QAEXABVnsGetServiceByContractIDWithError@@ABUnsID@@@Z)
 MNSInit.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_gs_contractid_with_error(class nsGetServiceByContractIDWithError const &,struct nsID const &)" (__imp_?assign_from_gs_contractid_with_error@nsCOMPtr_base@@QAEXABVnsGetServiceByContractIDWithError@@ABUnsID@@@Z) referenced in function "public: __thiscall nsCOMPtr<class nsIEventQueueService>::nsCOMPtr<class nsIEventQueueService>(class nsGetServiceByContractIDWithError const &)" (??0?$nsCOMPtr@VnsIEventQueueService@@@@QAE@ABVnsGetServiceByContractIDWithError@@@Z)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_gs_contractid_with_error(class nsGetServiceByContractIDWithError const &,struct nsID const &)" (__imp_?assign_from_gs_contractid_with_error@nsCOMPtr_base@@QAEXABVnsGetServiceByContractIDWithError@@ABUnsID@@@Z)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_gs_contractid_with_error(class nsGetServiceByContractIDWithError const &,struct nsID const &)" (__imp_?assign_from_gs_contractid_with_error@nsCOMPtr_base@@QAEXABVnsGetServiceByContractIDWithError@@ABUnsID@@@Z)
 MNSProfileManager.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_gs_contractid_with_error(class nsGetServiceByContractIDWithError const &,struct nsID const &)" (__imp_?assign_from_gs_contractid_with_error@nsCOMPtr_base@@QAEXABVnsGetServiceByContractIDWithError@@ABUnsID@@@Z)
 MNSInit.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_gs_cid_with_error(class nsGetServiceByCIDWithError const &,struct nsID const &)" (__imp_?assign_from_gs_cid_with_error@nsCOMPtr_base@@QAEXABVnsGetServiceByCIDWithError@@ABUnsID@@@Z) referenced in function "public: __thiscall nsCOMPtr<class nsIPref>::nsCOMPtr<class nsIPref>(class nsGetServiceByCIDWithError const &)" (??0?$nsCOMPtr@VnsIPref@@@@QAE@ABVnsGetServiceByCIDWithError@@@Z)
 MQueryHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_gs_cid_with_error(class nsGetServiceByCIDWithError const &,struct nsID const &)" (__imp_?assign_from_gs_cid_with_error@nsCOMPtr_base@@QAEXABVnsGetServiceByCIDWithError@@ABUnsID@@@Z)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_gs_cid_with_error(class nsGetServiceByCIDWithError const &,struct nsID const &)" (__imp_?assign_from_gs_cid_with_error@nsCOMPtr_base@@QAEXABVnsGetServiceByCIDWithError@@ABUnsID@@@Z)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_gs_cid_with_error(class nsGetServiceByCIDWithError const &,struct nsID const &)" (__imp_?assign_from_gs_cid_with_error@nsCOMPtr_base@@QAEXABVnsGetServiceByCIDWithError@@ABUnsID@@@Z)
 MNSInit.obj : error LNK2019: unresolved external symbol __imp__NS_InitXPCOM2_P referenced in function "unsigned char __cdecl MNS_InitXPCOM(unsigned char *)" (?MNS_InitXPCOM@@YAEPAE@Z)
 MNSInit.obj : error LNK2019: unresolved external symbol __imp__NS_NewNativeLocalFile_P referenced in function "unsigned char __cdecl MNS_InitXPCOM(unsigned char *)" (?MNS_InitXPCOM@@YAEPAE@Z)
 MNSInit.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static unsigned int __cdecl nsServiceManager::GetService(struct nsID const &,struct nsID const &,class nsISupports * *,class nsIShutdownListener *)" (__imp_?GetService@nsServiceManager@@SAIABUnsID@@0PAPAVnsISupports@@PAVnsIShutdownListener@@@Z) referenced in function "void __cdecl MNS_XPCOM_EventLoop(void)" (?MNS_XPCOM_EventLoop@@YAXXZ)
 MQueryHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_qi_with_error(class nsQueryInterfaceWithError const &,struct nsID const &)" (__imp_?assign_from_qi_with_error@nsCOMPtr_base@@QAEXABVnsQueryInterfaceWithError@@ABUnsID@@@Z) referenced in function "public: __thiscall nsCOMPtr<class nsISupports>::nsCOMPtr<class nsISupports>(class nsQueryInterfaceWithError const &)" (??0?$nsCOMPtr@VnsISupports@@@@QAE@ABVnsQueryInterfaceWithError@@@Z)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_qi_with_error(class nsQueryInterfaceWithError const &,struct nsID const &)" (__imp_?assign_from_qi_with_error@nsCOMPtr_base@@QAEXABVnsQueryInterfaceWithError@@ABUnsID@@@Z)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_qi_with_error(class nsQueryInterfaceWithError const &,struct nsID const &)" (__imp_?assign_from_qi_with_error@nsCOMPtr_base@@QAEXABVnsQueryInterfaceWithError@@ABUnsID@@@Z)
 MNameMapper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_qi_with_error(class nsQueryInterfaceWithError const &,struct nsID const &)" (__imp_?assign_from_qi_with_error@nsCOMPtr_base@@QAEXABVnsQueryInterfaceWithError@@ABUnsID@@@Z)
 MNSProfileDiscover.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteAString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteAString@@2PBXB)
 MNSProfileManager.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteAString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteAString@@2PBXB)
 MNSProfile.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteAString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteAString@@2PBXB) referenced in function "public: __thiscall std::bad_alloc::bad_alloc(void)" (??0bad_alloc@std@@QAE@XZ)
 MQueryHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteAString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteAString@@2PBXB)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteAString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteAString@@2PBXB)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteAString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteAString@@2PBXB)
 MTypeConverter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static void const * const nsObsoleteAString::sCanonicalVTable" (__imp_?sCanonicalVTable@nsObsoleteAString@@2PBXB)
 MQueryHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsSubstring::Replace(unsigned int,unsigned int,unsigned short const *,unsigned int)" (__imp_?Replace@nsSubstring@@QAEXIIPBGI@Z) referenced in function "public: void __thiscall nsSubstring::Replace(unsigned int,unsigned int,class nsSubstring const &)" (?Replace@nsSubstring@@QAEXIIABV1@@Z)
 MNSProfileDiscover.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall nsAString_internal::~nsAString_internal(void)" (__imp_??1nsAString_internal@@QAE@XZ) referenced in function "public: __thiscall nsString::~nsString(void)" (??1nsString@@QAE@XZ)
 MNSProfileManager.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsAString_internal::~nsAString_internal(void)" (__imp_??1nsAString_internal@@QAE@XZ)
 MNSProfile.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsAString_internal::~nsAString_internal(void)" (__imp_??1nsAString_internal@@QAE@XZ)
 MQueryHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsAString_internal::~nsAString_internal(void)" (__imp_??1nsAString_internal@@QAE@XZ)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsAString_internal::~nsAString_internal(void)" (__imp_??1nsAString_internal@@QAE@XZ)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsAString_internal::~nsAString_internal(void)" (__imp_??1nsAString_internal@@QAE@XZ)
 MTypeConverter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsAString_internal::~nsAString_internal(void)" (__imp_??1nsAString_internal@@QAE@XZ)
 MNSProfileManager.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static unsigned short const * const nsCharTraits<unsigned short>::sEmptyBuffer" (__imp_?sEmptyBuffer@?$nsCharTraits@G@@2PBGB)
 MNSProfile.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static unsigned short const * const nsCharTraits<unsigned short>::sEmptyBuffer" (__imp_?sEmptyBuffer@?$nsCharTraits@G@@2PBGB)
 MQueryHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static unsigned short const * const nsCharTraits<unsigned short>::sEmptyBuffer" (__imp_?sEmptyBuffer@?$nsCharTraits@G@@2PBGB) referenced in function "public: __thiscall nsXPIDLString::nsXPIDLString(void)" (??0nsXPIDLString@@QAE@XZ)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static unsigned short const * const nsCharTraits<unsigned short>::sEmptyBuffer" (__imp_?sEmptyBuffer@?$nsCharTraits@G@@2PBGB)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static unsigned short const * const nsCharTraits<unsigned short>::sEmptyBuffer" (__imp_?sEmptyBuffer@?$nsCharTraits@G@@2PBGB)
 MNSProfileDiscover.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static unsigned short const * const nsCharTraits<unsigned short>::sEmptyBuffer" (__imp_?sEmptyBuffer@?$nsCharTraits@G@@2PBGB)
 MQueryHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsSubstring::Assign(class nsSubstring const &)" (__imp_?Assign@nsSubstring@@QAEXABV1@@Z) referenced in function "public: __thiscall nsXPIDLString::nsXPIDLString(class nsXPIDLString const &)" (??0nsXPIDLString@@QAE@ABV0@@Z)
 MTypeConverter.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsSubstring::Assign(class nsSubstring const &)" (__imp_?Assign@nsSubstring@@QAEXABV1@@Z)
 MQueryHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsSubstring::Adopt(unsigned short *,unsigned int)" (__imp_?Adopt@nsSubstring@@QAEXPAGI@Z) referenced in function "public: __thiscall nsGetterCopies::~nsGetterCopies(void)" (??1nsGetterCopies@@QAE@XZ)
 MNSProfileDiscover.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsSubstring::Adopt(unsigned short *,unsigned int)" (__imp_?Adopt@nsSubstring@@QAEXPAGI@Z)
 MNSProfileManager.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsSubstring::Adopt(unsigned short *,unsigned int)" (__imp_?Adopt@nsSubstring@@QAEXPAGI@Z)
 MNSProfile.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsSubstring::Adopt(unsigned short *,unsigned int)" (__imp_?Adopt@nsSubstring@@QAEXPAGI@Z)
 MQueryHelper.obj : error LNK2019: unresolved external symbol __imp__NS_Free_P referenced in function "public: static void __cdecl nsMemory::Free(void *)" (?Free@nsMemory@@SAXPAX@Z)
 MTypeConverter.obj : error LNK2001: unresolved external symbol __imp__NS_Free_P
 MQueryHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCreateInstanceByContractID::nsCreateInstanceByContractID(char const *,class nsISupports *,unsigned int *)" (__imp_??0nsCreateInstanceByContractID@@QAE@PBDPAVnsISupports@@PAI@Z) referenced in function "class nsCreateInstanceByContractID const __cdecl do_CreateInstance(char const *,unsigned int *)" (?do_CreateInstance@@YA?BVnsCreateInstanceByContractID@@PBDPAI@Z)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCreateInstanceByContractID::nsCreateInstanceByContractID(char const *,class nsISupports *,unsigned int *)" (__imp_??0nsCreateInstanceByContractID@@QAE@PBDPAVnsISupports@@PAI@Z)
 MNSMozabProxy.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCreateInstanceByContractID::nsCreateInstanceByContractID(char const *,class nsISupports *,unsigned int *)" (__imp_??0nsCreateInstanceByContractID@@QAE@PBDPAVnsISupports@@PAI@Z)
 MNSProfileDiscover.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCreateInstanceByContractID::nsCreateInstanceByContractID(char const *,class nsISupports *,unsigned int *)" (__imp_??0nsCreateInstanceByContractID@@QAE@PBDPAVnsISupports@@PAI@Z)
 MQueryHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_with_AddRef(class nsISupports *)" (__imp_?assign_with_AddRef@nsCOMPtr_base@@QAEXPAVnsISupports@@@Z) referenced in function "public: class nsCOMPtr<class nsIAbCard> & __thiscall nsCOMPtr<class nsIAbCard>::operator=(class nsIAbCard *)" (??4?$nsCOMPtr@VnsIAbCard@@@@QAEAAV0@PAVnsIAbCard@@@Z)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_with_AddRef(class nsISupports *)" (__imp_?assign_with_AddRef@nsCOMPtr_base@@QAEXPAVnsISupports@@@Z)
 MNSProfileDiscover.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_with_AddRef(class nsISupports *)" (__imp_?assign_with_AddRef@nsCOMPtr_base@@QAEXPAVnsISupports@@@Z)
 MNSProfileDirServiceProvider.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_with_AddRef(class nsISupports *)" (__imp_?assign_with_AddRef@nsCOMPtr_base@@QAEXPAVnsISupports@@@Z)
 MNSProfileDiscover.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_helper(class nsCOMPtr_helper const &,struct nsID const &)" (__imp_?assign_from_helper@nsCOMPtr_base@@QAEXABVnsCOMPtr_helper@@ABUnsID@@@Z)
 MQueryHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_helper(class nsCOMPtr_helper const &,struct nsID const &)" (__imp_?assign_from_helper@nsCOMPtr_base@@QAEXABVnsCOMPtr_helper@@ABUnsID@@@Z) referenced in function "public: __thiscall nsCOMPtr<class nsIAbCard>::nsCOMPtr<class nsIAbCard>(class nsCOMPtr_helper const &)" (??0?$nsCOMPtr@VnsIAbCard@@@@QAE@ABVnsCOMPtr_helper@@@Z)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_helper(class nsCOMPtr_helper const &,struct nsID const &)" (__imp_?assign_from_helper@nsCOMPtr_base@@QAEXABVnsCOMPtr_helper@@ABUnsID@@@Z)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_helper(class nsCOMPtr_helper const &,struct nsID const &)" (__imp_?assign_from_helper@nsCOMPtr_base@@QAEXABVnsCOMPtr_helper@@ABUnsID@@@Z)
 MNSMozabProxy.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_helper(class nsCOMPtr_helper const &,struct nsID const &)" (__imp_?assign_from_helper@nsCOMPtr_base@@QAEXABVnsCOMPtr_helper@@ABUnsID@@@Z)
 MQueryHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) unsigned int __cdecl NS_NewISupportsArray(class nsISupportsArray * *)" (__imp_?NS_NewISupportsArray@@YAIPAPAVnsISupportsArray@@@Z) referenced in function "public: long __thiscall connectivity::mozab::MQueryHelper::deleteCard(long,class nsIAbDirectory *)" (?deleteCard@MQueryHelper@mozab@connectivity@@QAEJJPAVnsIAbDirectory@@@Z)
 MDatabaseMetaDataHelper.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) unsigned int __cdecl NS_NewISupportsArray(class nsISupportsArray * *)" (__imp_?NS_NewISupportsArray@@YAIPAPAVnsISupportsArray@@@Z)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) unsigned int __cdecl NS_NewISupportsArray(class nsISupportsArray * *)" (__imp_?NS_NewISupportsArray@@YAIPAPAVnsISupportsArray@@@Z)
 MQueryHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __thiscall nsSubstring::FindChar(unsigned short,unsigned int)const " (__imp_?FindChar@nsSubstring@@QBEHGI@Z) referenced in function "private: void __thiscall connectivity::mozab::MQueryHelper::getCardValues(class nsIAbCard *,long)" (?getCardValues@MQueryHelper@mozab@connectivity@@AAEXPAVnsIAbCard@@J@Z)
 MDatabaseMetaDataHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCSubstring::Assign(class nsCSubstring const &)" (__imp_?Assign@nsCSubstring@@QAEXABV1@@Z) referenced in function "public: __thiscall nsCAutoString::nsCAutoString(class nsCSubstring const &)" (??0nsCAutoString@@QAE@ABVnsCSubstring@@@Z)
 MQuery.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCSubstring::Assign(class nsCSubstring const &)" (__imp_?Assign@nsCSubstring@@QAEXABV1@@Z)
 MDatabaseMetaDataHelper.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsString::AssignWithConversion(char const *,int)" (__imp_?AssignWithConversion@nsString@@QAEXPBDH@Z) referenced in function "unsigned int __cdecl getSubsFromURI(class rtl::OString const &,class nsIEnumerator * *)" (?getSubsFromURI@@YAIABVOString@rtl@@PAPAVnsIEnumerator@@@Z)
 MQuery.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCSubstring::Replace(unsigned int,unsigned int,char const *,unsigned int)" (__imp_?Replace@nsCSubstring@@QAEXIIPBDI@Z) referenced in function "public: void __thiscall nsCSubstring::Replace(unsigned int,unsigned int,class nsCSubstring const &)" (?Replace@nsCSubstring@@QAEXIIABV1@@Z)
 MQuery.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __thiscall nsCreateInstanceByCID::nsCreateInstanceByCID(struct nsID const &,class nsISupports *,unsigned int *)" (__imp_??0nsCreateInstanceByCID@@QAE@ABUnsID@@PAVnsISupports@@PAI@Z) referenced in function "class nsCreateInstanceByCID const __cdecl do_CreateInstance(struct nsID const &,unsigned int *)" (?do_CreateInstance@@YA?BVnsCreateInstanceByCID@@ABUnsID@@PAI@Z)
 MTypeConverter.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) unsigned short * __cdecl ToNewUnicode(class nsAString_internal const &)" (__imp_?ToNewUnicode@@YAPAGABVnsAString_internal@@@Z) referenced in function "public: static void __cdecl connectivity::mozab::MTypeConverter::nsStringToOUString(class nsString const &,class rtl::OUString &)" (?nsStringToOUString@MTypeConverter@mozab@connectivity@@SAXABVnsString@@AAVOUString@rtl@@@Z)
 MTypeConverter.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: char * __thiscall nsString::ToCString(char *,unsigned int,unsigned int)const " (__imp_?ToCString@nsString@@QBEPADPADII@Z) referenced in function "public: static char * __cdecl connectivity::mozab::MTypeConverter::nsStringToCCharStringAscii(class nsString const &)" (?nsStringToCCharStringAscii@MTypeConverter@mozab@connectivity@@SAPADABVnsString@@@Z)
 MTypeConverter.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) void __cdecl AppendUTF8toUTF16(class nsACString_internal const &,class nsAString_internal &)" (__imp_?AppendUTF8toUTF16@@YAXABVnsACString_internal@@AAVnsAString_internal@@@Z) referenced in function "public: __thiscall NS_ConvertUTF8toUTF16::NS_ConvertUTF8toUTF16(char const *,unsigned int)" (??0NS_ConvertUTF8toUTF16@@QAE@PBDI@Z)
 MNSMozabProxy.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static char const * const nsCharTraits<char>::sEmptyBuffer" (__imp_?sEmptyBuffer@?$nsCharTraits@D@@2PBDB) referenced in function "protected: __thiscall nsCSubstring::nsCSubstring(void)" (??0nsCSubstring@@IAE@XZ)
 MNSProfile.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static char const * const nsCharTraits<char>::sEmptyBuffer" (__imp_?sEmptyBuffer@?$nsCharTraits@D@@2PBDB)
 MNSMozabProxy.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCString::AssignWithConversion(unsigned short const *,int)" (__imp_?AssignWithConversion@nsCString@@QAEXPBGH@Z) referenced in function "protected: unsigned int __thiscall connectivity::mozab::MNSMozabProxy::InitLDAP(char *,unsigned short *,unsigned short *,unsigned char *)" (?InitLDAP@MNSMozabProxy@mozab@connectivity@@IAEIPADPAG1PAE@Z)
 MNSProfileDiscover.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsSubstring::Assign(unsigned short const *,unsigned int)" (__imp_?Assign@nsSubstring@@QAEXPBGI@Z) referenced in function "public: __thiscall nsAutoString::nsAutoString(unsigned short const *,unsigned int)" (??0nsAutoString@@QAE@PBGI@Z)
 MNSProfile.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsSubstring::Assign(unsigned short const *,unsigned int)" (__imp_?Assign@nsSubstring@@QAEXPBGI@Z)
 MNSProfileDiscover.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCSubstring::Assign(char const *,unsigned int)" (__imp_?Assign@nsCSubstring@@QAEXPBDI@Z) referenced in function "public: __thiscall nsCAutoString::nsCAutoString(char const *,unsigned int)" (??0nsCAutoString@@QAE@PBDI@Z)
 MNSProfileDiscover.obj : error LNK2019: unresolved external symbol __imp__NS_NewLocalFile_P referenced in function "protected: unsigned int __thiscall connectivity::mozab::ProfileAccess::LoadMozillaProfiles(void)" (?LoadMozillaProfiles@ProfileAccess@mozab@connectivity@@IAEIXZ)
 MNSProfile.obj : error LNK2001: unresolved external symbol __imp__NS_NewLocalFile_P
 MNSProfileDiscover.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class nsString const & __cdecl EmptyString(void)" (__imp_?EmptyString@@YAABVnsString@@XZ) referenced in function "protected: long __thiscall connectivity::mozab::ProfileAccess::LoadXPToolkitProfiles(enum com::sun::star::mozilla::MozillaProductType)" (?LoadXPToolkitProfiles@ProfileAccess@mozab@connectivity@@IAEJW4MozillaProductType@mozilla@star@sun@com@@@Z)
 MNSRunnable.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) unsigned int __cdecl NS_GetProxyForObject(class nsIEventQueue *,struct nsID const &,class nsISupports *,int,void * *)" (__imp_?NS_GetProxyForObject@@YAIPAVnsIEventQueue@@ABUnsID@@PAVnsISupports@@HPAPAX@Z) referenced in function "public: class nsIRunnable * __thiscall connectivity::mozab::MNSRunnable::ProxiedObject(void)" (?ProxiedObject@MNSRunnable@mozab@connectivity@@QAEPAVnsIRunnable@@XZ)
 MNSProfile.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsSubstring::SetLength(unsigned int)" (__imp_?SetLength@nsSubstring@@QAEXI@Z) referenced in function "public: void __thiscall nsSubstring::Truncate(unsigned int)" (?Truncate@nsSubstring@@QAEXI@Z)
 MNSProfile.obj : error LNK2019: unresolved external symbol __imp__NS_Alloc_P referenced in function "public: static void * __cdecl nsMemory::Alloc(unsigned int)" (?Alloc@nsMemory@@SAPAXI@Z)
 MNSProfile.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_qi(class nsQueryInterface,struct nsID const &)" (__imp_?assign_from_qi@nsCOMPtr_base@@QAEXVnsQueryInterface@@ABUnsID@@@Z) referenced in function "public: __thiscall nsCOMPtr<class nsIFactory>::nsCOMPtr<class nsIFactory>(class nsQueryInterface)" (??0?$nsCOMPtr@VnsIFactory@@@@QAE@VnsQueryInterface@@@Z)
 MNSProfile.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static void * __cdecl nsMemory::Clone(void const *,unsigned int)" (__imp_?Clone@nsMemory@@SAPAXPBXI@Z) referenced in function "public: virtual unsigned int __stdcall nsProfile::GetCurrentProfile(unsigned short * *)" (?GetCurrentProfile@nsProfile@@UAGIPAPAG@Z)
 MNSProfile.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: static int __cdecl nsCRT::strcmp(unsigned short const *,unsigned short const *)" (__imp_?strcmp@nsCRT@@SAHPBG0@Z) referenced in function "public: virtual unsigned int __stdcall nsProfile::SetCurrentProfile(unsigned short const *)" (?SetCurrentProfile@nsProfile@@UAGIPBG@Z)
 MNSProfile.obj : error LNK2019: unresolved external symbol __imp__NS_GetServiceManager_P referenced in function "public: static unsigned int __cdecl nsProfile::RegisterProfileManager(class nsIProfile *)" (?RegisterProfileManager@nsProfile@@SAIPAVnsIProfile@@@Z)
 MNSProfileDirServiceProvider.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) unsigned int __cdecl NS_RegisterStaticAtoms(struct nsStaticAtom const *,unsigned int)" (__imp_?NS_RegisterStaticAtoms@@YAIPBUnsStaticAtom@@I@Z) referenced in function "protected: unsigned int __thiscall nsProfileDirServiceProvider::Initialize(void)" (?Initialize@nsProfileDirServiceProvider@@IAEIXZ)
 MNSProfileDirServiceProvider.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall nsCOMPtr_base::assign_from_gs_contractid(class nsGetServiceByContractID,struct nsID const &)" (__imp_?assign_from_gs_contractid@nsCOMPtr_base@@QAEXVnsGetServiceByContractID@@ABUnsID@@@Z) referenced in function "public: __thiscall nsCOMPtr<class nsIDirectoryService>::nsCOMPtr<class nsIDirectoryService>(class nsGetServiceByContractID)" (??0?$nsCOMPtr@VnsIDirectoryService@@@@QAE@VnsGetServiceByContractID@@@Z)
 MNSProfileDirServiceProvider.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) class nsIAtom * __cdecl NS_NewAtom(char const *)" (__imp_?NS_NewAtom@@YAPAVnsIAtom@@PBD@Z) referenced in function "public: virtual unsigned int __stdcall nsProfileDirServiceProvider::GetFile(char const *,int *,class nsIFile * *)" (?GetFile@nsProfileDirServiceProvider@@UAGIPBDPAHPAPAVnsIFile@@@Z)

which, ehm, boilds down to

 ../../../wntmsci11.pro/bin/mozabdrvmi.dll : fatal error LNK1120: 44 unresolved externals

solution

"Ported" Eric's fix to Windows, too, i.e. just add xpcom_core.lib resp. .dll to extractfiles.mk.

Personal tools