Hey all,
Just got this error trying to build the latest version of the source from this AM. This one came from VS 2008 trying to build a x86 release.
1>[ 1%] Linking dynamic library built/bin/libp3dtool.dll
1>built/tmp/dtoolutil_gnu_getopt.obj : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
I’ve been able to build a 32bit release version for months now even though I’m running a 64bit OS. also it failed from the VS command line outside of the IDE as well. here’s the error.
[ 18%] Building C++ object built/tmp/cull_composite.obj
cull_composite.cxx
c:\panda_source\panda3d\built\include\geomvertexdata.i(191) : fatal error C1128:
number of sections exceeded object file format limit : compile with /bigobj
Storing dependency cache.
Elapsed Time: 14 min 15 sec
Anyone got any ideas?
~Andrew
rdb
April 29, 2010, 6:29pm
2
Hm, maybe we should do what the message says - add the bigobj flag. Locate this in makepanda.py:
OPTS=['DIR:panda/src/cull', 'BUILDING:PANDA']
Change that to the following:
OPTS=['DIR:panda/src/cull', 'BUILDING:PANDA', 'BIGOBJ']
Giving it a shot now, thanks. Any ideas on the first error? Seems weird that VS now gets confused between target platforms.
rdb
April 29, 2010, 6:40pm
4
I think makepanda is trying to be smart by adding the /MACHINE:X64 flag on 64-bits systems. Sorry, but I think the best solution here is to manually locate the occurrences of platform.architecture() in makepanda.py and makepandacore.py and commenting out where relevant.
Hrm, not really a paint to do that. Just wondering why it changed all of the sudden. No big deal, Thanks rdb.
rdb
April 29, 2010, 7:18pm
6
Hm, nothing changed with regards to that recently, actually. Maybe the way you’re building it, or the system/environment you’re building it on/in?
I wish there was some weird change that I made to my system and environment. Sadly I haven’t touched anything. Been building the same way since January. This is the first time in a few months that I tried to build the latest source from CVS though. I know there were some edits to makepanda recently, but you’re right I don’t think they could’ve affected this. I’ll dig around my system a bit more and let you know.
Also, I’m building without Dx9 and it’s still trying to build it. Weird.
[ 35%] Linking dynamic library built/bin/libpandadx9.dll
Creating library built/lib/libpandadx9.lib and object built/lib/libpandadx9.e
xp
dxgsg9_dxGraphicsStateGuardian9.obj : error LNK2019: unresolved external symbol
DXGetErrorStringA referenced in function "public: bool __cdecl DXGraphicsStateGu
ardian9::apply_vertex_buffer(class VertexBufferContext *,class DXShaderContext9
*,class GeomVertexArrayDataHandle const *,bool,class std::basic_string<char,stru
ct std::char_traits<char>,class std::allocator<char> >)" (?apply_vertex_buffer@D
XGraphicsStateGuardian9@@QEAA_NPEAVVertexBufferContext@@PEAVDXShaderContext9@@PE
BVGeomVertexArrayDataHandle@@_NV?$basic_string@DU?$char_traits@D@std@@V?$allocat
or@D@2@@std@@@Z)
dxgsg9_composite.obj : error LNK2001: unresolved external symbol DXGetErrorStrin
gA
dxgsg9_dxGraphicsStateGuardian9.obj : error LNK2019: unresolved external symbol
DXGetErrorDescriptionA referenced in function "public: bool __cdecl DXGraphicsSt
ateGuardian9::apply_vertex_buffer(class VertexBufferContext *,class DXShaderCont
ext9 *,class GeomVertexArrayDataHandle const *,bool,class std::basic_string<char
,struct std::char_traits<char>,class std::allocator<char> >)" (?apply_vertex_buf
fer@DXGraphicsStateGuardian9@@QEAA_NPEAVVertexBufferContext@@PEAVDXShaderContext
9@@PEBVGeomVertexArrayDataHandle@@_NV?$basic_string@DU?$char_traits@D@std@@V?$al
locator@D@2@@std@@@Z)
dxgsg9_composite.obj : error LNK2001: unresolved external symbol DXGetErrorDescr
iptionA
dxgsg9_dxGraphicsStateGuardian9.obj : error LNK2019: unresolved external symbol
D3DXGetPixelShaderProfile referenced in function "public: virtual void __cdecl D
XGraphicsStateGuardian9::reset(void)" (?reset@DXGraphicsStateGuardian9@@UEAAXXZ)
dxgsg9_dxGraphicsStateGuardian9.obj : error LNK2019: unresolved external symbol
D3DXGetVertexShaderProfile referenced in function "public: virtual void __cdecl
DXGraphicsStateGuardian9::reset(void)" (?reset@DXGraphicsStateGuardian9@@UEAAXXZ
)
dxgsg9_composite.obj : error LNK2019: unresolved external symbol D3DXAssembleSha
derFromFileA referenced in function "void __cdecl assemble_shader_test(char *)"
(?assemble_shader_test@@YAXPEAD@Z)
dxgsg9_composite.obj : error LNK2019: unresolved external symbol D3DXLoadSurface
FromMemory referenced in function "private: long __cdecl DXTextureContext9::fill
_d3d_texture_mipmap_pixels(int,int,enum _D3DFORMAT)" (?fill_d3d_texture_mipmap_p
ixels@DXTextureContext9@@AEAAJHHW4_D3DFORMAT@@@Z)
dxgsg9_composite.obj : error LNK2019: unresolved external symbol D3DXFilterTextu
re referenced in function "private: long __cdecl DXTextureContext9::fill_d3d_vol
ume_texture_pixels(struct DXScreenData &)" (?fill_d3d_volume_texture_pixels@DXTe
xtureContext9@@AEAAJAEAUDXScreenData@@@Z)
dxgsg9_composite.obj : error LNK2019: unresolved external symbol D3DXLoadVolumeF
romMemory referenced in function "private: long __cdecl DXTextureContext9::fill_
d3d_volume_texture_pixels(struct DXScreenData &)" (?fill_d3d_volume_texture_pixe
ls@DXTextureContext9@@AEAAJAEAUDXScreenData@@@Z)
dxgsg9_composite.obj : error LNK2001: unresolved external symbol IID_IDirectDraw
7
built/bin/libpandadx9.dll : fatal error LNK1120: 9 unresolved externals
Storing dependency cache.
Elapsed Time: 33 min 42 sec
Build terminated.
C:\Panda_source\panda3d> ^A^A
rdb
April 30, 2010, 6:40am
9
Hmm, if you passed --no-dx9, that compilation step should have been skipped.
Gogg has made various changes to makepanda recently, and is also familiar with the DirectX build stuff. Maybe he knows more.
Gogg
April 30, 2010, 7:41am
10
Could you share your full makepanda invocation?
makepanda --optimize 3 --everything --no-dx9 --no-dx8. This was from the VS command prompt.
I guess this thread died out…just restarting it to see if anyone came up with anything.
~Andrew[/u]