From: David Joiner (djoiner_at_kean.edu)
Date: Thu Feb 17 2011 - 19:57:13 CST

Sounds fun.

Right now I have both MS Visual C++ Express and Cygwin with gcc and
make installed. Versions are listed below.

Microsoft Visual Studio 2010
Version 10.0.30319.1 RTMRel
Microsoft .NET Framework
Version 4.0.30319 RTMRel

Installed Version: VC Express

bash-3.2$ gcc --version
gcc (GCC) 4.3.4 20090804 (release) 1
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

bash-3.2$ make --version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i686-pc-cygwin
bash-3.2$

Thanks!
Dave.

On Thu, Feb 17, 2011 at 3:40 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
>
> David,
> Compiling VMD for windows is quite involved, but if you're
> doing a CAVE build, there's really no alternative approach.
> The reason it is complex is because you first have to have all
> of the library depencies compiled and in-place, then the VMD plugins,
> and then VMD itself. The other thing to watch out for is that all
> of the libraries and VMD itself have to be compiled using the same
> runtime settings in the Microsoft tools, so that you don't have
> various kinds of DLL conflicts for MSVCRT.DLL, etc.
>
> If you're an experienced Windows developer, then none of this is
> news to you, but most people that ask about Windows compilation
> don't realize what they are actually getting into... :-)
>
> One problem you will have to resolve (I will be happy to try and help
> as much as possible):
> We have never compiled VMD with CAVElib support on Windows...
> Although VMD uses the standard CAVElib routines in most places,
> it makes extensive use of CAVElib-provided shared memory for storage
> of its internal scene graph (all of the geometry that gets drawn by
> the renderer worker processes/threads).
> I don't know if that functionality is replicated in the Windows versions
> of CAVElib or not. Even if it is, another complication is whether the
> Windows implementation of CAVElib is done using threads or with separate
> processes. VMD was written when CAVElib was always implemented with
> separate processes, and since the UIUC CAVEs have always run a process-based
> CAVElib, I don't know if there will be any hidden "gotchas" with
> unintentionally shared data between worker threads in a Windows CAVElib.
>
> To start out with, I think you'll have to compile VMD from source on Windows,
> and once you get that far, we can work on whatever CAVElib issues that arise
> after that.
>
> To build VMD on windows, you need to use the Cygwin utilities for GNU make,
> but the actual source code compilation is done using the Microsoft compilers.
>
> If you tell me what compiler versions you have installed, we can proceed
> from there.
>
> Cheers,
> John Stone
> vmd_at_ks.uiuc.edu
>
> On Thu, Feb 17, 2011 at 03:12:44PM -0500, David Joiner wrote:
>> I know this question has been asked before, but as the answer is
>> usually "Do you really want to do that?" (and the response is usually
>> "I guess not") I'll ask again.
>>
>> How do you compile VMD from source for Windows?
>>
>> I ask because I want to compile VMD with CAVElib options to run on a
>> Windows XP Cave.
>>
>> Dave Joiner
>
> --
> NIH Resource for Macromolecular Modeling and Bioinformatics
> Beckman Institute for Advanced Science and Technology
> University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801
> Email: johns_at_ks.uiuc.edu Phone: 217-244-3349
> WWW: http://www.ks.uiuc.edu/~johns/ Fax: 217-244-6078
>