Closed
Bug 1005484
Opened 10 years ago
Closed 10 years ago
[MSVC10 Build bustage] 'd3dcompiler_47.dll' or 'd3dcompiler_46.dll': No such file or directory
Categories
(Core :: Graphics: CanvasWebGL, defect)
Tracking
()
RESOLVED
FIXED
mozilla32
People
(Reporter: mayhemer, Assigned: jgilbert)
References
Details
Attachments
(3 files, 1 obsolete file)
7.52 KB,
application/x-zip
|
Details | |
4.21 KB,
patch
|
mshal
:
review+
vlad
:
feedback+
|
Details | Diff | Splinter Review |
4.26 KB,
patch
|
jgilbert
:
review+
|
Details | Diff | Splinter Review |
Will ac_add_options --disable-require-all-d3dc-versions help? Win7, debug, m-c Attached is the configure output. 8:25.29 cp: cannot stat `C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\/Redist/D3D/x86/d3dcompiler_47.dll': No such file or directory 8:25.29 Makefile:16: recipe for target 'libs' failed 8:25.29 mozmake.EXE[5]: *** [libs] Error 1 8:25.29 mozmake.EXE[5]: *** Waiting for unfinished jobs.... 8:25.33 c:/Mozilla/src/gum/config/recurse.mk:95: recipe for target 'gfx/angle/libs' failed 8:25.33 mozmake.EXE[4]: *** [gfx/angle/libs] Error 2 8:25.33 c:/Mozilla/src/gum/config/recurse.mk:39: recipe for target 'libs' failed 8:25.33 mozmake.EXE[3]: *** [libs] Error 2 8:25.33 c:/Mozilla/src/gum/config/rules.mk:592: recipe for target 'default' failed 8:25.33 mozmake.EXE[2]: *** [default] Error 2 8:25.33 c:/Mozilla/src/gum/client.mk:398: recipe for target 'realbuild' failed 8:25.33 mozmake.EXE[1]: *** [realbuild] Error 2 8:25.33 client.mk:185: recipe for target 'build' failed 8:25.33 mozmake.EXE: *** [build] Error 2 8:25.34 851 compiler warnings present. mozconfig: mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/_obj-browser-debug mk_add_options MOZ_MAKE_FLAGS=-j9 mk_add_options "export COMPILE_PDB_FLAG=" mk_add_options "export HOST_PDB_FLAG=" mk_add_options "export MOZ_DEBUG_FLAGS=-Z7" export MOZ_DEBUG_SYMBOLS=1 ac_add_options --enable-warnings-as-errors ac_add_options --enable-application=browser ac_add_options --enable-debug ac_add_options --disable-optimize ac_add_options --enable-tests ac_add_options --enable-logging ac_add_options --enable-backtrack ac_add_options --disable-installer ac_add_options --enable-chrome-format=flat ac_add_options --disable-crashreporter export MOZ_PSEUDO_DERECURSE=no-pymake
Reporter | ||
Comment 1•10 years ago
|
||
Patch from bug 1005456 has no effect. --disable-require-all-d3dc-versions as well...
Reporter | ||
Comment 2•10 years ago
|
||
Building with MSVC10
Reporter | ||
Comment 3•10 years ago
|
||
Builds with MSVC12 !
Summary: [Build bustage] 'd3dcompiler_47.dll': No such file or directory → [MSVC10 Build bustage] 'd3dcompiler_47.dll': No such file or directory
--disable-require-all-d3dc-versions should be the default. I'm surprised -- the configure check explicitly looks to see if the file is available. Ah, but it doesn't do anything with that: + # Find a D3D compiler DLL in a Windows SDK. + MOZ_D3DCOMPILER_VISTA_DLL= + case "$MOZ_WINSDK_MAXVER" in + 0x0603*) + MOZ_D3DCOMPILER_VISTA_DLL=d3dcompiler_47.dll + AC_MSG_RESULT([Found D3D compiler in Windows SDK 8.1.]) + ;; + 0x0602*) + MOZ_D3DCOMPILER_VISTA_DLL=d3dcompiler_46.dll + AC_MSG_RESULT([Found D3D compiler in Windows SDK 8.0.]) + ;; + esac + + if test -n "$MOZ_D3DCOMPILER_VISTA_DLL"; then + # We have a name, now track down the path. + if test -n "$WINDOWSSDKDIR"; then + MOZ_D3DCOMPILER_VISTA_DLL_PATH="$WINDOWSSDKDIR/Redist/D3D/$MOZ_D3D_CPU_SUFFIX/$MOZ_D3DCOMPILER_VISTA_DLL" + if test -f "$MOZ_D3DCOMPILER_VISTA_DLL_PATH"; then + MOZ_HAS_WINSDK_WITH_D3D=1 + AC_MSG_RESULT([Found MOZ_D3DCOMPILER_VISTA_DLL_PATH: $MOZ_D3DCOMPILER_VISTA_DLL_PATH]) + else + AC_MSG_RESULT([MOZ_D3DCOMPILER_VISTA_DLL_PATH doesn't exist: $MOZ_D3DCOMPILER_VISTA_DLL_PATH]) + fi + else + AC_MSG_RESULT([WINDOWSSDKDIR is missing.]) + fi + fi So somehow your MOZ_WINSDK_MAXVER is 0x0603, and likely you're hitting the "doesn't exist" AC_MSG_RESULT bit.. that really needs to at *least* set MOZ_D3DCOMPILER_VISTA_DLL to the empty string, if not error (since we're really expecting it to be found!).
Flags: needinfo?(jgilbert)
Comment 5•10 years ago
|
||
> 0:11.07 Found D3D compiler in Windows SDK 8.1.
> 0:11.07 MOZ_D3DCOMPILER_VISTA_DLL_PATH doesn't exist: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\/Redist/D3D/x86/d3dcompiler_47.dll
Hm, WINDOWSSDKDIR is incorrect somehow.
1. Are you using the latest MozillaBuild (1.9)?
2. Are you setting MOZ_MAXWINSDK?
Flags: needinfo?(honzab.moz)
Reporter | ||
Comment 6•10 years ago
|
||
(In reply to Masatoshi Kimura [:emk] from comment #5) > > 0:11.07 Found D3D compiler in Windows SDK 8.1. > > 0:11.07 MOZ_D3DCOMPILER_VISTA_DLL_PATH doesn't exist: C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\/Redist/D3D/x86/d3dcompiler_47.dll > > Hm, WINDOWSSDKDIR is incorrect somehow. > 1. Are you using the latest MozillaBuild (1.9)? I'm on 1.9.0pre > 2. Are you setting MOZ_MAXWINSDK? both start-shell-msvc2010.bat and 2013 set MOZ_MAXWINSDK=999999
Flags: needinfo?(honzab.moz)
Comment 7•10 years ago
|
||
(In reply to Honza Bambas (:mayhemer) from comment #6) > I'm on 1.9.0pre 1.9pre doesn't contain the required fix: https://hg.mozilla.org/mozilla-build/rev/af43db058d60
Comment 8•10 years ago
|
||
I also see this error. I have MozillaBuild1.9 installed, building on Win8.1 with VisualStudio 2010. VisualStudio 2012 is also installed. I can see that the ${WINDOWSSDKDIR} environment variable is: c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\ Backing out 8b48386fc226 fixes it for me.
Comment 9•10 years ago
|
||
1.9.0 release was once respined. Please make sure that start-shell-msvc2010-x64.bat has the change in comment 7.
Comment 10•10 years ago
|
||
> start-shell-msvc2010-x64.bat
Correction: start-shell-msvc2010.bat
Comment 11•10 years ago
|
||
I can see the lines added in the changeset in my start-shell-msvc2010.bat file. Funny thing is, the WINDOWSSDKDIR envvar is not the same as SDKDIR, which is what you'd expect if that change was working correctly: cpearce@MIDAS ~/src/mozilla/orange $ echo ${SDKDIR} C:\Program Files (x86)\Windows Kits\8.1\ cpearce@MIDAS ~/src/mozilla/orange $ echo ${WINDOWSSDKDIR} c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\ cpearce@MIDAS ~/src/mozilla/orange $ echo ${SDKVER} 8 cpearce@MIDAS ~/src/mozilla/orange $ echo ${SDKMINORVER} 1
Assignee | ||
Comment 12•10 years ago
|
||
(In reply to Vladimir Vukicevic [:vlad] [:vladv] from comment #4) > --disable-require-all-d3dc-versions should be the default. I'm surprised -- > the configure check explicitly looks to see if the file is available. Ah, > but it doesn't do anything with that: > > + # Find a D3D compiler DLL in a Windows SDK. > + MOZ_D3DCOMPILER_VISTA_DLL= > + case "$MOZ_WINSDK_MAXVER" in > + 0x0603*) > + MOZ_D3DCOMPILER_VISTA_DLL=d3dcompiler_47.dll > + AC_MSG_RESULT([Found D3D compiler in Windows SDK 8.1.]) > + ;; > + 0x0602*) > + MOZ_D3DCOMPILER_VISTA_DLL=d3dcompiler_46.dll > + AC_MSG_RESULT([Found D3D compiler in Windows SDK 8.0.]) > + ;; > + esac > + > + if test -n "$MOZ_D3DCOMPILER_VISTA_DLL"; then > + # We have a name, now track down the path. > + if test -n "$WINDOWSSDKDIR"; then > + > MOZ_D3DCOMPILER_VISTA_DLL_PATH="$WINDOWSSDKDIR/Redist/D3D/ > $MOZ_D3D_CPU_SUFFIX/$MOZ_D3DCOMPILER_VISTA_DLL" > + if test -f "$MOZ_D3DCOMPILER_VISTA_DLL_PATH"; then > + MOZ_HAS_WINSDK_WITH_D3D=1 > + AC_MSG_RESULT([Found MOZ_D3DCOMPILER_VISTA_DLL_PATH: > $MOZ_D3DCOMPILER_VISTA_DLL_PATH]) > + else > + AC_MSG_RESULT([MOZ_D3DCOMPILER_VISTA_DLL_PATH doesn't exist: > $MOZ_D3DCOMPILER_VISTA_DLL_PATH]) > + fi > + else > + AC_MSG_RESULT([WINDOWSSDKDIR is missing.]) > + fi > + fi > > So somehow your MOZ_WINSDK_MAXVER is 0x0603, and likely you're hitting the > "doesn't exist" AC_MSG_RESULT bit.. that really needs to at *least* set > MOZ_D3DCOMPILER_VISTA_DLL to the empty string, if not error (since we're > really expecting it to be found!). Oops! My bad! Yeah, we should be zeroing MOZ_D3DCOMPILER_VISTA_DLL here.
Flags: needinfo?(jgilbert)
Assignee | ||
Comment 13•10 years ago
|
||
Let's try this.
Assignee: nobody → jgilbert
Attachment #8417684 -
Flags: review?(mshal)
Attachment #8417684 -
Flags: feedback?(vladimir)
I'd really be tempted to make that an error. If you have the SDK, but you don't have the DLL, something is pretty screwed up with your setup. We should give people the opportunity to fix it, or explicitly disable angle if they are doing something strange.
Assignee | ||
Comment 15•10 years ago
|
||
(In reply to Vladimir Vukicevic [:vlad] [:vladv] from comment #14) > I'd really be tempted to make that an error. If you have the SDK, but you > don't have the DLL, something is pretty screwed up with your setup. We > should give people the opportunity to fix it, or explicitly disable angle if > they are doing something strange. Ah, good point, and I agree.
Assignee | ||
Comment 16•10 years ago
|
||
Attachment #8417684 -
Attachment is obsolete: true
Attachment #8417684 -
Flags: review?(mshal)
Attachment #8417684 -
Flags: feedback?(vladimir)
Attachment #8417716 -
Flags: review?(mshal)
Attachment #8417716 -
Flags: feedback?(vladimir)
Comment 17•10 years ago
|
||
Comment on attachment 8417716 [details] [diff] [review] fix-missing-dll >diff --git a/configure.in b/configure.in >--- a/configure.in >+++ b/configure.in >@@ -5780,24 +5780,30 @@ if test -n "$MOZ_ANGLE_RENDERER"; then > ;; > esac > > if test -n "$MOZ_D3DCOMPILER_VISTA_DLL"; then > # We have a name, now track down the path. > if test -n "$WINDOWSSDKDIR"; then > MOZ_D3DCOMPILER_VISTA_DLL_PATH="$WINDOWSSDKDIR/Redist/D3D/$MOZ_D3D_CPU_SUFFIX/$MOZ_D3DCOMPILER_VISTA_DLL" > if test -f "$MOZ_D3DCOMPILER_VISTA_DLL_PATH"; then >+ AC_MSG_RESULT([Found MOZ_D3DCOMPILER_VISTA_DLL_PATH: $MOZ_D3DCOMPILER_VISTA_DLL_PATH]) > MOZ_HAS_WINSDK_WITH_D3D=1 >- AC_MSG_RESULT([Found MOZ_D3DCOMPILER_VISTA_DLL_PATH: $MOZ_D3DCOMPILER_VISTA_DLL_PATH]) What is the point of moving the AC_MSG_RESULT call? > else > AC_MSG_RESULT([MOZ_D3DCOMPILER_VISTA_DLL_PATH doesn't exist: $MOZ_D3DCOMPILER_VISTA_DLL_PATH]) >+ AC_MSG_ERROR([Windows SDK at "$WINDOWSSDKDIR" appears broken.]) >+ MOZ_D3DCOMPILER_VISTA_DLL_PATH= AC_MSG_ERROR stops execution, so you don't need to clear a variable after it. >+ AC_MSG_RESULT([Couldn't find a CAB containing the D3D compiler DLL.]) >+ AC_MSG_ERROR([DirectX SDK at "$MOZ_DIRECTX_SDK_PATH" appears broken.]) >+ MOZ_DIRECTX_SDK_PATH= Same thing here.
Attachment #8417716 -
Flags: review?(mshal) → review+
Assignee | ||
Comment 18•10 years ago
|
||
(In reply to Michael Shal [:mshal] from comment #17) > Comment on attachment 8417716 [details] [diff] [review] > fix-missing-dll > > >diff --git a/configure.in b/configure.in > >--- a/configure.in > >+++ b/configure.in > >@@ -5780,24 +5780,30 @@ if test -n "$MOZ_ANGLE_RENDERER"; then > > ;; > > esac > > > > if test -n "$MOZ_D3DCOMPILER_VISTA_DLL"; then > > # We have a name, now track down the path. > > if test -n "$WINDOWSSDKDIR"; then > > MOZ_D3DCOMPILER_VISTA_DLL_PATH="$WINDOWSSDKDIR/Redist/D3D/$MOZ_D3D_CPU_SUFFIX/$MOZ_D3DCOMPILER_VISTA_DLL" > > if test -f "$MOZ_D3DCOMPILER_VISTA_DLL_PATH"; then > >+ AC_MSG_RESULT([Found MOZ_D3DCOMPILER_VISTA_DLL_PATH: $MOZ_D3DCOMPILER_VISTA_DLL_PATH]) > > MOZ_HAS_WINSDK_WITH_D3D=1 > >- AC_MSG_RESULT([Found MOZ_D3DCOMPILER_VISTA_DLL_PATH: $MOZ_D3DCOMPILER_VISTA_DLL_PATH]) > > What is the point of moving the AC_MSG_RESULT call? > > > else > > AC_MSG_RESULT([MOZ_D3DCOMPILER_VISTA_DLL_PATH doesn't exist: $MOZ_D3DCOMPILER_VISTA_DLL_PATH]) > >+ AC_MSG_ERROR([Windows SDK at "$WINDOWSSDKDIR" appears broken.]) > >+ MOZ_D3DCOMPILER_VISTA_DLL_PATH= > > AC_MSG_ERROR stops execution, so you don't need to clear a variable after it. > > >+ AC_MSG_RESULT([Couldn't find a CAB containing the D3D compiler DLL.]) > >+ AC_MSG_ERROR([DirectX SDK at "$MOZ_DIRECTX_SDK_PATH" appears broken.]) > >+ MOZ_DIRECTX_SDK_PATH= > > Same thing here. I'm leaving unreachable code here as if ERROR didn't stop execution. This should make it more likely to remain functional in the future, if we s/ERROR/RESULT/ here.
Comment 19•10 years ago
|
||
Comment on attachment 8417716 [details] [diff] [review] fix-missing-dll > + AC_MSG_ERROR([Windows SDK at "$WINDOWSSDKDIR" appears broken.]) I think the error message should also suggest to upgrade MozillaBuild to 1.9 final if it is not. The message [Windows SDK at "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\" appears broken.] will be really confusing and useless to troubleshoot the issue. In that case, Windows SDK is not broken at all. It's just WINDOWSSDKDIR points the wrong SDK.
Comment 20•10 years ago
|
||
I updated my MozillaBuild to 1.9 and I still get the error: 0:12.67 checking for jar... (cached) : 0:12.68 checking for jarsigner... (cached) : 0:12.69 checking for keytool... (cached) : 0:12.78 Found D3D compiler in Windows SDK 8.1. 0:12.78 MOZ_D3DCOMPILER_VISTA_DLL_PATH doesn't exist: c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\/Redist/D3D/x86/d3dcompiler_47.dll 0:12.78 configure: error: Windows SDK at c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\ appears broken. 0:12.78 ------ config.log ------ 0:12.79 cl : Command line warning D9002 : ignoring unknown option '-NXCOMPAT' 0:12.79 cl : Command line warning D9002 : ignoring unknown option '-SAFESEH' 0:12.79 conftest.C 0:12.79 configure:15103: checking for YASM assembler 0:12.79 configure:15109: checking for yasm 0:12.79 configure:16107: checking for application to build 0:12.79 configure:16176: checking if app-specific confvars.sh exists 0:12.79 configure:19852: cl -c -TC -nologo -W3 -Gy -wd4244 -wd4819 -we4553 conftest.c 1>&5 0:12.79 conftest.c 0:12.79 configure(19846) : fatal error C1083: Cannot open include file: 'linux/ethtool.h': No such file or directory 0:12.79 configure: failed program was: 0:12.79 #line 19845 "configure" 0:12.79 #include "confdefs.h" 0:12.79 #include <linux/ethtool.h> 0:12.79 int main() { 0:12.80 struct ethtool_cmd cmd; cmd.speed_hi = 0; 0:12.80 ; return 0; } 0:12.80 configure:20024: checking __attribute__ ((aligned ())) support 0:12.80 configure:21341: checking for java 0:12.80 configure:21390: checking for javac 0:12.80 configure:21439: checking for javah 0:12.80 configure:21488: checking for jar 0:12.80 configure:21537: checking for jarsigner 0:12.80 configure:21586: checking for keytool 0:12.80 configure: error: Windows SDK at c:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\ appears broken. 0:12.80 *** Fix above errors and then restart with\ 0:12.80 "c:/mozilla-build/mozmake/mozmake.EXE -f client.mk build" 0:12.80 c:/Users/cpearce/src/mozilla/orange/client.mk:361: recipe for target 'configure' failed 0:12.80 mozmake.EXE[2]: *** [configure] Error 1 0:12.81 c:/Users/cpearce/src/mozilla/orange/client.mk:375: recipe for target 'c:/Users/cpearce/src/mozilla/orange/objdir/config.status' failed 0:12.81 mozmake.EXE[1]: *** [c:/Users/cpearce/src/mozilla/orange/objdir/config.status] Error 2 0:12.81 client.mk:185: recipe for target 'build' failed 0:12.81 mozmake.EXE: *** [build] Error 2 0:12.85 643 compiler warnings present. 2
Comment 21•10 years ago
|
||
False alarm! This patch fixes the build for me with MozillaBuild1.9 final. My shortcut that I used to start MozillaBuild was pointing to a copy of the 1.9pre batch file that I'd hacked to work around an earlier issue on Win8, and thus it didn't have the fix in 1.9final that this patch relies on.
Comment 22•10 years ago
|
||
This patch fixes the build for me as well.
Updated•10 years ago
|
Summary: [MSVC10 Build bustage] 'd3dcompiler_47.dll': No such file or directory → [MSVC10 Build bustage] 'd3dcompiler_47.dll' or 'd3dcompiler_46.dll': No such file or directory
Comment on attachment 8417716 [details] [diff] [review] fix-missing-dll Looks fine, I agree with comment #19 though. More info in the message would be helpful, especially around MozillaBuild 1.9 final. "Expected to find $DLL at $LOCATION, but it does not exist. Upgrade to Mozilla Build 1.9 final, or fix your SDK install." or something
Attachment #8417716 -
Flags: feedback?(vladimir) → feedback+
Assignee | ||
Comment 24•10 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/3cebaabae096
Comment 26•10 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/3cebaabae096
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla32
You need to log in
before you can comment on or make changes to this bug.
Description
•