Closed Bug 347595 Opened 18 years ago Closed 18 years ago

xpctools cannot be built from latest TRUNK sources, as part of XULRunner build

Categories

(Core :: XPConnect, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: blacklion, Assigned: benjamin)

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.6) Gecko/20060728 Firefox/1.5.0.6

Link errors occure when I try to build my "standard" configuration of XULRunner from latest (6 aug 2006, about 10:00 GMT+3) sources:

============================
make[6]: Entering directory `/cygdrive/d/Home/lev/xulrunner/mozilla/_obj-xulrunner-i686-pc-cygwin/js/src/xpconnect/tools/src'
/cygdrive/d/Home/lev/xulrunner/mozilla/build/cygwin-wrapper link -NOLOGO -DLL -OUT:xpctools.dll -PDB:xpctools.pdb -SUBSYSTEM:WINDOWS  nsXPCToolsCompiler.obj nsXPCToolsProfiler.obj nsXPCToolsModule.obj   ./module.res    -IMPLIB:fake.lib ../../../../../dist/lib/xpcom.lib ../../../../../dist/lib/xul.lib ../../../../../dist/lib/nspr4.lib ../../../../../dist/lib/plc4.lib ../../../../../dist/lib/plds4.lib  ../../../../../dist/lib/js3250.lib   kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib   
   Creating library fake.lib and object fake.exp
nsXPCToolsCompiler.obj : error LNK2019: unresolved external symbol "public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (??1nsCOMPtr_base@@QAE@XZ) referenced in function "public: __thiscall nsCOMPtr<class nsISupports>::~nsCOMPtr<class nsISupports>(void)" (??1?$nsCOMPtr@VnsISupports@@@@QAE@XZ)
nsXPCToolsProfiler.obj : error LNK2001: unresolved external symbol "public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (??1nsCOMPtr_base@@QAE@XZ)
nsXPCToolsCompiler.obj : error LNK2019: unresolved external symbol "public: static void const * const nsObsoleteACString::sCanonicalVTable" (?sCanonicalVTable@nsObsoleteACString@@2PBXB) referenced in function "protected: __thiscall nsACString_internal::nsACString_internal(char *,unsigned int,unsigned int)" (??0nsACString_internal@@IAE@PADII@Z)
nsXPCToolsCompiler.obj : error LNK2019: unresolved external symbol "public: __thiscall nsACString_internal::~nsACString_internal(void)" (??1nsACString_internal@@QAE@XZ) referenced in function "public: __thiscall nsCSubstring::~nsCSubstring(void)" (??1nsCSubstring@@QAE@XZ)
nsXPCToolsCompiler.obj : error LNK2019: unresolved external symbol "public: void __fastcall nsCOMPtr_base::assign_from_gs_contractid_with_error(class nsGetServiceByContractIDWithError const &,struct nsID const &)" (?assign_from_gs_contractid_with_error@nsCOMPtr_base@@QAIXABVnsGetServiceByContractIDWithError@@ABUnsID@@@Z) referenced in function "public: __thiscall nsCOMPtr<class nsIProperties>::nsCOMPtr<class nsIProperties>(class nsGetServiceByContractIDWithError const &)" (??0?$nsCOMPtr@VnsIProperties@@@@QAE@ABVnsGetServiceByContractIDWithError@@@Z)
nsXPCToolsCompiler.obj : error LNK2019: unresolved external symbol "public: void __fastcall nsCOMPtr_base::assign_from_qi(class nsQueryInterface,struct nsID const &)" (?assign_from_qi@nsCOMPtr_base@@QAIXVnsQueryInterface@@ABUnsID@@@Z) referenced in function "public: __thiscall nsCOMPtr<class nsILocalFile>::nsCOMPtr<class nsILocalFile>(class nsQueryInterface)" (??0?$nsCOMPtr@VnsILocalFile@@@@QAE@VnsQueryInterface@@@Z)
nsXPCToolsCompiler.obj : error LNK2019: unresolved external symbol "public: void __fastcall nsCOMPtr_base::assign_from_gs_cid_with_error(class nsGetServiceByCIDWithError const &,struct nsID const &)" (?assign_from_gs_cid_with_error@nsCOMPtr_base@@QAIXABVnsGetServiceByCIDWithError@@ABUnsID@@@Z) referenced in function "public: __thiscall nsCOMPtr<class nsIXPConnect>::nsCOMPtr<class nsIXPConnect>(class nsGetServiceByCIDWithError const &)" (??0?$nsCOMPtr@VnsIXPConnect@@@@QAE@ABVnsGetServiceByCIDWithError@@@Z)
nsXPCToolsProfiler.obj : error LNK2001: unresolved external symbol "public: virtual unsigned int __thiscall nsHashKey::Write(class nsIObjectOutputStream *)const " (?Write@nsHashKey@@UBEIPAVnsIObjectOutputStream@@@Z)
nsXPCToolsProfiler.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall nsHashKey::~nsHashKey(void)" (??1nsHashKey@@UAE@XZ) referenced in function "public: virtual void * __thiscall nsHashKey::`scalar deleting destructor'(unsigned int)" (??_GnsHashKey@@UAEPAXI@Z)
nsXPCToolsProfiler.obj : error LNK2019: unresolved external symbol "public: __thiscall nsHashtable::nsHashtable(unsigned int,int)" (??0nsHashtable@@QAE@IH@Z) referenced in function "public: __thiscall ProfilerFile::ProfilerFile(char const *)" (??0ProfilerFile@@QAE@PBD@Z)
nsXPCToolsProfiler.obj : error LNK2019: unresolved external symbol "public: void __thiscall nsHashtable::Enumerate(int (__cdecl*)(class nsHashKey *,void *,void *),void *)" (?Enumerate@nsHashtable@@QAEXP6AHPAVnsHashKey@@PAX1@Z1@Z) referenced in function "public: void __thiscall ProfilerFile::EnumerateFunctions(int (__cdecl*)(class nsHashKey *,void *,void *),void *)" (?EnumerateFunctions@ProfilerFile@@QAEXP6AHPAVnsHashKey@@PAX1@Z1@Z)
nsXPCToolsProfiler.obj : error LNK2019: unresolved external symbol "public: void * __thiscall nsHashtable::Remove(class nsHashKey *)" (?Remove@nsHashtable@@QAEPAXPAVnsHashKey@@@Z) referenced in function "void __cdecl xpctools_JSDestroyScriptHook(struct JSContext *,struct JSScript *,void *)" (?xpctools_JSDestroyScriptHook@@YAXPAUJSContext@@PAUJSScript@@PAX@Z)
nsXPCToolsProfiler.obj : error LNK2019: unresolved external symbol "public: void * __thiscall nsHashtable::Get(class nsHashKey *)" (?Get@nsHashtable@@QAEPAXPAVnsHashKey@@@Z) referenced in function "void * __cdecl xpctools_InterpreterHook(struct JSContext *,struct JSStackFrame *,int,int *,void *)" (?xpctools_InterpreterHook@@YAPAXPAUJSContext@@PAUJSStackFrame@@HPAHPAX@Z)
nsXPCToolsProfiler.obj : error LNK2019: unresolved external symbol "public: void * __thiscall nsHashtable::Put(class nsHashKey *,void *)" (?Put@nsHashtable@@QAEPAXPAVnsHashKey@@PAX@Z) referenced in function "public: class ProfilerFunction * __thiscall ProfilerFile::FindOrAddFunction(char const *,unsigned int,unsigned int,unsigned int)" (?FindOrAddFunction@ProfilerFile@@QAEPAVProfilerFunction@@PBDIII@Z)
nsXPCToolsProfiler.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall nsCStringKey::~nsCStringKey(void)" (??1nsCStringKey@@UAE@XZ) referenced in function "void __cdecl xpctools_JSNewScriptHook(struct JSContext *,char const *,unsigned int,struct JSScript *,struct JSFunction *,void *)" (?xpctools_JSNewScriptHook@@YAXPAUJSContext@@PBDIPAUJSScript@@PAUJSFunction@@PAX@Z)
nsXPCToolsProfiler.obj : error LNK2019: unresolved external symbol "public: __thiscall nsCStringKey::nsCStringKey(char const *,int,enum nsCStringKey::Ownership)" (??0nsCStringKey@@QAE@PBDHW4Ownership@0@@Z) referenced in function "void __cdecl xpctools_JSNewScriptHook(struct JSContext *,char const *,unsigned int,struct JSScript *,struct JSFunction *,void *)" (?xpctools_JSNewScriptHook@@YAXPAUJSContext@@PBDIPAUJSScript@@PAUJSFunction@@PAX@Z)
nsXPCToolsProfiler.obj : error LNK2019: unresolved external symbol "public: void __fastcall nsCOMPtr_base::assign_from_gs_contractid(class nsGetServiceByContractID,struct nsID const &)" (?assign_from_gs_contractid@nsCOMPtr_base@@QAIXVnsGetServiceByContractID@@ABUnsID@@@Z) referenced in function "public: __thiscall nsCOMPtr<class nsIJSRuntimeService>::nsCOMPtr<class nsIJSRuntimeService>(class nsGetServiceByContractID)" (??0?$nsCOMPtr@VnsIJSRuntimeService@@@@QAE@VnsGetServiceByContractID@@@Z)
nsXPCToolsProfiler.obj : error LNK2019: unresolved external symbol "public: void __thiscall nsHashtable::Reset(int (__cdecl*)(class nsHashKey *,void *,void *),void *)" (?Reset@nsHashtable@@QAEXP6AHPAVnsHashKey@@PAX1@Z1@Z) referenced in function "public: virtual __thiscall nsXPCToolsProfiler::~nsXPCToolsProfiler(void)" (??1nsXPCToolsProfiler@@UAE@XZ)
nsXPCToolsModule.obj : error LNK2019: unresolved external symbol "unsigned int __cdecl NS_NewGenericModule2(struct nsModuleInfo const *,class nsIModule * *)" (?NS_NewGenericModule2@@YAIPBUnsModuleInfo@@PAPAVnsIModule@@@Z) referenced in function _NSGetModule
xpctools.dll : fatal error LNK1120: 18 unresolved externals
============================

Here is my mozconfig:
============================
mk_add_options MOZ_CO_PROJECT=xulrunner
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/_obj-xulrunner-@CONFIG_GUESS@
mk_add_options MOZ_MAKE_FLAGS=-j4

ac_add_options --enable-application=xulrunner
ac_add_options --prefix=/usr/local/xulrunner

ac_add_options --enable-canvas
ac_add_options --enable-svg
ac_add_options --enable-xpctools
ac_add_options --enable-storage

ac_add_options --disable-activex
ac_add_options --disable-activex-scripting
ac_add_options --disable-xpconnect-idispatch
ac_add_options --disable-accessibility

ac_add_options --disable-javaxpcom
ac_add_options --disable-perlconnect
ac_add_options --disable-static

ac_add_options --disable-mailnews
ac_add_options --disable-ldap

ac_add_options --enable-libxul
ac_add_options --disable-tests
ac_add_options --enable-optimize
ac_add_options --disable-debug
============================


Reproducible: Always

Steps to Reproduce:
1. Update sources tree
2. Try to build xulrunner with given mozconfig


Actual Results:  
Build failed

Expected Results:  
Build successed
Summary: xpctools can not be build from latest TRUNK sources, as part of XULRunner build → xpctools cannot be built from latest TRUNK sources, as part of XULRunner build
Assignee: nobody → dbradley
Status: UNCONFIRMED → NEW
Component: Build Config → XPConnect
Ever confirmed: true
QA Contact: build-config → xpconnect
this is not restricted to windows builds, I see also these link failures on linux, when enabling xpctools
Assignee: dbradley → benjamin
Status: NEW → ASSIGNED
Attachment #233083 - Flags: review?(timeless)
Comment on attachment 233083 [details] [diff] [review]
Use frozen linkage, rev. 1

the .Init() calls really should be error checked (as should PR_NewLock), but we can deal w/ that later.
Attachment #233083 - Flags: review?(timeless) → review+
Fixed on trunk.
Status: ASSIGNED → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
now after the checkin I see following compile issues for XULrunner with xpctools enabled
i686-pc-linux-gnu-g++ -o nsXPCToolsCompiler.o -c -fvisibility=hidden -DOSTYPE=\"Linux2.6\" -DOSARCH=\"Linux\" -DBUILD_ID=0000000000 -DJSFILE -DJS_THREADSAFE  -I../../../../../dist/include/xpcom -I../../../../../dist/include/xpconnect -I../../../../../dist/include/js -I../../../../../dist/include/string -I../../../../../dist/include   -I../../../../../dist/include/xpctools -I../../../../../dist/include/nspr    -I../../../../../dist/sdk/include    -fPIC  -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\"  -fno-rtti -fno-handle-exceptions
-Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -march=athlon-xp -pipe -Wno-return-type -w -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -O2  -DGENTOO_NSPLUGINS_DIR=\"/usr/lib/nsplugins\" -DGENTOO_NSBROWSER_PLUGINS_DIR=\"/usr/lib/nsbrowser/plugins\"  -DMOZILLA_CLIENT -include ../../../../../mozilla-config.h -Wp,-MD,.deps/nsXPCToolsCompiler.pp nsXPCToolsCompiler.cpp
../../../../../dist/include/xpconnect/nsIXPConnect.h:386: error: 'nsQueryInterface' does not name a type
../../../../../dist/include/xpconnect/nsIXPConnect.h:392: error: 'nsQueryInterfaceWithError' does not name a type
gmake[2]: *** [nsXPCToolsCompiler.o] Error 1
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: