From: David Joiner (djoiner_at_kean.edu)
Date: Wed Mar 30 2011 - 10:04:46 CDT

John,

   Thanks for your help so far, I just wanted to ping you on this and
ask if you had a link to the VRJuggler port that ran in distributed
fashion. (Or is it already in the code from CVS?)

Dave

On Thu, Mar 24, 2011 at 10:38 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
>
> David,
>  I'm out of town so forgive my slow responses, I will be back next week.
> VMD is written for a shared memory CAVE currently.  The reason for this
> is that the MD trajectory data people want to view in VMD is usually HUGE,
> and few distributed CAVEs are built with enough RAM on all of the nodes
> to fully replicate that data.  This said, there was a VRJuggler port of
> VMD another group made previously, which added the necessary logic to
> copy the shared data to the other slave nodes.  From my point of view,
> this may be difficult to make that perform well for anything but display
> of static structures or a small handful of MD timesteps.  But, it might
> do "ok" if you have a fast network like InfiniBand between the nodes
> and you limit yourself to smallish molecular structures.
>
> Regarding your runs on a single node, the issue here may be related
> to the shared memory locking/sync code that's used in the current
> implementation, which is all based on POSIX threads.  How did you
> compile that stuff on Windows?
>
> I should be able to help you much more once I'm back in the office
> on Monday.
>
> Cheers,
>  John
>
> On Wed, Mar 23, 2011 at 12:14:26PM -0400, David Joiner wrote:
>> John,
>>
>> OK, so I had to take some time off of this to work on another project,
>> but I am trying to get VMD to run on a windows CAVE again.
>>
>> Things are compiling OK, but not running properly.
>>
>> I'm running on a distributed WindowsXP CAVE with shared memory on each
>> node, one node for the master process, and one node for 3 render
>> processes.
>>
>> I don't see anywhere in the VMD code where there is a actual call to
>> transfer data from one node to another (e.g. using  CAVEDistribRead,
>> etc.). Is VMD assuming nothing but shared memory?
>>
>> I tried running VMD directly on the render node w/out any Distrib
>> features in my cave configuration file, no luck. (this should have
>> relied on shared memory alone)
>>
>> Basically what I am getting is that I get the menus on the master
>> node, but no usable disply in the CAVE simulator on the master node. I
>> load up files, but the data (not even a VMD 3D text) never shows up on
>> the render nodes--just a blank screen (and in the CAVE itself I see a
>> "memory" image of whatever was running before)
>>
>> Dave
>>
>> On Wed, Feb 23, 2011 at 9:30 PM, David Joiner <djoiner_at_kean.edu> wrote:
>> > I used the 1.9beta1 binary install, and compiled the current CVS
>> > source, and also added a few more define statements when compiling,
>> > and it seems to be working now, so I have the ability to get a windows
>> > binary compiled from source.
>> >
>> > Next steps, adding in the CAVE features.
>> >
>> > Dave
>> >
>> > On Wed, Feb 23, 2011 at 11:31 AM, John Stone <johns_at_ks.uiuc.edu> wrote:
>> >>
>> >> Dav,
>> >>  Which source code did you compile from?  If you compiled from CVS or
>> >> from the 1.9beta1 source distribution, then you'd be better off installing
>> >> the VMD 1.9beta1 binary distribution rather than the old VMD 1.8.7
>> >> distribution.  If you have different source and binary installation
>> >> versions, the registry keys won't match, and this could cause the problem
>> >> you're describing.
>> >>
>> >> Cheers,
>> >>  John
>> >>
>> >> On Wed, Feb 23, 2011 at 11:20:35AM -0500, David Joiner wrote:
>> >>> OK, so I now have VMD running compiled from source on Windows, sort of.
>> >>>
>> >>> My extensions menu is completely empty if I run the version I compiled.
>> >>>
>> >>> I've made sure that I have the 1.8.7 plugins and vmd (though for some
>> >>> reason my config.h still claims the version is 1.9beta2).
>> >>>
>> >>> Dave
>> >>>
>> >>> On Tue, Feb 22, 2011 at 11:09 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
>> >>> >
>> >>> > David,
>> >>> >  It's a bit more complex than that.  When VMD starts up, it tries
>> >>> > to find its installation directory by querying the Windows registry
>> >>> > keys that are created by the VMD installer.  See the win32vmdstartup.c
>> >>> > source code for the details.  The easiest way to get the appropriate
>> >>> > registry keys set is just to install VMD on your system (must be
>> >>> > the same major and minor version that you're building the source for).
>> >>> > Once installed, you can replace the stock executable with your own...
>> >>> >
>> >>> > Cheers,
>> >>> >  John
>> >>> >
>> >>> > On Tue, Feb 22, 2011 at 11:06:24PM -0500, David Joiner wrote:
>> >>> >> OK, I fixed many of my problems, mostly related to not building tcl
>> >>> >> and tk as static instead of dynamic linking, and missing a few files
>> >>> >> in my MSVC solution.
>> >>> >>
>> >>> >> VMD starts a console and a viewing window, but fails to initialize any
>> >>> >> menu windows. There are a host of errors that look like the path to
>> >>> >> key configuration files are not known.
>> >>> >>
>> >>> >> I see that there is a batch file in the CVS tree under msvc for
>> >>> >> setting environment variables and starting winvmd, it looks like it is
>> >>> >> customized to a specific build environment. Should I just modify this,
>> >>> >> or is there a better script to use somewhere in the CVS tree?
>> >>> >>
>> >>> >> Thanks!
>> >>> >> Dave
>> >>> >>
>> >>> >> On Mon, Feb 21, 2011 at 10:51 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
>> >>> >> >
>> >>> >> > That would be something related to FLTK, maybe do a clean build there and
>> >>> >> > make sure there's nothing amiss with the FLTK build?
>> >>> >> >
>> >>> >> > Cheers,
>> >>> >> >  John
>> >>> >> >
>> >>> >> > On Mon, Feb 21, 2011 at 10:42:48PM -0500, David Joiner wrote:
>> >>> >> >> OK, I'm down to
>> >>> >> >>
>> >>> >> >> 1>------ Build started: Project: vmdtest2, Configuration: Release Win32 ------
>> >>> >> >> 1>GeometryFltkMenu.obj : error LNK2001: unresolved external symbol
>> >>> >> >> "class Fl_Graphics_Driver * fl_graphics_driver"
>> >>> >> >> (?fl_graphics_driver@@3PAVFl_Graphics_Driver@@A)
>> >>> >> >> 1>C:\vmd\CVS_VMD\vmd\msvc2010\vmdtest2\Release\vmdtest2.exe : fatal
>> >>> >> >> error LNK1120: 1 unresolved externals
>> >>> >> >> ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
>> >>> >> >>
>> >>> >> >>
>> >>> >> >> On Mon, Feb 21, 2011 at 10:28 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
>> >>> >> >> >
>> >>> >> >> > David,
>> >>> >> >> >  You're missing the "wsock32.lib" in your linkage.  If you add that,
>> >>> >> >> > it should cure most of the link errors.  The joyGetNumDevs() functions
>> >>> >> >> > are associated with the "winmm.lib".  If you add both of those, I think
>> >>> >> >> > that'll sort out all of the errors you listed.
>> >>> >> >> >
>> >>> >> >> > Cheers,
>> >>> >> >> >  John Stone
>> >>> >> >> >  vmd_at_ks.uiuc.edu
>> >>> >> >> >
>> >>> >> >> > On Mon, Feb 21, 2011 at 10:09:09PM -0500, David Joiner wrote:
>> >>> >> >> >> Gave up on trying to compile from within a cygwin shell and created an
>> >>> >> >> >> empty project in Visual C++ 2010, used the generated Makefile to try
>> >>> >> >> >> and figure out define statements, compiler options, etc.
>> >>> >> >> >>
>> >>> >> >> >> I've got it down to the following options during linking, any ideas
>> >>> >> >> >> what I am missing in the MSVC configuration?
>> >>> >> >> >>
>> >>> >> >> >> 1>------ Build started: Project: vmdtest2, Configuration: Release Win32 ------
>> >>> >> >> >> 1>GeometryFltkMenu.obj : error LNK2001: unresolved external symbol
>> >>> >> >> >> "class Fl_Graphics_Driver * fl_graphics_driver"
>> >>> >> >> >> (?fl_graphics_driver@@3PAVFl_Graphics_Driver@@A)
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__accept_at_12
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__listen_at_8
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__send_at_16
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__gethostbyname_at_4
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__closesocket_at_4
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__socket_at_12
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__bind_at_12
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__recv_at_16
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__shutdown_at_8
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__htons_at_4
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__select_at_20
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__inet_addr_at_4
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__WSAStartup_at_8
>> >>> >> >> >> 1>vmdsock.obj : error LNK2001: unresolved external symbol __imp__connect_at_12
>> >>> >> >> >> 1>Win32Joystick.obj : error LNK2001: unresolved external symbol
>> >>> >> >> >> __imp__joyGetNumDevs_at_0
>> >>> >> >> >> 1>Win32Joystick.obj : error LNK2001: unresolved external symbol
>> >>> >> >> >> __imp__joyGetDevCapsA_at_12
>> >>> >> >> >> 1>Win32Joystick.obj : error LNK2001: unresolved external symbol
>> >>> >> >> >> __imp__joyGetPosEx_at_8
>> >>> >> >> >> 1>C:\vmd\CVS_VMD\vmd\msvc2010\vmdtest2\Release\vmdtest2.exe : fatal
>> >>> >> >> >> error LNK1120: 18 unresolved externals
>> >>> >> >> >> ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
>> >>> >> >> >>
>> >>> >> >> >>
>> >>> >> >> >> On Sat, Feb 19, 2011 at 1:07 AM, David Joiner <djoiner_at_kean.edu> wrote:
>> >>> >> >> >> > MSVC 2010 wouldn't open the 2006 project file, so I tried to make
>> >>> >> >> >> > similar modifications to the Makefile as used for the WIN32 options in
>> >>> >> >> >> > the Makefile for plugins.
>> >>> >> >> >> >
>> >>> >> >> >> > Everything is compiling to object code w/out errors, but I am getting
>> >>> >> >> >> > the following errors when linking (I get hundreds of these with each
>> >>> >> >> >> > file). My guess is that there is some library I am not linking with
>> >>> >> >> >> > properly but I cannot tell which.
>> >>> >> >> >> >
>> >>> >> >> >> > Dave
>> >>> >> >> >> >
>> >>> >> >> >> > -----------------------------------------
>> >>> >> >> >> >
>> >>> >> >> >> > Animation.o
>> >>> >> >> >> > Animation.o(1) : error C2018: unknown character '0x1'
>> >>> >> >> >> > Animation.o(1) : error C2018: unknown character '0x1b'
>> >>> >> >> >> > Animation.o(1) : error C2018: unknown character '0x19'
>> >>> >> >> >> > Animation.o(1) : error C2018: unknown character '0x1'
>> >>> >> >> >> > Animation.o(1) : error C2146: syntax error : missing ';' before
>> >>> >> >> >> > identifier 'aAY_M8'
>> >>> >> >> >> > Animation.o(1) : error C4430: missing type specifier - int assumed.
>> >>> >> >> >> > Note: C++ does not support default-int
>> >>> >> >> >> > Animation.o(1) : error C2143: syntax error : missing ';' before '.'
>> >>> >> >> >> > Animation.o(1) : error C4430: missing type specifier - int assumed.
>> >>> >> >> >> > Note: C++ does not support default-int
>> >>> >> >> >> >
>> >>> >> >> >> >
>> >>> >> >> >> > On Fri, Feb 18, 2011 at 11:19 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
>> >>> >> >> >> >>
>> >>> >> >> >> >> David,
>> >>> >> >> >> >>  Look at the "build.csh" script in the top level plugins directory,
>> >>> >> >> >> >> and you'll see how I do the Win32 plugin builds on our machines.
>> >>> >> >> >> >> You can't use cygwin-style paths when you set TCLINC etc, as you
>> >>> >> >> >> >> are calling the MSVC compilers, which only accept Dos/Windows pathnames...
>> >>> >> >> >> >>
>> >>> >> >> >> >> Cheers,
>> >>> >> >> >> >>  John
>> >>> >> >> >> >>
>> >>> >> >> >> >> On Fri, Feb 18, 2011 at 11:10:37PM -0500, David Joiner wrote:
>> >>> >> >> >> >>> I've done a checkout from CVS, set my environment to allow me to use
>> >>> >> >> >> >>> cl.exe from within a Cygwin bash shell, and ran "make WIN32" in the
>> >>> >> >> >> >>> plugins directory. After a few changes to hesstrans/src/include.h
>> >>> >> >> >> >>> (iostream instead of iostream.h, etc.), I am getting to the point
>> >>> >> >> >> >>> where I am trying to compile hesstrans, and get the error pasted
>> >>> >> >> >> >>> below. The error is that I cannot find tcl.h. I am setting TCLINC, and
>> >>> >> >> >> >>> have checked that the file is where I think it is. I've tried both -I
>> >>> >> >> >> >>> and /I and have moved everything to a location with no spaces in
>> >>> >> >> >> >>> directory names.
>> >>> >> >> >> >>>
>> >>> >> >> >> >>> -------
>> >>> >> >> >> >>>
>> >>> >> >> >> >>> bash-3.2$ make WIN32 TCLINC=" /I/cygdrive/c/VMD/Tcl/include "; ls
>> >>> >> >> >> >>> /cygdrive/c/VMD/Tcl/include
>> >>> >> >> >> >>> Building Molecule File Reader plugins
>> >>> >> >> >> >>> hesstrans_wrap.C
>> >>> >> >> >> >>> src/hesstrans_wrap.C(298) : fatal error C1083: Cannot open include
>> >>> >> >> >> >>> file: 'tcl.h': No such file or directory
>> >>> >> >> >> >>> make[2]: *** [../compile/lib_WIN32/tcl/hesstrans1.0/hesstrans_wrap.o] Error 2
>> >>> >> >> >> >>> make[1]: *** [dynlibs] Error 1
>> >>> >> >> >> >>> make: *** [WIN32] Error 2
>> >>> >> >> >> >>> X11         tclPlatDecls.h     tk.h              tkPlatDecls.h
>> >>> >> >> >> >>> tcl.h       tclTomMath.h       tkDecls.h         tommath_class.h
>> >>> >> >> >> >>> tclDecls.h  tclTomMathDecls.h  tkIntXlibDecls.h  tommath_superclass.h
>> >>> >> >> >> >>> bash-3.2$
>> >>> >> >> >> >>>
>> >>> >> >> >> >>> On Fri, Feb 18, 2011 at 4:29 PM, David Joiner <djoiner_at_kean.edu> wrote:
>> >>> >> >> >> >>> > OK, so I have Tcl and Tk built using MSVC++ 2010 express from the MSVC
>> >>> >> >> >> >>> > console window using nmake for Tcl, and nmake TCLDIR=(tcl build
>> >>> >> >> >> >>> > directory) for Tk. I've built FLTK in MSVC++ 2010 Express within the
>> >>> >> >> >> >>> > IDE and have been able to run the demo program to confirm that it
>> >>> >> >> >> >>> > runs.
>> >>> >> >> >> >>> >
>> >>> >> >> >> >>> > Using fltk-1.3.x-r8441 I had to modify the FL_Device.h file to change
>> >>> >> >> >> >>> > the definition "friend void gl_start()" to "friend FL_EXPORT void
>> >>> >> >> >> >>> > gl_start()" to avoid an error with mismatched definitions.
>> >>> >> >> >> >>> >
>> >>> >> >> >> >>> > Dave
>> >>> >> >> >> >>> >
>> >>> >> >> >> >>> > On Fri, Feb 18, 2011 at 1:29 PM, John Stone <johns_at_ks.uiuc.edu> wrote:
>> >>> >> >> >> >>> >>
>> >>> >> >> >> >>> >> David,
>> >>> >> >> >> >>> >>  You'll need to use MSVC to compile everything.  The cygwin tools will
>> >>> >> >> >> >>> >> be used during the compile of the VMD plugins, but only for "make", it will
>> >>> >> >> >> >>> >> actually _run_ the MSVC compilers and not GCC...
>> >>> >> >> >> >>> >>
>> >>> >> >> >> >>> >> Cheers,
>> >>> >> >> >> >>> >>  John
>> >>> >> >> >> >>> >>
>> >>> >> >> >> >>> >> On Fri, Feb 18, 2011 at 01:17:38PM -0500, David Joiner wrote:
>> >>> >> >> >> >>> >>>    I've compiled ball.exe w/ cavelib on my dev machine and ran it on the
>> >>> >> >> >> >>> >>>    cave. I had to copy the most recent msvcr dll files over, but otherwise
>> >>> >> >> >> >>> >>>    that worked with no hiccups.
>> >>> >> >> >> >>> >>>
>> >>> >> >> >> >>> >>>    I'll work on the dependencies next. Should I build them in msvc or.cygwin?
>> >>> >> >> >> >>> >>>
>> >>> >> >> >> >>> >>>    Thanks!
>> >>> >> >> >> >>> >>>    Dave
>> >>> >> >> >> >>> >>>
>> >>> >> >> >> >>> >>>      On Feb 18, 2011 12:57 PM, "John Stone" <johns_at_ks.uiuc.edu> wrote:
>> >>> >> >> >> >>> >>>
>> >>> >> >> >> >>> >>>      David,
>> >>> >> >> >> >>> >>>       I would think that should be workable, although I'm only using
>> >>> >> >> >> >>> >>>      MSVS 2005 here, due to the need to link against various libraries.
>> >>> >> >> >> >>> >>>      For your puroses MSVS 2010 might work ok.  Before we get into it,
>> >>> >> >> >> >>> >>>      I assume for starters that you're able to compile and link CAVElib
>> >>> >> >> >> >>> >>>      demo apps using MSVS 2010, right?  Since your end-goal is to get
>> >>> >> >> >> >>> >>>      VMD running with the Windows CAVElib, I'd test to make sure that doesn't
>> >>> >> >> >> >>> >>>      have any issues with MSVS 2010 first.  If not, then the next thing is
>> >>> >> >> >> >>> >>>      to get your Tcl/Tk/FLTK builds for Windows going, as you need Tcl
>> >>> >> >> >> >>> >>>      to be compiled already before you can begin building the VMD plugins.
>> >>> >> >> >> >>> >>>      See if you can get those steps done first.
>> >>> >> >> >> >>> >>>
>> >>> >> >> >> >>> >>>      Cheers,
>> >>> >> >> >> >>> >>>       John
>> >>> >> >> >> >>> >>>
>> >>> >> >> >> >>> >>>      On Thu, Feb 17, 2011 at 08:57:13PM -0500, David Joiner wrote:
>> >>> >> >> >> >>> >>>      > Sounds fun.
>> >>> >> >> >> >>> >>>      >
>> >>> >> >> >> >>> >>>      > Right now I have b...
>> >>> >> >> >> >>> >>>
>> >>> >> >> >> >>> >>>      --
>> >>> >> >> >> >>> >>>
>> >>> >> >> >> >>> >>>      NIH Resource for Macromolecular Modeling and Bioinformatics
>> >>> >> >> >> >>> >>>      Beckman Institute for Advanced Science a...
>> >>> >> >> >> >>> >>
>> >>> >> >> >> >>> >> --
>> >>> >> >> >> >>> >> 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
>> >>> >> >> >> >>> >>
>> >>> >> >> >> >>> >
>> >>> >> >> >> >>
>> >>> >> >> >> >> --
>> >>> >> >> >> >> 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
>> >>> >> >> >> >>
>> >>> >> >> >> >
>> >>> >> >> >
>> >>> >> >> > --
>> >>> >> >> > 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
>> >>> >> >> >
>> >>> >> >
>> >>> >> > --
>> >>> >> > 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
>> >>> >> >
>> >>> >
>> >>> > --
>> >>> > 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
>> >>> >
>> >>
>> >> --
>> >> 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
>> >>
>> >
>
> --
> 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
>