Last Comment Bug 694709 - If $DXSDK_DIR and $MOZ_DIRECTX_SDK_PATH disagree, building breaks in ANGLE -- only use MOZ_DIRECTX_SDK_PATH
: If $DXSDK_DIR and $MOZ_DIRECTX_SDK_PATH disagree, building breaks in ANGLE --...
Product: Core
Classification: Components
Component: Canvas: WebGL (show other bugs)
: Trunk
: All Windows 7
-- normal (vote)
: mozilla10
Assigned To: Jeff Walden [:Waldo] (remove +bmo to email)
: Milan Sreckovic [:milan]
Depends on:
  Show dependency treegraph
Reported: 2011-10-14 17:11 PDT by Jeff Walden [:Waldo] (remove +bmo to email)
Modified: 2011-10-16 10:51 PDT (History)
3 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

Patch (1.22 KB, patch)
2011-10-14 17:11 PDT, Jeff Walden [:Waldo] (remove +bmo to email)
jacob.benoit.1: review+
Details | Diff | Splinter Review

Description User image Jeff Walden [:Waldo] (remove +bmo to email) 2011-10-14 17:11:28 PDT
Created attachment 567226 [details] [diff] [review]

I had the June 2010 DirectX SDK installed, and I was building Mozilla just fine.

Then I installed the February 2010 DirectX SDK in order to be able to build WebKit (they don't support June 2010 yet).  This appears to have overwritten $DXSDK_DIR to point to the February 2010 SDK.

We set up the include path when building libEGL and libGLESv2 to include both -I"$(DXSDK_DIR)/include" and -I"$(MOZ_DIRECTX_SDK_PATH)/include".  If the two agree, everything's fine, it's just a redundant include path.  But if the two conflict, things break pretty horribly when include files from two different SDKs get used at once.

Per bug 676315 comment 2, "checking DXSDK_DIR here is useless and could even cause trouble in case of multiple DXSDKs installed".  Based on my experience, this does cause trouble, perhaps if you install the SDKs in reverse order.  And based on that comment, and on a smidgen of intuition, and on testing this patch, removing the DXSDK_DIR lines should fix things.  So let's do that so nobody else has to hit this and so I can remove |unset DXSDK_DIR| from my ~/.bash_profile.  :-)
Comment 1 User image Benoit Jacob [:bjacob] (mostly away) 2011-10-14 17:14:43 PDT
Note that we already have code in to explicitly prefer the June 2010 version if it's present. So with your patch, we should really never fail to build, as long as the June 2010 version is present.
Comment 2 User image Benoit Jacob [:bjacob] (mostly away) 2011-10-14 17:16:01 PDT
Also note that Chrome uses the June 2010 version. So it's a bit strange that WebKit would want the February 2010 version. Maybe that only concerns Safari on Windows.

Note You need to log in before you can comment on or make changes to this bug.