Bug #936

ThreadMPI on VS2008 doesn't compile

Added by Roland Schulz over 8 years ago. Updated over 6 years ago.

core library
Target version:
Affected version - extra info:
Affected version:


Both with VS2008 and Intel compiler (using VS2008 environment) thread mpi doesn't compile.

During cmake:
-- Performing Test HAVE_PROCESSOR_NUMBER - Failed

And then build:
D:\jenkins-build\workspace\Gromacs_Gerrit_4_6_xml\9b9bd2d0\gromacs\src\gmxlib\thread_mpi\winthreads.c(121) : error C2016: C requires that a struct or union has at least one member
D:\jenkins-build\workspace\Gromacs_Gerrit_4_6_xml\9b9bd2d0\gromacs\src\gmxlib\thread_mpi\winthreads.c(121) : error C2061: syntax error : identifier 'PROCESSOR_NUMBER'
D:\jenkins-build\workspace\Gromacs_Gerrit_4_6_xml\9b9bd2d0\gromacs\src\gmxlib\thread_mpi\winthreads.c(122) : error C2061: syntax error : identifier 'GroupAffinity'

Related issues

Related to GROMACS - Task #948: C++ thread synchronization primitivesNew


#1 Updated by Roland Schulz over 8 years ago

Sander, is it planned to fix this issue? requires that thread_mpi can build with VS2008. If we want to always build thread_mpi in 5.0 and don't want to fix this issue, then we could also decide that we don't support VS2008 in 5.0. The ICC configuration in Jenkins is effected too, but that's simply because it also uses VS2008. I could change it easily that ICC is build using VS2010 instead of VS2008.

#2 Updated by Sander Pronk over 8 years ago

Yes - I'm surprised it doesn't work, because I remember testing it. I'll try to fix this tomorrow (Tuesday).

#3 Updated by Roland Schulz over 8 years ago

Sander will you have time to look at this issue? Otherwise I might need to disable the VS2008 Jenkins build so that patches which don't build because of this bug can be submitted. I think it might also be reasonable to drop VS2008 support for 5.0.

#4 Updated by Sander Pronk about 8 years ago

I've just checked, and gromacs 4.5 compiles successfully on MSVS2008, on Server 2008. One thing I do remember having to install a while ago is an updated Windows SDK for Windows - this might have newer APIs for thread affinity.

#5 Updated by Roland Schulz about 8 years ago

How can I check which version is installed on the Jenkins Server? Or Szilard, do you know?

#6 Updated by Sander Pronk about 8 years ago

You can look for it in the 'Programs and Features' or 'Add Software' control panel. If it isn't there, you probably have an out-of-date version.

#7 Updated by Roland Schulz about 8 years ago

Not sure which control panel you mean.
dir "%ProgramFiles%\Microsoft SDKs\Windows" gives:
03/06/2012 09:44 PM <DIR> v5.0
03/06/2012 09:41 PM <DIR> v6.0A
03/06/2012 07:10 PM <DIR> v7.0A

#8 Updated by Roland Schulz about 8 years ago

  • Status changed from New to Closed

Closing because VS2008 isn't important anymore. As discussed today on gmx-core only if anyone volunteers VS2008 bugs are fixed.

#9 Updated by Teemu Murtola over 6 years ago

  • Category set to core library
  • Status changed from Closed to Rejected
  • Affected version set to 5.0

Also available in: Atom PDF