View Issue Details

IDProjectCategoryView StatusLast Update
0002749FSSCPBuild systempublic2012-12-10 08:00
ReporterFUBAR-BDHR Assigned ToZacam  
PriorityimmediateSeverityblockReproducibilityalways
Status closedResolutionsuspended 
PlatformWindowsOSXPOS VersionXP 32 Pro
Product Version3.6.15 
Target Version3.6.15 
Summary0002749: unordered_map breaks compiling on VS2008
DescriptionTraced back to commit 9410. It seems that the following is where the issue occurs:

#ifndef WIN32
#include <tr1/unordered_map>
#else // WIN32
#include <unordered_map>
#endif // WIN32

It's hitting the <unordered_map> section when supposedly 2008 needs to hit the tr1 directory.
Steps To ReproduceTry to compile trunk on VS2008
TagsNo tags attached.

Relationships

related to 0002746 closedValathil Geometry batcher is highly inefficient 

Activities

Zacam

2012-12-10 00:54

administrator   ~0014395

Last edited: 2012-12-10 00:59

I compile on 2008 and I tested the map compilation before committing it.

I have no idea how or why you have run into this problem, but I'll investigate it.

Edit: Also, no it is not a case of it needing to hit the tr1/ location, because if it was, it would have hit that and broken on you well before now as the tr1/ was present since before the commit in question.

niffiwan

2012-12-10 01:23

developer   ~0014396

Last edited: 2012-12-10 01:53

Maybe the problem is the changes to isnan? That seems to have broken compilation for Linux. i.e. if I revert this change, I can compile again.

diff --git a/fs2_open/code/windows_stub/config.h b/fs2_open/code/windows_stub/config.h
index 2586d4b..fa44ba8 100644
--- a/fs2_open/code/windows_stub/config.h
+++ b/fs2_open/code/windows_stub/config.h
@@ -277,7 +277,7 @@ void strlwr(char *s);
 char *strnset( char *string, int fill, size_t count);
 
 // other stuff
-#define _isnan(f) isnan(f)
+#define _isnan(f) std::isnan(f)
 #define _hypot(x, y) hypot(x, y)
 
 int MulDiv(int number, int numerator, int denominator);


edit: actually no, probably isn't related at all, I'll raise the isnan thing in 0002746

Goober5000

2012-12-10 03:40

administrator   ~0014399

Last edited: 2012-12-10 03:42

Breaks on VS2005 as well.

EDIT:

../../code\globalincs/vmallocator.h(16) : fatal error C1083: Cannot open include file: 'unordered_map': No such file or directory

Zacam

2012-12-10 04:35

administrator   ~0014403

isnan was put in for Mac, so Echelon9 will have to co-ordinate with you on that one.

Compile occurs for FUBAR under 2008 with the addition of the MSVC 2008 Feature Pack: http://www.microsoft.com/en-us/download/details.aspx?id=6922

There may be a need to include some additional files for the older MSVC's to understand the function correctly.

chief1983

2012-12-10 07:30

administrator   ~0014404

The older MSVCs simply don't have the tr1 libs, or a feature pack for installing them. They're a C++0x thing, and weren't even themselves finalized until late 2005. I will try to install the feature pack on my end but I'm wary about requiring that because it seems there's also an associated redistributable for end users, not sure if they would all start having to install that too or what.

Zacam

2012-12-10 07:54

administrator   ~0014405

There is no redist for end users.

Regardless, pulled from Trunk r9420. Suggest that the code go on internal discussion for the best method approach that can be pre-tested across all compiling environments.

Goober5000

2012-12-10 07:59

administrator   ~0014406

One option is to roll our own hash map. I'm not saying we should write it from scratch (although we could), but we could crib it from boost or another online source without importing the entire set of libraries that would normally entail.

Issue History

Date Modified Username Field Change
2012-12-10 00:36 FUBAR-BDHR New Issue
2012-12-10 00:36 FUBAR-BDHR Status new => assigned
2012-12-10 00:36 FUBAR-BDHR Assigned To => chief1983
2012-12-10 00:54 Zacam Note Added: 0014395
2012-12-10 00:59 Zacam Note Edited: 0014395
2012-12-10 00:59 Zacam Assigned To chief1983 => Zacam
2012-12-10 01:23 niffiwan Note Added: 0014396
2012-12-10 01:53 niffiwan Note Edited: 0014396
2012-12-10 03:03 MjnMixael Relationship added related to 0002746
2012-12-10 03:40 Goober5000 Note Added: 0014399
2012-12-10 03:42 Goober5000 Note Edited: 0014399
2012-12-10 04:35 Zacam Note Added: 0014403
2012-12-10 07:30 chief1983 Note Added: 0014404
2012-12-10 07:54 Zacam Note Added: 0014405
2012-12-10 07:59 Goober5000 Note Added: 0014406
2012-12-10 08:00 Zacam Status assigned => closed
2012-12-10 08:00 Zacam Resolution open => suspended