Closed Bug 384174 Opened 12 years ago Closed 12 years ago

Talkback missing from Windows/Linux builds (libxul landing)


(Core Graveyard :: Talkback Client, defect, major)

Not set


(Not tracked)



(Reporter: nthomas, Assigned: benjamin)




(2 files)

The fine folk in QA noticed this. The compilation error is:

/cygdrive/e/builds/tinderbox/Fx-Trunk/WINNT_5.2_Depend/mozilla/build/cygwin-wrapper link -NOLOGO -DLL -OUT:qfaservices.dll -PDB:qfaservices.pdb -SUBSYSTEM:WINDOWS  nsQfaServices.obj nsQfaServicesFactory.obj   ./module.res -DEBUG -OPT:REF -OPT:nowin98  -IMPLIB:fake.lib ../../src/win/fulls32.lib ../../../dist/lib/xpcom.lib ../../../dist/lib/xul.lib ../../../dist/lib/nspr4.lib ../../../dist/lib/plc4.lib ../../../dist/lib/plds4.lib   kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib ole32.lib shell32.lib   
   Creating library fake.lib and object fake.exp
NEXT ERROR nsQfaServices.obj : error LNK2019: unresolved external symbol "unsigned int __fastcall NS_TableDrivenQI(void *,struct QITableEntry const *,struct nsID const &,void * *)" (?NS_TableDrivenQI@@YIIPAXPBUQITableEntry@@ABUnsID@@PAPAX@Z) referenced in function "public: virtual unsigned int __stdcall nsQfaServicesImpl::QueryInterface(struct nsID const &,void * *)" (?QueryInterface@nsQfaServicesImpl@@UAGIABUnsID@@PAPAX@Z)
nsQfaServicesFactory.obj : error LNK2019: unresolved external symbol "public: __thiscall nsCOMPtr_base::~nsCOMPtr_base(void)" (??1nsCOMPtr_base@@QAE@XZ) referenced in function "public: __thiscall nsCOMPtr<class nsICategoryManager>::~nsCOMPtr<class nsICategoryManager>(void)" (??1?$nsCOMPtr@VnsICategoryManager@@@@QAE@XZ)
nsQfaServicesFactory.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
nsQfaServicesFactory.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 nsICategoryManager>::nsCOMPtr<class nsICategoryManager>(class nsGetServiceByContractIDWithError const &)" (??0?$nsCOMPtr@VnsICategoryManager@@@@QAE@ABVnsGetServiceByContractIDWithError@@@Z)
qfaservices.dll : fatal error LNK1120: 4 unresolved externals
Not much I can do about this one, someone on the build team or bsmedberg might know more about what broke.
Assignee: jay → nobody
Yeah, I forgot about this one and meant to remove talkback completely before turning libxul on. I'll do that here. 
Assignee: nobody → benjamin
fyi, I noticed it looking at the MozillaTest tree on tinderbox. The talos machines currently rely on talkback info for buildid.
Attachment #268179 - Flags: review?(robert.bugzilla)
Broken on Linux as well, which sucks since we have no Breakpad coverage there yet:

/tools/gcc/bin/g++ -I/usr/X11R6/include -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Wcast-align -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wno-long-long -pedantic -fshort-wchar -pthread -pipe  -DNDEBUG -DTRIMMED -Os -freorder-blocks -fno-reorder-functions -gstabs+ -fPIC -shared -Wl,-z,defs -Wl,-h, -o  nsQfaServices.o nsQfaServicesFactory.o    -lpthread    ../../src/unix/libfullsoft.a -L../../../dist/bin -Wl,-rpath-link,../../../dist/bin -lxpcom -lxul  -L../../../dist/lib -lplds4 -lplc4 -lnspr4 -lpthread -ldl  -ldl -lm    
nsQfaServices.o(.text+0xf2): In function `nsQfaServicesImpl::QueryInterface(nsID const&, void**)':
/builds/tinderbox/Fx-Trunk/Linux_2.6.9-42.ELsmp_Depend/mozilla/fullsoft/qfa/src/nsQfaServices.cpp:66: undefined reference to `NS_TableDrivenQI(void*, QITableEntry const*, nsID const&, void**)'
nsQfaServicesFactory.o(.text+0x1d): In function `nsCOMPtr<nsICategoryManager>::~nsCOMPtr()':
/builds/tinderbox/Fx-Trunk/Linux_2.6.9-42.ELsmp_Depend/mozilla/fullsoft/qfa/src/../../../dist/include/xpcom/nsCOMPtr.h:542: undefined reference to `NS_NewGenericModule2(nsModuleInfo const*, nsIModule**)'
nsQfaServicesFactory.o(.gnu.linkonce.t._ZN8nsCOMPtrI18nsICategoryManagerEC1ERK33nsGetServiceByContractIDWithError+0x25):/builds/tinderbox/Fx-Trunk/Linux_2.6.9-42.ELsmp_Depend/mozilla/fullsoft/qfa/src/../../../dist/include/xpcom/nsCOMPtr.h:542: undefined reference to `nsCOMPtr_base::assign_from_gs_contractid_with_error(nsGetServiceByContractIDWithError const&, nsID const&)'
nsQfaServicesFactory.o(.gnu.linkonce.t._ZN8nsCOMPtrI18nsICategoryManagerED1Ev+0xa):/builds/tinderbox/Fx-Trunk/Linux_2.6.9-42.ELsmp_Depend/mozilla/fullsoft/qfa/src/../../../dist/include/xpcom/nsCOMPtr.h:542: undefined reference to `nsCOMPtr_base::~nsCOMPtr_base()'
collect2: ld returned 1 exit status
gmake[3]: *** [] Error 1
OS: Windows XP → All
Hardware: PC → All
Summary: Talkback missing from Windows builds (libxul landing?) → Talkback missing from Windows/Linux builds (libxul landing)
I would really like to see

landed before this goes in.
Depends on: 383167
Comment on attachment 268179 [details] [diff] [review]
Remove talkback for Windows, rev. 1

Benjamin, more can be removed from the installer portion. Would you like me to submit a separate patch for the installer changes?
Robert, sure. I just wanted to make sure I wasn't touching too much because Tbird still needs talkback for the moment.
Comment on attachment 268179 [details] [diff] [review]
Remove talkback for Windows, rev. 1

I haven't tested this yet but it looks fine except for the following.

>Index: browser/installer/windows/nsis/installer.nsi
>RCS file: /cvsroot/mozilla/browser/installer/windows/nsis/installer.nsi,v
>retrieving revision 1.25
>diff -u -4 -r1.25 installer.nsi
>--- browser/installer/windows/nsis/installer.nsi	3 May 2007 23:40:54 -0000	1.25
>+++ browser/installer/windows/nsis/installer.nsi	13 Jun 2007 01:51:49 -0000
>@@ -254,20 +254,9 @@
>   ; For a "Standard" upgrade without talkback installed add the InstallDisabled
>   ; file to the talkback source files so it will be disabled by the extension
>   ; manager. This is done at the start of the installation since we check for
>   ; the existence of a directory to determine if this is an upgrade.
Please remove the above comment since it is also for Talkback

>-  ${If} $InstallType == 1
>-  ${AndIf} ${FileExists} "$INSTDIR\greprefs"
>-  ${AndIf} ${FileExists} "$EXEDIR\optional\extensions\"
>-    ${Unless} ${FileExists} "$INSTDIR\extensions\"
>-      ${Unless} ${FileExists} "$INSTDIR\extensions"
>-        CreateDirectory "$INSTDIR\extensions"
>-      ${EndUnless}
>-      CreateDirectory "$INSTDIR\extensions\"
>-      FileOpen $2 "$EXEDIR\optional\extensions\\InstallDisabled" w
>-      FileWrite $2 "$\r$\n"
>-      FileClose $2
>-    ${EndUnless}
>+  ${If} $InstallType != 1
>   ${Else}
Remove the ${Else} so the following block only applies to custom installs

r=me with those changes
Attachment #268179 - Flags: review?(robert.bugzilla) → review+
Comment on attachment 268179 [details] [diff] [review]
Remove talkback for Windows, rev. 1

>Index: browser/installer/
>RCS file: /cvsroot/mozilla/browser/installer/,v
>retrieving revision 1.21
>diff -u -4 -r1.21
>--- browser/installer/	25 May 2007 22:09:29 -0000	1.21
>+++ browser/installer/	13 Jun 2007 01:51:48 -0000
>@@ -447,8 +447,21 @@
> searchplugins/zoznam-sk.png
> searchplugins/zoznam-sk.gif
> components/sidebar.xpt
> components/xmlextras.xpt
>+#ifdef XP_WIN
Just caught this... extensions/ should also be added to the
Fixed on trunk via removal of talkback completely from all builds.
Closed: 12 years ago
Resolution: --- → FIXED
We need to remove the InstallDisabled file that allowed us to install talkback disabled via the installer.
Comment on attachment 270652 [details] [diff] [review]
Also remove InstallDisabled (checked in)

Attachment #270652 - Flags: review+
Flags: in-testsuite-
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.