Closed
Bug 9167
Opened 26 years ago
Closed 25 years ago
Active X build breaks with latest platform SDK
Categories
(Core Graveyard :: Embedding: ActiveX Wrapper, defect, P3)
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: kberk.spamaway, Assigned: locka)
References
()
Details
This is getting stranger yet.
I decided to see if Apprunner would crash if I built it with the Microsoft
Platform SDK header files (the latest ones that also support Windows 2000
Beta 3 RC1). I really expected the same results. Instead the build broke
with this error:
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(153) : error C2668:
'InlineIsEqualGUID' : ambiguous call to overloaded function
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(466) : error C2259:
'CWebShellContainer' : cannot instantiate abstract class due to following
members:
e:\mozilla\webshell\embed\ActiveX\WebShellContainer.h(24) : see
declaration of 'CWebShellContainer'
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(466) : warning C4259:
'unsigned int __stdcall nsIWebShellContainer::CreatePopup(class
nsIDOMElement *,class nsIDOMElement *,int,int,const class nsString &,const
class nsString &,const class nsString &,cl
ass nsIDOMWindow *,class nsIDOMWindow ** )' : pure virtual function was not
defined
..\..\..\dist\include\nsIWebShell.h(110) : see declaration of
'CreatePopup'
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(466) : error C2259:
'CWebShellContainer' : cannot instantiate abstract class due to following
members:
e:\mozilla\webshell\embed\ActiveX\WebShellContainer.h(24) : see
declaration of 'CWebShellContainer'
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(466) : warning C4259:
'unsigned int __stdcall nsIWebShellContainer::CreatePopup(class
nsIDOMElement *,class nsIDOMElement *,int,int,const class nsString &,const
class nsString &,const class nsString &,cl
ass nsIDOMWindow *,class nsIDOMWindow ** )' : pure virtual function was not
defined
..\..\..\dist\include\nsIWebShell.h(110) : see declaration of
'CreatePopup'
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MI017E~1\VC98\BIN\NMAKE.EXE' :
return code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MI017E~1\VC98\BIN\NMAKE.EXE' :
return code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MI017E~1\VC98\BIN\NMAKE.EXE' :
return code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MI017E~1\VC98\BIN\NMAKE.EXE' :
return code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MI017E~1\VC98\BIN\NMAKE.EXE' :
return code '0x2'
Stop.
E:\mozilla>cd\
The environment is only slightly different in this case.
set CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
set HOME=E:\CVS
set BUILD_OPT=
set BUILD_XPIDL=1
set MODULAR_NETLIB=1
set MOZ_BITS=32
set MOZ_DEBUG=1
set MOZ_SRC=e:
set MOZ_TOOLS=e:\cygnus\cygwin-b20\H-i586-cygwin32
set NGLAYOUT_PLUGINS=1
set OS_TARGET=WINNT
set PATH=%PATH%;%MOZ_TOOLS%\bin;e:\cvs
set STANDALONE_IMAGE_LIB=1
set _MSC_VER=1200
call "D:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat"
call e:\platsdk\setenv.bat e:\platsdk
I really don't think this should make a difference, so I am currently
building without the SDK again to see if it crashes. I don't remember
repulling the tree since the first build I did today though. I think I
pulled it last arround 5 am EDT or so.
Anyhow, please any insights would be appreciated.
Thanks
Kevin Berkheiser
Kevin Berkheiser <KBerk@Bigfoot.com> wrote in message
news:7lg6r4$7es1@secnews.netscape.com...
> About a month ago right before I left town on a business trip my NT build
> machine crashed.
>
> When I got back about a week and a half ago, I rebuilt the machine from
> scratch.
>
> Ever since reubilding the machine I can compile Mozilla fine, but I get
the
> attached error every time I run it (the Profile setup does complete the
> first time).
>
> I thought maybe I messed Windows NT up when I reloaded the machine, so
last
> night, I rebuilt the machine again. But I still get the crash.
>
> Here is my build environment:
>
> set CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
> set HOME=E:\CVS
> set BUILD_OPT=
> set BUILD_XPIDL=1
> set MODULAR_NETLIB=1
> set MOZ_BITS=32
> set MOZ_DEBUG=1
> set MOZ_SRC=e:
> set MOZ_TOOLS=e:\cygnus\cygwin-b20\H-i586-cygwin32
> set NGLAYOUT_PLUGINS=1
> set OS_TARGET=WINNT
> set PATH=%PATH%;%MOZ_TOOLS%\bin;e:\cvs
> set STANDALONE_IMAGE_LIB=1
> set _MSC_VER=1200
> call "D:\Program Files\Microsoft Visual Studio\VC98\Bin\vcvars32.bat"
>
>
> I am running Windows NT 4.0 Service Pack 4, Visual C++ 6.0 Standard
Service
> Pack 3, Pearl Build 517, Cygwin B20.
>
> I don't know where to go next, so please help.
>
> Thanks
>
> Kevin Berkheiser
>
>
>
The problem is that you set MSSDK=1 when you use the sdk, and this
causes the activeX control to get built. If you set MSSDK= then the
control doesn't get built, and the build succeeds.
Looks like the new sdk is not compatible with what Adam Lock has wrote
code against (the sdk provided with vc6).
leaf
Reporter | ||
Updated•26 years ago
|
Reporter | ||
Comment 1•26 years ago
|
||
Added URL to download the SDK.
Reporter | ||
Comment 2•26 years ago
|
||
But 10566 was just fixed. Is this related?
kberk :- can you try this again and verify that the fix for 10566 also solves
your problem. let myself (tague@netscape.com) or cpratt know about it so that
we can update the status on the bug.
Reporter | ||
Comment 4•26 years ago
|
||
Here are the results of my tests on this bug.
A clobber build without the SDK completes. We already know this, but I checked
to validate my CVS pull.
A clobber with the SDK completes. This is new, due to the changes made to the
build prosess for bug 10566 Active X building is not keyed off on the SDK
environment variable any longer.
A depend or clobber build with MOZ_ACTIVEX_SUPPORT=1 set results in a failed
build with the following error:
Processing e:\PlatSDK\Include\urlmon.idl
urlmon.idl
Processing e:\PlatSDK\Include\msxml.idl
msxml.idl
Processing e:\PlatSDK\Include\docobj.idl
docobj.idl
StdAfx.cpp
ControlSite.cpp
ControlSiteIPFrame.cpp
ItemContainer.cpp
PropertyBag.cpp
MozillaControl.cpp
nsSetupRegistry.cpp
MozillaBrowser.cpp
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(162) : error C2668:
'InlineIsEqualGUID' : ambiguous call to overloaded function
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(2399) : warning C4541:
'dynamic_cast' used on polymorphic type 'struct IOleCommandTarget' with /GR-;
unpredictable behavior may result
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'C:\PROGRA~1\MICROS~1\VC98\BIN\NMAKE.EXE' : return
code '0x2'
Stop.
NMAKE : fatal error U1077: 'C:\PROGRA~1\MICROS~1\VC98\BIN\NMAKE.EXE' : return
code '0x2'
Stop.
NMAKE : fatal error U1077: 'C:\PROGRA~1\MICROS~1\VC98\BIN\NMAKE.EXE' : return
code '0x2'
Stop.
NMAKE : fatal error U1077: 'C:\PROGRA~1\MICROS~1\VC98\BIN\NMAKE.EXE' : return
code '0x2'
Stop.
NMAKE : fatal error U1077: 'C:\PROGRA~1\MICROS~1\VC98\BIN\NMAKE.EXE' : return
code '0x2'
Stop
E:\mozilla>
I tried adding Processing with this MOZ_ACTIVEX_PLUGIN_SUPPORT = 1 set as well,
but got the same error.
Also, an important note. I used what was the first Win2k RC1 platform SDK
released probably in June. If you go to the above site now, M$ has a new
platform SDK for July that is huge. I did not download the newer one, so I
cannot verify that this problem exists in the latest Platform SDK.
The problem originally had has been corrected. I can now build without Active X
with the SDK. But, there is still a problem building with Active X.
Reporter | ||
Comment 5•25 years ago
|
||
I verified (see below) that this bug is valid still for the old June 99 Platform
SDK. I will try to get a copy of the January 2000 SDK just in case that fixes
the problem. I'll update this bug again once I get the new SDK.
I think the January 2K SDK contains the non-beta Windows 98 and Windows 2000
Headers. I would think building this component with those headers would be
better?
+++ make: install in e:\mozilla\webshell\embed
+++ make: install in e:\mozilla\webshell\embed\ActiveX
Microsoft (R) MIDL Compiler Version 5.01.0164
Copyright (c) Microsoft Corp 1991-1997. All rights reserved.
Processing .\MozillaControl.idl
MozillaControl.idl
Processing e:\PlatSDK\Include\oaidl.idl
oaidl.idl
Processing e:\PlatSDK\Include\objidl.idl
objidl.idl
Processing e:\PlatSDK\Include\unknwn.idl
unknwn.idl
Processing e:\PlatSDK\Include\wtypes.idl
wtypes.idl
Processing e:\PlatSDK\Include\basetsd.h
basetsd.h
Processing e:\PlatSDK\Include\guiddef.h
guiddef.h
Processing e:\PlatSDK\Include\ocidl.idl
ocidl.idl
Processing e:\PlatSDK\Include\oleidl.idl
oleidl.idl
Processing e:\PlatSDK\Include\servprov.idl
servprov.idl
Processing e:\PlatSDK\Include\urlmon.idl
urlmon.idl
Processing e:\PlatSDK\Include\msxml.idl
msxml.idl
Processing e:\PlatSDK\Include\docobj.idl
docobj.idl
StdAfx.cpp
ControlSite.cpp
ControlSiteIPFrame.cpp
ItemContainer.cpp
PropertyBag.cpp
MozillaControl.cpp
nsSetupRegistry.cpp
MozillaBrowser.cpp
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(140) : error C2668:
'InlineI
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(702) : error C2660: 'Init'
:
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(707) : error C2259:
'CWebShe
e:\mozilla\webshell\embed\ActiveX\WebShellContainer.h(28) : see
declarati
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(707) : warning C4259:
'unsig
nction was not defined
..\..\..\dist\include\nsIBrowserWindow.h(68) : see declaration of 'Init'
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(707) : error C2259:
'CWebShe
e:\mozilla\webshell\embed\ActiveX\WebShellContainer.h(28) : see
declarati
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(707) : warning C4259:
'unsig
nction was not defined
..\..\..\dist\include\nsIBrowserWindow.h(68) : see declaration of 'Init'
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(710) : error C2039:
'SetPref
..\..\..\dist\include\nsIWebShell.h(111) : see declaration of
'nsIWebShel
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MICROS~2\VC98\BIN\NMAKE.EXE' : return
cod
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MICROS~2\VC98\BIN\NMAKE.EXE' : return
cod
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MICROS~2\VC98\BIN\NMAKE.EXE' : return
cod
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MICROS~2\VC98\BIN\NMAKE.EXE' : return
cod
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MICROS~2\VC98\BIN\NMAKE.EXE' : return
cod
Stop.
Sat 03/04/2000
19:00:21.63
E:\mozilla>cd\
Sat 03/04/2000
19:00:21.68
E:\>
I'll see if I can get the latest SDK and have a go at fixing it.
Reporter | ||
Comment 7•25 years ago
|
||
Cool. Is this component going to be part of the Beta?
With the January 2K SDK here are the errors.
+++ make: install in e:\mozilla\webshell\embed
+++ make: install in e:\mozilla\webshell\embed\ActiveX
StdAfx.cpp
ControlSite.cpp
ControlSiteIPFrame.cpp
ItemContainer.cpp
PropertyBag.cpp
MozillaControl.cpp
nsSetupRegistry.cpp
MozillaBrowser.cpp
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(702) : error C2660: 'Init'
: function does not take 8 parameters
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(707) : error C2259:
'CWebShellContainer' : cannot instantiate abstract class due to following
members:
e:\mozilla\webshell\embed\ActiveX\WebShellContainer.h(28) : see
declaration of 'CWebShellContainer'
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(707) : warning C4259:
'unsigned int __stdcall nsIBrowserWindow::Init(class nsIAppShell *,const struct
nsRect &,unsigned int,int)' : pure virtual fu
nction was not defined
..\..\..\dist\include\nsIBrowserWindow.h(68) : see declaration of 'Init'
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(707) : error C2259:
'CWebShellContainer' : cannot instantiate abstract class due to following
members:
e:\mozilla\webshell\embed\ActiveX\WebShellContainer.h(28) : see
declaration of 'CWebShellContainer'
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(707) : warning C4259:
'unsigned int __stdcall nsIBrowserWindow::Init(class nsIAppShell *,const struct
nsRect &,unsigned int,int)' : pure virtual fu
nction was not defined
..\..\..\dist\include\nsIBrowserWindow.h(68) : see declaration of 'Init'
e:\mozilla\webshell\embed\ActiveX\MozillaBrowser.cpp(710) : error C2039:
'SetPrefs' : is not a member of 'nsIWebShell'
..\..\..\dist\include\nsIWebShell.h(111) : see declaration of
'nsIWebShell'
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MICROS~2\VC98\BIN\NMAKE.EXE' : return
code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MICROS~2\VC98\BIN\NMAKE.EXE' : return
code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MICROS~2\VC98\BIN\NMAKE.EXE' : return
code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MICROS~2\VC98\BIN\NMAKE.EXE' : return
code '0x2'
Stop.
NMAKE : fatal error U1077: 'D:\PROGRA~1\MICROS~2\VC98\BIN\NMAKE.EXE' : return
code '0x2'
Stop.
Mon 03/06/2000
1:42:54.11
E:\mozilla>cd\
Mon 03/06/2000
1:42:54.14
E:\>
There's a bunch of little things that break with the latest SDK (as well as the
webshell API change breakages). I've downloaded the Platform SDK now and I've
fixed up most of the problems and I will check them in when the tree reopns.
That's not to say the control will work (because of the webshell) changes but at
this moment it builds at least. This bug will be closed when I have the checkins
made.
I think the Platform SDK problems were caused by errors in ATL headers and to by
changes to the IE COM headers.
Status: NEW → ASSIGNED
Reporter | ||
Comment 9•25 years ago
|
||
I take it you noticed this when setting the SDK variables.
Will this ATL thing effect anything else I wander?
Setting SDK environment relative to E:\PlatSDK. Targeting Windows NT (i386)
Implemented temporary patch in Include path For VC 6.0 ATL problem.
Assignee | ||
Comment 10•25 years ago
|
||
Tweaked some symbol names and #includes and all seems to work now.
The PlatformSDK has a hacked ATL 3.0 that must be in the INCLUDE before
Devstudio's ATL or you get ambiguous base class compiler errors.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 11•25 years ago
|
||
Is it safe to assume now that you must have the January 2000 or later Platform
SDK for this to work? There is now an April SDK but I would be very suprised
if there were any changes that break this.
I have not looked at the files lately, but you may want to make a comment in
the build files if the SDK is a requirment.
Also, if this becomes part of the default build anytime, leaf will have to
update the build instructions.
And, out of curiousity, what features does this module provide?
Updated•13 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•