Closed Bug 1050195 Opened 10 years ago Closed 8 years ago

unresolved external symbol _Direct3DCreate9@4 referenced in function "public: virtual int __thiscall rx::Renderer9::initialize(void)"

Categories

(Firefox Build System :: General, defect)

x86_64
Windows 8
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: alessarik, Unassigned)

References

Details

Attachments

(2 files)

User Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0 (Beta/Release)
Build ID: 20140716183446

Steps to reproduce:

Updating FireFox from m-c

.mozconfig:
ac_add_options --enable-application=browser
ac_add_options --enable-tests
ac_add_options --enable-debug
ac_add_options --disable-optimize
ac_add_options --disable-angle
ac_add_options --disable-webgl
ac_add_options --disable-gamepad
ac_add_options --disable-crypto
ac_add_options --enable-metro


Actual results:

23:20.73 libGLESv2.dll
23:21.40 Executing: link -NOLOGO -DLL -OUT:libGLESv2.dll -PDB:libGLESv2.pdb -SUBSYSTEM:WINDOWS -MACHINE:X86 @s:\FireFox\sourceSEVEN\obj-i686-pc-mingw3
2\gfx\angle\src\libGLESv2\tmpsk5ubm.list module.res -LARGEADDRESSAWARE -NXCOMPAT -DYNAMICBASE -SAFESEH -DEBUG -DEBUGTYPE:CV -DEF:s:/FireFox/sourceSEVE
N/gfx/angle/src/libGLESv2/libGLESv2.def /lib/x86/d3d9.lib /lib/x86/dxguid.lib -LIBPATH:../../../../dist/lib -NODEFAULTLIB:msvcrt -NODEFAULTLIB:msvcprt
 -DEFAULTLIB:mozcrt kernel32.lib user32.lib gdi32.lib winmm.lib wsock32.lib advapi32.lib secur32.lib netapi32.lib
23:21.40 s:\FireFox\sourceSEVEN\obj-i686-pc-mingw32\gfx\angle\src\libGLESv2\tmpsk5ubm.list:
23:21.40     glslang_lex.obj
23:21.40     glslang_tab.obj
23:21.40     loadimageSSE2.obj
23:21.40     Unified_cpp_angle_src_libGLESv20.obj
23:21.40     Unified_cpp_angle_src_libGLESv21.obj
23:21.40     Unified_cpp_angle_src_libGLESv22.obj
23:21.40     Unified_cpp_angle_src_libGLESv23.obj
23:21.40     Unified_cpp_angle_src_libGLESv24.obj
23:21.40     Unified_cpp_angle_src_libGLESv25.obj
23:21.41     Unified_cpp_angle_src_libGLESv26.obj
23:21.41     Unified_cpp_angle_src_libGLESv27.obj
23:21.41
23:21.41 LINK : warning LNK4044: unrecognized option '/lib/x86/d3d9.lib'; ignored
23:21.41
23:21.41 LINK : warning LNK4044: unrecognized option '/lib/x86/dxguid.lib'; ignored
23:21.41
23:21.41    Creating library libGLESv2.lib and object libGLESv2.exp
23:21.41
23:21.41 Unified_cpp_angle_src_libGLESv27.obj : error LNK2019: unresolved external symbol _Direct3DCreate9@4 referenced in function "public: virtual i
nt __thiscall rx::Renderer9::initialize(void)" (?initialize@Renderer9@rx@@UAEHXZ)
23:21.41
23:21.42 libGLESv2.dll : fatal error LNK1120: 1 unresolved externals


Expected results:

FireFox should be build correctly
Getting this too trying to build on Windows 8.1 with VS 2012.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Summary: unresolved external symbol _Direct3DCreate9@4 referenced in function "public: virtual i nt __thiscall rx::Renderer9::initialize(void)" → unresolved external symbol _Direct3DCreate9@4 referenced in function "public: virtual int __thiscall rx::Renderer9::initialize(void)"
Component: Untriaged → Build Config
Product: Firefox → Core
Looks like bug 1037667 is the problem.  Vlad, do you know how can get building with VS 2012 working again?

I tried building without --disable-webgl too by the way.
Blocks: 1037667
Flags: needinfo?(vladimir)
The problem is this: "/lib/x86/d3d9.lib /lib/x86/dxguid.lib". Those are missing a directory prefix. Do you have the latest Mozilla-build? There were changes in how the SDK directories are found, but I thought we had configure checks to let you know if something went wrong. 

(fwiw, I and others are building with 2012 with no problems.. I think the Metro builds are with 2012 also.)
Flags: needinfo?(vladimir)
I didn't have the latest mozilla-build, but I just updated to 1.10, clobbered and rebuilt and got the same error.  I shouldn't need to have the old DirectX SDK installed since I am using VS 2012, right?
No, you don't need it with 2012.
(In reply to Vladimir Vukicevic [:vlad] [:vladv] from comment #3)
> (fwiw, I and others are building with 2012 with no problems.. I think the
> Metro builds are with 2012 also.)
Before changes I made build with no problems too... But after...
I tried to update from m-c at least one time a week. Since one moment build was breaked.
You definitely shouldn't need the DX SDK.  Hrm.  In your objdir, can you look in config/autoconf.mk, and copy the values of MOZ_DIRECTX_SDK_PATH, MOZ_HAS_WINSDK_WITH_D3D, and MOZ_D3DCOMPILER_*?  (or really just attach autoconf.mk)
Attached file autoconf.mk
Are you building with --disable-webgl by any chance? If you are, don't do that.  I need to land the patch that nukes that option :/
No, after seeing in the comments in bug 1037667 about --disable-webgl not working any more I removed it from my mozconfig.
Hmm. Your autoconf.mk though has no MOZ_WEBGL=1 line, and your config.status has:

     (''' MOZ_WEBGL ''', r'''  '''),

So either you do still have --disable-webgl, or something else went badly wrong :/
Argh!  I had a MOZCONFIG variable set so I was changing the wrong .mozconfig file.  Having removed --disable-webgl from the file that is actually being used, I can successfully build again.  Thanks!

Maksim, can you confirm that removing --disable-webgl from your .mozconfig allows you to build again?
Flags: needinfo?(alessarik)
(In reply to Vladimir Vukicevic [:vlad] [:vladv] from comment #10)
> Are you building with --disable-webgl by any chance? If you are, don't do
> that.  I need to land the patch that nukes that option :/
Please, see instruction in https://developer.mozilla.org/en-US/docs/Windows_8
>If you don't install the DirectX SDK, add the following to your .mozconfig:
>   ac_add_options --disable-webgl
>   ac_add_options --disable-gamepad
(In reply to Cameron McCormack (:heycam) from comment #13)
> Maksim, can you confirm that removing --disable-webgl from your .mozconfig
> allows you to build again?
I have just updated sources one more time.
Looks like, now I can build FireFox with and without option --disable-webgl in .mozconfig
Flags: needinfo?(alessarik)
Building with VS2012 is no longer supported.
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → WONTFIX
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: