Windows Build Broken

Bug #1083269 reported by Rodolfo Ochoa
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Zorba
Fix Released
Critical
Rodolfo Ochoa

Bug Description

Error 21 error C2079: 'tb' uses undefined struct 'zorba::DateTime::getLocalTime::__timeb64' \src\zorbatypes\datetime\datetimetype.cpp 328 1 zorba_simplestore

Error 22 error C3861: '_ftime64_s': identifier not found \src\zorbatypes\datetime\datetimetype.cpp 329 1 zorba_simplestore

Related branches

Revision history for this message
Rodolfo Ochoa (rodolfo-ochoa) wrote :

test_hashmaps is still failing because of using maps with zstring as key, this is unacceptable for C++11 standard, and the last conversation through email lead to nothing, so, I'm putting std::string instead as key, after all, the key is what is being test in this case.

Changed in zorba:
assignee: nobody → Rodolfo Ochoa (rodolfo-ochoa)
Revision history for this message
Paul J. Lucas (paul-lucas) wrote :

The failure-to-compile in test_hashmaps has nothing to do with the C++11 standard. The only reason it doesn't work is because Markos didn't include the necessary header to define std::hash() for zstring which is util/hash/hash.h.

Revision history for this message
Chris Hillery (ceejatec) wrote :

Paul - Rodolfo was able to get things going with your change; thanks.

However, in order to do this, he had to force the compilation of src/util/hash/* by removing the check at the bottom of src/util/CMakeLists.txt. Currently this directory is omitted if ZORBA_HAVE_UNORDERED_MAP or ZORBA_HAVE_UNORDERED_SET are true, and both are true on Windows.

This doesn't seem quite right; I assume that the checks for ZORBA_HAVE_UNORDERED_MAP/HASH are there for a reason. Can you tell us what the Right Thing To Do(tm) is here, in addition to adding the #include you mentioned?

1. Add src/util/hash/* to the project all the time?
2. Skip adding test_hashmap to the project if ZORBA_HAVE_UNORDERED_MAP/HASH are set?
3. Something else?

Assign this back to Rodolfo with the instructions.

Changed in zorba:
assignee: Rodolfo Ochoa (rodolfo-ochoa) → Paul J. Lucas (paul-lucas)
Revision history for this message
Chris Hillery (ceejatec) wrote :

Bumping the priority high since this is preventing any development on Windows.

Changed in zorba:
status: New → Confirmed
importance: Undecided → Critical
milestone: none → 2.8
Revision history for this message
Paul J. Lucas (paul-lucas) wrote :

OK, there was one small problem that was my fault: hash.cpp (and only hash.cpp) should always be compiled. I've fixed that in the CMakeLists.txt files.

However, as I've been saying repeatedly: Markos' test_hashmaps.cpp file is testing *hashmaps* and not zstring, so there's no reason why he *must* use zstring there -- std::string will do just fine. I've replaced zstring there with std::string.

Assigning back to Rodolfo. (I have no easy way to test this on Windows.)

Changed in zorba:
assignee: Paul J. Lucas (paul-lucas) → Rodolfo Ochoa (rodolfo-ochoa)
status: Confirmed → In Progress
Changed in zorba:
status: In Progress → Fix Committed
Changed in zorba:
milestone: 2.8 → 2.9
Chris Hillery (ceejatec)
Changed in zorba:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.